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.
Base URL
All API requests should be made to:
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 Project Settings → Security → API Key
- Generate your API key
- Your Project ID is also displayed on this page
Keep your API key secure and never expose it in client-side code or public
repositories.
Include both headers in every API request:
Example request:
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:
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:
Query for tickets assigned to a specific user:
Date Range Queries
Query using comparison operators (>=, <=, >, <) for date fields:
This 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 &:
This returns all open tickets with high priority created after January 1st, 2025.
Multiple Values
Query for documents matching any of several values:
Rate 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
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.