API Introduction
Getting started with the Tiquo APIs
Tiquo APIs
Tiquo provides two separate REST APIs, each designed for different use cases.
Admin API
The Admin API is built for server-side integrations. It gives your backend systems programmatic access to your organization's data, including customer records, orders, bookings, and more. You authenticate with API keys that you generate from the Tiquo dashboard.
Base URL:
https://api.tiquo.app/api/v1Customer API
The Customer API is built for customer-facing applications. It covers customer profiles, saved payment methods, orders and receipts, bookings and tickets, memberships, guest flows, wallet links, companies, enquiries, and eligible access-control features. Authentication uses JWT tokens issued through either the DOM Package or OAuth/OIDC.
Base URL:
https://edge.tiquo.app/api/client/v1Quick Comparison
| Admin API | Customer API | |
|---|---|---|
| Purpose | Server-side data management | Customer-facing applications |
| Authentication | API keys (Bearer token) | JWT access tokens |
| Data scope | Full organization data | Scoped to the authenticated customer, with authorised company-admin access to colleagues |
| CORS | Not enabled (server-side only) | Authenticated browser requests are supported; public enquiry submissions use configured allowed origins |
| Rate limit | 1,000 requests per key in a fixed one-hour window by default; contact Tiquo for a higher limit | Operation-specific abuse protection; see each endpoint |
| Base URL | api.tiquo.app/api/v1 | edge.tiquo.app/api/client/v1 |
Response Format
Most successful read operations return resources under data:
Successful response:
{
"success": true,
"data": { ... }
}Error response:
{
"success": false,
"error": "Description of what went wrong"
}Some Customer API operations return compatibility fields at the top level. Use the response schema for the specific endpoint rather than assuming every successful response contains data.
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Request succeeded |
400 | Bad request (invalid parameters or missing fields) |
401 | Unauthorized (missing or invalid authentication) |
403 | Forbidden (insufficient permissions) |
404 | Resource not found |
429 | Rate limit exceeded |
500 | Internal server error |
Pagination
Customer API orders, bookings, and enquiries use cursor-based pagination. You can control the page size with the limit parameter (default 50, max 100) and paginate using the cursor parameter.
{
"success": true,
"data": {
"orders": [ ... ],
"hasMore": true,
"nextCursor": "order_abc123"
}
}To get the next page, pass the nextCursor value as the cursor query parameter in your follow-up request. When hasMore is false, you have reached the end of the results.
Other Customer API collections, such as companies, memberships, guest flows, and access groups, return bounded arrays without pagination metadata. Check the documentation for each operation before implementing pagination.