Skip to main content

Create a Group

Request:
{
  "service": "group.create",
  "group": {
    "name": "Texas",
    "parent": {"id": 4787} //optional: if not present, the group will be created at the root level
  }
}
Response:
{
  "status": "ok",
  "id": 1005
}

Get a Group

Request:
{
  "service": "group.get",
  "id": 1005
}
Response:
{
  "status" : "ok",
  "group" : {
    "id" : 1005,
    "name" : "Texas",
    "parent" : {"id" : 4787}
  }
}

Update a Group

Request:
{
  "service" : "group.update",
  "group" : {
    "id" : 1005,
    "name" : "Texas - Austin"
  }
}
Response:
{"status" : "ok"}

Delete a Group

Request:
{
  "service" : "group.delete",
  "id" : 1005,
  "force" : true //optional:  default is false. Force deletion even when the group has been assigned to entities
  }
}
Response:
{"status" : "ok"}

List Groups Assigned to an Entity

Request:
{
  "service": "group.list",
  "company" : {"id" : 233} // "absence", "company", "project", "subproject", "task" or "person"
}
Response:
{
  "status": "ok",
  "groups":[
    {
      "id":4787,
      "name":"US",
      "groups":{"count":4}
    }, ...
  ]
}

List Entities Assigned to a Group

Request:
{
  "service": "group.assignments",
  "id" : 4787 // group id
}
Response:
{
  "status": "ok",
  "companies": [
    {
      "id" : 233,
      "name" : "myCompany",
      "active" : true
    }, ...
  ],
  "people": [
    {
      "id": 455,
      "name" : "Rosa Parks",
      "active" : true,
      "email": "rosa.parks@example.com"
    }, ...
  ],
  ...     //"companies", "projects", "subprojects", "tasks", "people", "absences"
}

Groups Tree

Request:
{
  "service": "group.tree"
}
Response:
{
  "groups": [
    {
      "id":4521,
      "name":"Country",
      "groups":[
        {
          "id":4787,
          "name":"US"
        }
      ]
    }
  ]
}