Docs Blog Sign in

Contacts

Contacts represent the customers who submit tickets to your helpdesk.

The contact object

AttributeTypeDescription
idstringUnique identifier
namestringContact name (max 128 characters)
emailstringContact email address (max 128 characters)
organizationIdstring | nullAssociated organization ID
organizationNamestring | nullAssociated organization name
notesstring | nullFree-text notes
ticketCountintegerNumber of tickets from this contact
createdAtstringCreation time (ISO 8601 UTC)

List contacts

GET /helpdesk/api/contacts

Returns a paginated list of contacts.

Query parameters

ParameterTypeRequiredDescription
searchstringnoSearch by name or email
organization_idstringnoFilter by organization
sort_bystringnoname, email, created_at (default: created_at)
sort_orderstringnoasc or desc (default: desc)
pageintegernoPage number (default: 1)
limitintegernoResults per page (default: 15, max: 100)

Response

{
  "success": true,
  "data": [ ... ],
  "meta": { "page": 1, "limit": 15, "total": 42, "totalPages": 3 }
}

Retrieve a contact

GET /helpdesk/api/contacts/:contactId

Find by email

GET /helpdesk/api/contacts/by-email/:email

Returns the contact matching the email address, or null if not found.

Create a contact

POST /helpdesk/api/contacts

Requires agent role or above.

Request body

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "organizationId": "org_abc123",
  "notes": "VIP customer"
}
FieldTypeRequiredDescription
namestringyesContact name
emailstringyesEmail address
organizationIdstringnoOrganization to associate
notesstringnoFree-text notes

Response

Returns 201 Created with the contact object.

Update a contact

PATCH /helpdesk/api/contacts/:contactId

Requires agent role or above. All fields are optional.

Delete a contact

DELETE /helpdesk/api/contacts/:contactId

Requires agent role or above. Returns 204 No Content. Does not delete the contact’s tickets.