Skip to main content

Create a Person

Request:
{
  "service": "person.create",
  "person": {
    "name": "Rosa Parks",
    "company": {"id": 233},
    "email": "rosa.parks@example.com",      // optional: a user with this email as username will be created
    "invite": true,                         // optional: when email is present, invite the user (email)
    "userGroup": "employee",                // optional: define the user group.  Permitted values :
                                            // "admin",
                                            // "contractor",
                                            // "employee"(default),
                                            // "pm"(Project Manager),
                                            // "leader"(Team Leader)

    "leaders": [
      {                                     // optional: the person will be linked to one or more team leaders
        "id": 32,                           //
        "name": "Jane Clark",               // you can use either the id(or xid), name, email or all fields
        "email": "jane.clark@example.com"   // in order to retrieve the team leader
      },                                    // if all mentioned : id>xid>email>name
      ...
    ]                                      
  }
}
Response:
{
  "status": "ok",
  "id": 455
}

Get a Person

Request:
{
  "service": "person.get",
  "id": 455
}
Response:
{
  "status" : "ok",
  "person" : {
    "id" : 455,
    "name" : "Rosa Parks",
    "company" : {"id" : 233},
    "active" : true,
    "email": "rosa.parks@example.com",
    "userGroup": "employee",
    "leaders" : {"count" : 1}
  }
}

Update a Person

Request:
{
  "service": "person.update",
  "person": {
    "id": 455,
    "name": "Rosa Parks",
    "email": "rosa.parks@example.com",      //optional: the person email and username will be updated
    "invite": true,                         //optional: when email is present, invite the user (email)
    "userGroup": "employee",                //optional: update the user group.  Permitted values :
                                            // "admin",
                                            // "contractor",
                                            // "employee"(default),
                                            // "pm"(Project Manager),
                                            // "leader"(Team Leader)

    "leaders": [
      {                                     //optional: the person will be linked to one or more team leaders
        "id": 32,                           //
        "name": "Jane Clark",               // you can use either the id(or xid), name, email or all fields
        "email": "jane.clark@example.com"   // in order to retrieve the team leader
      },                                    // if all mentioned : id>xid>email>name
      ...
    ]                                      

  }
}
Response:
{"status" : "ok"}

List Persons

Request:
{
  "service": "person.list",
  "company" : {"id" : 233}
}
Response:
{
  "status": "ok",
  "people": [
    {
      "id": 455,
      "name" : "Rosa Parks",
      "company": {"id" : 233},
      "active" : true,
      "email": "rosa.parks@example.com",
      "userGroup": "employee",
      "leaders" : {"count" : 1}
    }, ...
  ]
}

List Team Leaders of a Person

Request:
{
  "service": "person.leaders",
  "id" : 455
}
Response:
{
  "status": "ok",
  "leaders": [
    {
      "id": 32,
      "name" : "Jane Clark",
      "company": {"id" : 233},
      "active" : true,
      "email": "jane.clarks@example.com",
      "userGroup": "leader",
      "leaders" : {"count" : 1}
    }, ...
  ]
}

Activate a Person

Request:
{
  "service": "person.activate",
  "id": 455
}
Response:
{"status": "ok"}

Deactivate a Person

Request:
{
  "service": "person.deactivate",
  "id": 455
}
Response:
{"status": "ok"}

Assign a Group to a Person

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

Unassign a Group to a Person

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

List Groups Assigned to a Person

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

Set a Custom Field Value to a Person

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

Clear a Person Custom Field Value

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

List Custom Fields Assigned to a Person

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