Tidio
Manage Tidio live chat contacts and support tickets via the Tidio Public API.
What it does
- list_contacts — Retrieve a paginated list of contacts (optionally filter by email).
- get_contact — Fetch a single contact by UUID.
- create_contact — Add a new contact with name, email, and/or phone.
- list_tickets — Retrieve a paginated list of support tickets.
- get_ticket — Fetch a single support ticket by UUID (includes full message history).
- update_ticket — Change the status or priority of a ticket.
Authentication
Tidio uses two custom HTTP headers for every request:
| Header | Value |
|---|---|
X-Tidio-Openapi-Client-Id |
Your Client ID (ci_…) — mapped to apiKey input |
X-Tidio-Openapi-Client-Secret |
Your Client Secret (cs_…) — mapped to clientSecret input |
To generate credentials: Tidio Panel > Settings > Developer > OpenAPI > Generate keys.
Only project owners and administrators can create API keys.
Inputs
| Input | Required | Description |
|---|---|---|
apiKey |
yes | Tidio Client ID (ci_…) |
clientSecret |
yes | Tidio Client Secret (cs_…) |
operation |
yes | One of the six operations listed above |
contactId |
for get_contact | UUID of the contact |
ticketId |
for get_ticket / update_ticket | UUID of the ticket |
email |
for create_contact | Contact email address |
firstName |
for create_contact | Contact first name |
lastName |
for create_contact | Contact last name |
phone |
for create_contact | Contact phone number |
distinctId |
for create_contact | Your own unique ID for the contact (required by Tidio, max 55 chars) |
emailCursor |
optional | Filter list_contacts results by email |
cursor |
optional | Pagination cursor from a previous list response |
ticketStatus |
for update_ticket | open, pending, or solved |
ticketPriority |
for update_ticket | low, normal, or urgent |
Outputs
| Output | Description |
|---|---|
result |
Raw JSON response body from the Tidio API |
status |
HTTP status code as a string (e.g. "200") |
Examples
List contacts:
{
"apiKey": "ci_abc123",
"clientSecret": "cs_xyz789",
"operation": "list_contacts"
}
Get a contact by ID:
{
"apiKey": "ci_abc123",
"clientSecret": "cs_xyz789",
"operation": "get_contact",
"contactId": "a1b2c3d4-1234-5678-abcd-ef0123456789"
}
Create a contact:
{
"apiKey": "ci_abc123",
"clientSecret": "cs_xyz789",
"operation": "create_contact",
"distinctId": "crm-user-1042",
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Smith"
}
List open tickets (paginated):
{
"apiKey": "ci_abc123",
"clientSecret": "cs_xyz789",
"operation": "list_tickets"
}
Resolve a ticket:
{
"apiKey": "ci_abc123",
"clientSecret": "cs_xyz789",
"operation": "update_ticket",
"ticketId": "e6a82a74-1170-4f57-a031-b36f3f6bc093",
"ticketStatus": "solved"
}