Open HelpDesk API
Run in Postman
  • Getting started
  • Assistants
  • API reference
Information
Tickets
    List ticketsgetCreate a ticketpostRead a ticketgetUpdate a ticketpatchList a ticket's messagesgetAdd a reply or an internal notepostList every file on a ticketget
Contacts
    List contactsgetCreate a contactpostRead a contactgetDelete a contact (GDPR erasure)deleteUpdate a contactpatch
Organizations
    List organizationsgetCreate an organizationpostRead an organizationgetDelete an organizationdeleteUpdate an organizationpatch
Knowledge base
    List categoriesgetList articlesgetCreate an articlepostRead an articlegetDelete an articledeleteUpdate an articlepatch
Attachments
    Download a fileget
Workspace
    List agentsgetList teamsgetList macrosgetList SLA policiesgetList saved viewsgetList custom ticket fieldsgetList tags in usegetList satisfaction responsesget
Mobile
    Mark a ticket readpostSign in on a devicepostStart an SSO sign-in from the appgetFinish an SSO sign-inpostSign this device outpostThe agent this device is signed in asgetTake work, or stop taking workpatchRegister for push notificationspostStop notifying this devicedeleteWhat happened on my tickets while I was awaygetMark everything readpostSearch tickets, contacts, organizations and articlesget
Customer app
    Email a customer their sign-in linkpostHand an emailed sign-in over to the appgetFinish a customer sign-inpostSign this device outpostThe customer this device is signed in asgetThe requests a customer may seegetSubmit a requestpostRead a request and its conversationgetAnswer on your own requestpostRegister for push notificationspostStop notifying this devicedeleteNews about my requestsgetMark everything readpost
Schemas
powered by Zudoku
Open HelpDesk API
Open HelpDesk API

Contacts

The people who write in.


List contacts

GET
https://{workspace}.open-helpdesk.com/api/v1
/contacts

List contacts › query Parameters

limit
​integer · min: 1 · max: 100

Rows per page.

Default: 25
cursor
​string

The next_cursor of the previous page.

email
​string · email

Exact address.

List contacts › Responses

List contacts

​Contact[] · required
next_cursor
​string · required

Pass back as cursor for the next page. Null on the last page.

GET/contacts
curl 'https://{workspace}.open-helpdesk.com/api/v1/contacts' \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83", "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89", "locale": "fr", "blocked": true, "custom_fields": {}, "created_at": "2024-08-25T15:00:00Z" } ], "next_cursor": "next_cursor" }
json
application/json

Create a contact

POST
https://{workspace}.open-helpdesk.com/api/v1
/contacts

Idempotent by email: an address that already exists comes back with 200, not a duplicate.

Create a contact › Request Body

email
​string · email · required
name
​string
phone
​string

Create a contact › Responses

The existing contact.

Contact
id
​string · uuid
email
​string · email
name
​string
phone
​string
locale
​string
blocked
​boolean
​object
created_at
​string · date-time
POST/contacts
curl 'https://{workspace}.open-helpdesk.com/api/v1/contacts' \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89" }'
Example Request Body
{ "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89" }
json
Example Responses
{ "id": "3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83", "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89", "locale": "fr", "blocked": true, "custom_fields": {}, "created_at": "2024-08-25T15:00:00Z" }
json
application/json

Read a contact

GET
https://{workspace}.open-helpdesk.com/api/v1
/contacts/{id}

Read a contact › path Parameters

id
​string · uuid · required

The contact id.

Example: 3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83

Read a contact › Responses

Success.

Contact
id
​string · uuid
email
​string · email
name
​string
phone
​string
locale
​string
blocked
​boolean
​object
created_at
​string · date-time
GET/contacts/{id}
curl 'https://{workspace}.open-helpdesk.com/api/v1/contacts/:id' \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83", "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89", "locale": "fr", "blocked": true, "custom_fields": {}, "created_at": "2024-08-25T15:00:00Z" }
json
application/json

Delete a contact (GDPR erasure)

DELETE
https://{workspace}.open-helpdesk.com/api/v1
/contacts/{id}

Refused with 409 while the person still has tickets, unless delete_tickets=true is passed — erasing a support history should be asked for, not inferred. To merely stop someone writing in, set blocked instead.

Delete a contact (GDPR erasure) › path Parameters

id
​string · uuid · required

The contact id.

Example: 3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83

Delete a contact (GDPR erasure) › query Parameters

delete_tickets
​boolean

Also erase their tickets.

Delete a contact (GDPR erasure) › Responses

Deleted.

No data returned
DELETE/contacts/{id}
curl 'https://{workspace}.open-helpdesk.com/api/v1/contacts/:id' \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Update a contact

PATCH
https://{workspace}.open-helpdesk.com/api/v1
/contacts/{id}

Update a contact › path Parameters

id
​string · uuid · required

The contact id.

Example: 3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83

Update a contact › Request Body

email
​string · email
name
​string
phone
​string
locale
​string
blocked
​boolean
​object

Update a contact › Responses

Success.

Contact
id
​string · uuid
email
​string · email
name
​string
phone
​string
locale
​string
blocked
​boolean
​object
created_at
​string · date-time
PATCH/contacts/{id}
curl 'https://{workspace}.open-helpdesk.com/api/v1/contacts/:id' \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "email": "test@example.com", "name": "name", "phone": "phone", "locale": "locale", "blocked": true, "custom_fields": {} }'
Example Request Body
{ "email": "test@example.com", "name": "name", "phone": "phone", "locale": "locale", "blocked": true, "custom_fields": {} }
json
Example Responses
{ "id": "3f2a1c94-8e5b-4d17-9f60-2c7b1a0d5e83", "email": "julien.lambert@nordfil.fr", "name": "Julien Lambert", "phone": "+33 1 23 45 67 89", "locale": "fr", "blocked": true, "custom_fields": {}, "created_at": "2024-08-25T15:00:00Z" }
json
application/json

TicketsOrganizations