Labeeq API reference
Read and write the conversations, contacts and deals in a Labeeq workspace. A JSON REST API over HTTPS, included in every plan, with 36 operations and 19 webhook events.
Base URL and authentication
https://developers.labeeq.com/api/v1 Authorization: Bearer YOUR_TOKEN
Endpoints
Account
Who the token belongs to.
- GET/me
Who am I
Contacts
The people who talk to you — one record per person, across every channel.
- GET/contacts
List contacts - POST/contacts
Create a contact - GET/contacts/{id}
Get a contact - PATCH/contacts/{id}
Update a contact - PUT/contacts/{id}
Create or update a contact - DELETE/contacts/{id}
Delete a contact - POST/contacts/search
Search contacts - POST/contacts/merge
Merge two contacts - PUT/contacts/{id}/lifecycle
Move a contact's lifecycle stage - GET/contacts/{id}/labels
List a contact's labels - POST/contacts/{id}/labels
Add labels to a contact - DELETE/contacts/{id}/labels/{label}
Remove a label from a contact
Conversations
Threads with a contact on a channel.
- GET/conversations
List conversations - POST/conversations
Open a conversation - GET/conversations/{id}
Get a conversation - PATCH/conversations/{id}
Change a conversation - GET/closing-notes
List closing notes
Messages
Reading a thread, and sending into it.
- GET/conversations/{id}/messages
List messages - POST/conversations/{id}/messages
Send a message - POST/conversations/{id}/notes
Add an internal note - GET/messages/{id}
Get a message
Deals
Revenue opportunities moving along their pipelines.
- GET/deals
List deals - POST/deals
Create a deal - GET/deals/{id}
Get a deal - PATCH/deals/{id}
Change a deal
Orders
What a customer bought — lines, delivery, payment, and where it is on the way.
- GET/orders
List orders - POST/orders
Place an order - GET/orders/{id}
Get an order - PATCH/orders/{id}
Change an order - PATCH/orders/{id}/status
Move an order
Products
The catalogue an order's lines refer to, read-only.
- GET/products
List products - GET/products/{id}
Get a product
Tasks
Work the team owes somebody, with an optional contact attached.
- GET/tasks
List tasks - POST/tasks
Create a task - PATCH/tasks/{id}
Change a task
Webhook events
Each event arrives as a signed POST with the headers X-Labeeq-Event, X-Labeeq-Delivery and X-Labeeq-Signature, and the same resource shapes the API returns.
message.receivedA customer's message arrived on a connected channel.message.sentA message went out to the customer, from a teammate, an AI agent or an automation.conversation.createdA new conversation started with a contact on a channel.conversation.openedA closed conversation was reopened.conversation.closedA conversation was closed.conversation.assignedA conversation was assigned or handed to a new assignee. Unassigning sends nothing.conversation.priority_changedA conversation's priority changed.contact.createdA contact was created.contact.updatedA contact's name, email, phone, avatar or language changed. Bookkeeping such as last-seen times sends nothing.note.createdA teammate added an internal note to a conversation. The customer never sees notes.contact.lifecycle_changedA contact moved to another lifecycle stage.contact.label_changedLabels were added to or removed from a contact. The payload lists the current labels and what was added and removed.deal.createdA deal was opened on a pipeline.deal.stage_changedA deal moved to another stage, on every move and not only the final one.deal.wonA deal closed as won.deal.lostA deal closed as lost.order.createdAn order was placed.order.status_changedAn order moved to another status, on every move.order.paidAn order was marked paid. Sent once per order.