Référence de l’API publique
Endpoints, scopes et exemples pour tickets, messages et actions.
Utilisez des clés API à scopes pour gérer les tickets omnicanaux et les actions depuis vos systèmes.
URL de base
Toutes les requêtes passent par la passerelle publique.
https://api.threada.ai Authentification
- Envoyez la clé API dans l’en-tête `X-Api-Key`.
- Créez et faites tourner les clés dans Admin → API keys ; une clé par intégration.
- Les clés sont limitées au tenant et appliquent le moindre privilège via les scopes.
Scopes
- `support.read` — lister et récupérer tickets, messages et actions.
- `support.write` — créer/mettre à jour les tickets et ajouter des messages.
- `support.actions` — exécuter des actions et consulter leur statut.
Pagination
- Les endpoints de liste acceptent `limit` et `page_token`.
- Passez `next_page_token` dans la requête suivante.
Erreurs
- Les erreurs renvoient `{ error: { type, message, code } }`.
- Les codes HTTP reflètent la valeur `code`.
Exemples de requêtes et réponses
Lister les tickets
Récupérez les tickets ouverts sur tous les canaux.
Requête
curl -X GET "https://api.threada.ai/api/v1/public/tickets?limit=25" \
-H "X-Api-Key: YOUR_API_KEY" Réponse
{
"items": [
{
"ticket_id": "TICKET_ID",
"tenant_id": "TENANT_ID",
"subject": "SUBJECT",
"status": "open",
"priority": "normal",
"channel": "email",
"tags": ["vip", "returns"],
"last_message_at": "2026-02-04T18:32:11Z"
}
],
"next_page_token": "NEXT_PAGE_TOKEN"
} Créer un ticket
Ouvrez un nouveau ticket avec un message initial.
Requête
curl -X POST "https://api.threada.ai/api/v1/public/tickets" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "SUBJECT",
"priority": "normal",
"channel": "email",
"contact": {
"name": "CUSTOMER_NAME",
"email": "customer@example.com"
},
"tags": ["returns"],
"initial_message": {
"role": "user",
"content": "MESSAGE_BODY",
"external_message_id": "EXT_MSG_ID"
}
}' Réponse
{
"ticket": {
"summary": {
"ticket_id": "TICKET_ID",
"tenant_id": "TENANT_ID",
"subject": "SUBJECT",
"status": "open",
"priority": "normal",
"channel": "email",
"tags": ["returns"],
"created_at": "2026-02-04T18:32:11Z"
},
"contact": {
"name": "CUSTOMER_NAME",
"email": "customer@example.com"
},
"messages": [
{
"message_id": "MESSAGE_ID",
"role": "user",
"content": "MESSAGE_BODY",
"channel": "email",
"created_at": "2026-02-04T18:32:11Z"
}
]
}
} Exécuter une action
Déclenchez une automatisation HTTP personnalisée pour un ticket.
Requête
curl -X POST "https://api.threada.ai/api/v1/public/tickets/TICKET_ID/actions" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payload": {
"type": "custom_http",
"method": "POST",
"url": "/hooks/zapier",
"headers": {
"X-Source": "threada"
},
"body_json": "{\"event\":\"ticket_updated\"}"
}
}' Réponse
{
"action": {
"action_id": "ACTION_ID",
"tenant_id": "TENANT_ID",
"ticket_id": "TICKET_ID",
"action_type": "custom_http",
"status": "succeeded",
"requested_by": "api_key:API_KEY_ID",
"payload": {
"type": "custom_http",
"method": "POST",
"url": "/hooks/zapier",
"headers": {
"X-Source": "threada"
},
"body_json": "{\"event\":\"ticket_updated\"}"
}
}
} Besoin de plus d’endpoints ?
Contactez-nous pour un accès étendu, des limites plus élevées et des SLA entreprise.
Contacter les ventes