Skip to content

API Overview

This content is not available in your language yet.

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/v1

Authentication

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

HeaderRequiredDescription
AuthorizationYesBearer token
Content-TypeYes (for POST/PUT)application/json
X-Organization-IdSometimesOrganization context

Request Body

Send JSON in request bodies:

Terminal window
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

CodeMeaning
200Success
201Created
204No Content (successful delete)
400Bad Request (invalid input)
401Unauthorized (missing/invalid token)
403Forbidden (insufficient permissions)
404Not Found
422Unprocessable Entity (validation error)
429Too Many Requests (rate limited)
500Internal Server Error

Pagination

List endpoints support pagination:

ParameterDefaultDescription
page1Page number
per_page20Items per page (max 100)

Example:

Terminal window
GET /api/v1/tickets?page=2&per_page=50

Filtering

Many list endpoints support filtering:

Terminal window
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: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640000000

Versioning

The API is versioned in the URL path:

/api/v1/tickets

We’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

ResourceDescription
AuthenticationLogin, tokens, refresh
TicketsCreate, read, update tickets
MessagesReplies and notes on tickets
ContactsCustomer contact records
Time EntriesLog and query time
LabelsManage labels
WebhooksEvent notifications

Getting Help