Skip to main content

Create a Subproject

Request:
{
  "service": "subproject.create",
  "subproject": {
    "name": "Prototype",
    "project": {"id": 321}
  }
}
Response:
{
  "status": "ok",
  "id": 765
}

Get a Subproject

Request:
{
  "service": "subproject.get",
  "id": 765
}
Response:
{
  "status" : "ok",
  "subproject" : {
    "id" : 765,
    "name" : "Prototype",
    "project" : {"id" : 765},
    "active" : true
  }
}

Update a Subproject

Request:
{
  "service" : "subproject.update",
  "subproject" : {
    "id" : 765,
    "name" : "newName"
  }
}
Response:
{"status" : "ok"}

List Subprojects

Request:
{
  "service": "subproject.list",
  "project" : {"id" : 765}
}
Response:
{
  "status": "ok",
  "subprojects": [
    {
      "id" : 765,
      "name" : "Prototype",
      "project" : {"id" : 765},
      "active" : true
    }, ...
  ]
}

Activate a Subproject

Request:
{
  "service": "subproject.activate",
  "id": 765
}
Response:
{"status": "ok"}

Deactivate a Subproject

Request:
{
  "service": "subproject.deactivate",
  "id": 765
}
Response:
{"status": "ok"}

Assign a Specific Task to a Subproject

Request:
{
  "service" : "subproject.attach_specific_task",
  "id" : 86,
  "task" : {
    "id" : 43
  }
}
Response:
{"status" : "ok"}

Unassign a Specific Task to a Subproject

Request:
{
  "service" : "subproject.detach_specific_task",
  "id" : 86,
  "task" : {
    "id" : 43
  }
}
Response:
{"status" : "ok"}

List Specific Tasks Assigned to a Subproject

Request:
{
  "service" : "subproject.specific_tasks",
  "id" : 86
}
Response:
{
 "status" : "ok",
 "disabled" : false,  //default : false
 "specificTasks": [
   {
     "name" : "Administration",
     "id" : 345,
     "active":true
   }, ...
 ]
}

Enable Specific Tasks for a Subproject (enabled by default)

Request:
{
  "service" : "subproject.enable_specific_tasks",
  "id" : 78
}
Response:
{"status" : "ok"}

Disable Specific Tasks for a Subproject

Request:
{
  "service" : "subproject.disable_specific_tasks",
  "id" : 78
}
Response:
{"status" : "ok"}

Assign an Exclusive Member to a Subproject

Request:
{
  "service" : "subproject.attach_member",
  "id" : 765,
  "person" : {  // "person" or "group"
    "id" : 43
  }
}
Response:
{"status" : "ok"}

Unassign an Exclusive Member to a Subproject

Request:
{
  "service" : "subproject.detach_member",
  "id" : 765,
  "person" : {  // "person" or "group"
    "id" : 43
  }
}
Response:
{"status" : "ok"}

List Exclusive Members Assigned to a Subproject

Request:
{
  "service" : "subproject.members",
  "id" : 765
}
Response:
{
 "status" : "ok",
 "members": [
   {
     "name" : "Peter Flemming",
     "id" : 350
   }, ...
 ],
 "groups": [
   {
     "name" : "US",
     "id" : 978
   }, ...
 ]
}

Assign a Group to a Subproject

Request:
{
  "service" : "subproject.add_group",
  "id" : 78,
  "group" : {
    "id" : 105
  }
}
Response:
{"status": "ok"}

Unassign a Group to a Subproject

Request:
{
  "service" : "subproject.remove_group",
  "id" : 78,
  "group" : {
    "id" : 105
  }
}
Response:
{"status": "ok"}

List Groups Assigned to a Subproject

Request:
{
  "service" : "subproject.groups",
  "id" : 78
}
Response:
{
  "status":"ok",
  "groups":[
    {
      "id":4787,
      "name":"US",
      "groups":{"count":4}
    }, ...
  ]
}

Set a Custom Field Value to a Subproject

Request:
{
  "service" : "subproject.set_custom_field_value",
  "id" : 78,
  "customField" : {
    "id" : 4879,
    "value" : "Salt Lake City, UT, USA"
  }
}
Response:
{"status": "ok"}

Clear a Subproject Custom Field Value

Request:
{
  "service" : "subproject.clear_custom_field_value",
  "id" : 78,
  "customField" : {
    "id" : 4879
  }
}
Response:
{"status": "ok"}

List Custom Fields Assigned to a Subproject

Request:
{
  "service" : "subproject.custom_fields",
  "id" : 78
}
Response:
{
  "status":"ok",
  "customFields":[
    {
      "id" : 4879,
      "name" : "location",
      "value" : "Salt Lake City, UT, USA"
    }, ...
  ]
}