This section provides an overview of how to use the Gleap API, including authentication and querying.
Two server-side APIs
Gleap ships two server-side APIs — this page documents the admin REST API, where everything happens as your team: tickets you create belong to the project, replies you post are teammate replies.
To build your own support experience on top of Gleap — creating conversations and sending messages as the end customer from your backend, with every event pushed back to you — use the Conversations API (server-to-server) instead.
Admin REST API (this page) | ||
|---|---|---|
Acts as | Your team | The end customer |
Use for | Automation, reporting, syncing tickets & contacts | Headless support: your own chat UI, backend-to-backend |
Auth |
|
|
Events | — | Realtime stream (recommended) + signed webhooks |
Spec | — |
Base URL
All API requests should be made to your region's API host, followed by /v3:
https://api.gleap.io/v3The API host depends on the data region of your project:
Data region | API host |
|---|---|
EU (default) |
|
US |
|
https://api.gleap.io with your region's host. API tokens are per project and only valid in the project's region.Authentication
The Gleap API uses Bearer token authentication along with a project identifier header.
Getting your API Key and Project ID
Navigate to your Gleap dashboard
Go to Settings → Developer → API keys
Generate your API key
Your Project ID is also displayed on this page

Required Headers
Include both headers in every API request:
Authorization: Bearer YOUR_API_KEY
Project: YOUR_PROJECT_IDExample request:
curl -X GET https://api.gleap.io/v3/tickets \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Project: YOUR_PROJECT_ID" \
-H "Content-Type: application/json"Querying
All find endpoints (GET requests that return lists of resources) support querying on any property that exists on the document.
Discovering Available Properties
To see which attributes are available on a document, fetch a single document first:
curl -X GET https://api.gleap.io/v3/tickets/TICKET_ID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Project: YOUR_PROJECT_ID"This will return the full document structure showing all available properties you can query on.
Query Examples
Exact Match
Query for tickets with a specific status:
GET https://api.gleap.io/v3/tickets?status=OPENQuery for tickets assigned to a specific user:
GET https://api.gleap.io/v3/tickets?processingUser=user123Date Range Queries
Query using comparison operators (>=, <=, >, <) for date fields:
GET https://api.gleap.io/v3/tickets?createdAt>=2025-09-01T00:00:00.000Z&createdAt<=2025-09-01T23:00:00.000ZThis example fetches all tickets created on September 1st, 2025 (between 00:00:00 and 23:00:00 UTC).
Date format: Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.sssZ
Combining Multiple Query Parameters
You can combine multiple query parameters using &:
GET https://api.gleap.io/v3/tickets?status=OPEN&priority=HIGH&createdAt>=2025-01-01T00:00:00.000ZThis returns all open tickets with high priority created after January 1st, 2025.
Multiple Values
Query for documents matching any of several values:
GET https://api.gleap.io/v3/tickets?status=OPEN,DONE,INPROGRESSRate Limits
The API enforces rate limits to ensure fair usage. Limits are applied per API key:
Most endpoints: 1000 requests per 60 seconds
Ticket endpoints (
POST /tickets,POST /tickets/compose,GET /tickets,GET /tickets/search,GET /tickets/extendedsearch,GET /tickets/by-session-query): 200 requests per 60 seconds
These are the Team limits. On the October 2026 plans, Pro allows three times as many requests (3,000 and 600) and Enterprise ten times (10,000 and 2,000); see Plans and AI pricing. Starter has no API access (Team and up).
If you exceed the rate limit, you'll receive a 429 Too Many Requests response with a Retry-After header telling you how many seconds to wait before retrying.

