Tiquo
API and Authentication

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

Client API

The Client API is built for customer-facing applications. It lets your customers access their own profile, order history, booking history, and enquiries directly from your website or mobile app. Authentication uses JWT tokens issued through either the DOM Package or OAuth/OIDC.

Base URL:

https://edge.tiquo.app/api/client/v1

Quick Comparison

Admin APIClient API
PurposeServer-side data managementCustomer-facing applications
AuthenticationAPI keys (Bearer token)JWT access tokens
Data scopeFull organization dataScoped to the authenticated customer
CORSNot enabled (server-side only)Enabled for all origins
Rate limit1,000 requests per hour per keyPer-user limits
Base URLapi.tiquo.app/api/v1edge.tiquo.app/api/client/v1

Response Format

Both APIs return JSON responses with a consistent structure.

Successful response:

{
  "success": true,
  "data": { ... },
  "timestamp": "2025-01-15T10:30:00.000Z"
}

Error response:

{
  "success": false,
  "error": "Description of what went wrong",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

HTTP Status Codes

CodeMeaning
200Request succeeded
400Bad request (invalid parameters or missing fields)
401Unauthorized (missing or invalid authentication)
403Forbidden (insufficient permissions)
404Resource not found
429Rate limit exceeded
500Internal server error

Pagination

Endpoints that return lists 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.

On this page