Contacts

People at customers.

MethodPathSummary
GET/v1/app/psa/contactsList contacts
POST/v1/app/psa/contactsCreate contact
POST/v1/app/psa/contacts/:idUpdate contact
POST/v1/app/psa/contacts/:id/deleteDelete contact

#List contacts

GET/v1/app/psa/contacts
Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.

Response 200

FieldTypeDescription
contactsarray of object
contacts[].idinteger
contacts[].tenant_idinteger
contacts[].customer_idinteger, or null
contacts[].first_namestring
contacts[].last_namestring
contacts[].emailstring, or null
contacts[].phonestring, or null
contacts[].job_titlestring, or null
contacts[].notesstring, or null
contacts[].created_atstring (date-time), or null
contacts[].updated_atstring (date-time), or null
contacts[].mobilestring, or null
contacts[].contact_typestring, or null
contacts[].location_idinteger, or null
contacts[].is_importantboolean
contacts[].customer_namestring
Example response
JSON
{
  "contacts": [
    {
      "id": 42,
      "tenant_id": 1,
      "customer_id": 7,
      "first_name": "Alex",
      "last_name": "Morgan",
      "email": "alex@example.com",
      "phone": "string",
      "job_title": "Example job title",
      "notes": "string",
      "created_at": "2026-11-12T09:30:00.000Z",
      "updated_at": "2026-11-12T09:30:00.000Z",
      "mobile": "string",
      "contact_type": "string",
      "location_id": 7,
      "is_important": true,
      "customer_name": "Example customer name"
    }
  ]
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create contact

POST/v1/app/psa/contacts
Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.

Request body JSON

NameTypeDescription
first_namerequiredstring
last_namerequiredstring
emailstring
phoneany
job_titlestring
notesarray of any
customer_idinteger

Response 200

FieldTypeDescription
contactany
Example response
JSON
{
  "contact": null
}

Errors

StatusMessage
400first_name and last_name required

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Alex","last_name":"Morgan","email":"alex@example.com","phone":"…","job_title":"Example job title","notes":[],"customer_id":7}'

#Update contact

POST/v1/app/psa/contacts/:id
Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
first_namestring
last_namestring
emailstring
phoneany
job_titlestring
notesarray of any
customer_idinteger

Response 200

FieldTypeDescription
contactany
Example response
JSON
{
  "contact": null
}

Errors

StatusMessage
404Contact not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts/42' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Alex","last_name":"Morgan","email":"alex@example.com","phone":"…","job_title":"Example job title","notes":[],"customer_id":7}'

#Delete contact

POST/v1/app/psa/contacts/:id/delete
Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts/:id/delete
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
successboolean
Example response
JSON
{
  "success": true
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/contacts/42/delete' \
  -H "X-API-Key: $BRAMBLE_KEY"