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
...
]
}
}
{
"status": "ok",
"id": 455
}
Get a Person
Request:{
"service": "person.get",
"id": 455
}
{
"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
...
]
}
}
{"status" : "ok"}
List Persons
Request:{
"service": "person.list",
"company" : {"id" : 233}
}
{
"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
}
{
"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
}
{"status": "ok"}
Deactivate a Person
Request:{
"service": "person.deactivate",
"id": 455
}
{"status": "ok"}
Assign a Group to a Person
Request:{
"service" : "person.add_group",
"id" : 78,
"group" : {
"id" : 105
}
}
{"status": "ok"}
Unassign a Group to a Person
Request:{
"service" : "person.remove_group",
"id" : 78,
"group" : {
"id" : 105
}
}
{"status": "ok"}
List Groups Assigned to a Person
Request:{
"service" : "person.groups",
"id" : 78
}
{
"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"
}
}
{"status": "ok"}
Clear a Person Custom Field Value
Request:{
"service" : "person.clear_custom_field_value",
"id" : 78,
"customField" : {
"id" : 4879
}
}
{"status": "ok"}
List Custom Fields Assigned to a Person
Request:{
"service" : "person.custom_fields",
"id" : 78
}
{
"status":"ok",
"customFields":[
{
"id" : 4879,
"name" : "location",
"value" : "Salt Lake City, UT, USA"
}, ...
]
}