Contacts

Contacts represent individuals belonging to Clients. In many cases, if a Contact is a Client, the Contact is where the email and other important information for the client whereas the Client is just a shell container.

Get All Contacts

GET /api/v2/contacts
{
  "page_count": 1,
  "page_size": 10,
  "total_count": 8,
  "contacts": [
    {
      "name": "John Doe"
      "ext": "1234"
      "title": "Product Manager"
      "id": 495
      "client_id": 117
      "mobile": "123-456-7891"
      "phone": "123-456-7890"
      "avatar": "default_avatars/avatars/missing_original.jpg"
      "email": "jdoe@example.com"
    },
    ...
  ]
}
GET /api/v2/contacts?page=2

On a normal bulk GET Clientary will return 10 client results at once. To paginate through more results, you can use the page parameter.

GET /api/v2/contacts?page_size=50

You may also use a different page_size parameter. The maximum allowed page_size is 100.

GET /api/v2/clients/:client_id/contacts

Since Contacts are a nested resource of Clients, you may ask for Contacts specific to a client.

Get A Contact

GET /api/v2/contacts/:id
{
  "name": "John Doe"
  "ext": "1234"
  "title": "Product Manager"
  "id": 495
  "client_id": 117
  "mobile": "123-456-7891"
  "phone": "123-456-7890"
  "avatar": "default_avatars/avatars/missing_original.jpg"
  "email": "jdoe@example.com"
}

Create A New Contact

POST /api/v2/clients/:client_id/contacts

A client_id must be provided since a Contact must exist within a Client

{
  "client_user": {
    "name": "John Doe",
    "email": "jdoe@example.com"
  }
}

Required Fields: name, email (HTTP 422 on failure)
Other Requirements: must meet plan limits (HTTP 426 on failure)

Update A Contact

PUT /api/v2/contacts/:id

You may provide a partial list of fields to update

{
  "client_user": {
    "title": "Software Developer"
  }
}

Delete A Contact

DELETE /api/v2/contacts/:id

Deleting a contact will result in the deletion of all associated comments.