API Overview
The Tiketti API allows you to integrate Tiketti with your own applications, automate workflows, and build custom solutions.
Base URL
All API requests should be made to:
https://api.tiketti.app/api/v1Authentication
The API uses JWT (JSON Web Token) authentication. Include your access token in the Authorization header:
Authorization: Bearer <your_access_token>See Authentication for details on obtaining tokens.
Request Format
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token |
Content-Type | Yes (for POST/PUT) | application/json |
X-Organization-Id | Sometimes | Organization context |
Request Body
Send JSON in request bodies:
curl -X POST https://api.tiketti.app/api/v1/tickets \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"subject": "Help needed", "description": "..."}'Response Format
Success Response
Successful responses return the requested data:
{ "data": { "id": "123e4567-e89b-12d3-a456-426614174000", "code": "ACME-42", "subject": "Cannot login" }}List Response
List endpoints include pagination metadata:
{ "data": [ { "id": "...", "subject": "Ticket 1" }, { "id": "...", "subject": "Ticket 2" } ], "meta": { "total": 150, "page": 1, "per_page": 20 }}Error Response
Errors include a code and message:
{ "error": { "code": "TICKET_NOT_FOUND", "message": "Ticket with ID xyz not found", "details": {} }}HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 204 | No Content (successful delete) |
| 400 | Bad Request (invalid input) |
| 401 | Unauthorized (missing/invalid token) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Not Found |
| 422 | Unprocessable Entity (validation error) |
| 429 | Too Many Requests (rate limited) |
| 500 | Internal Server Error |
Pagination
List endpoints support pagination:
| Parameter | Default | Description |
|---|---|---|
page | 1 | Page number |
per_page | 20 | Items per page (max 100) |
Example:
GET /api/v1/tickets?page=2&per_page=50Filtering
Many list endpoints support filtering:
GET /api/v1/tickets?status=open&priority=high&assignee_id=<uuid>See each endpoint’s documentation for available filters.
Rate Limiting
API requests are rate limited:
- 100 requests per minute per API key
- Headers indicate your limit status:
X-RateLimit-Limit: 100X-RateLimit-Remaining: 95X-RateLimit-Reset: 1640000000Versioning
The API is versioned in the URL path:
/api/v1/ticketsWe’ll announce deprecations well in advance of any breaking changes.
SDKs and Libraries
Official SDKs (coming soon):
- JavaScript/TypeScript
- Python
- Ruby
For now, use any HTTP client to interact with the API.
Available Endpoints
| Resource | Description |
|---|---|
| Authentication | Login, tokens, refresh |
| Tickets | Create, read, update tickets |
| Messages | Replies and notes on tickets |
| Contacts | Customer contact records |
| Time Entries | Log and query time |
| Labels | Manage labels |
| Webhooks | Event notifications |
Getting Help
- Check this documentation
- Email: api@tiketti.app
- Report issues on GitHub