Skip to main content
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

  1. Navigate to your Gleap dashboard
  2. Go to Project SettingsSecurityAPI Key
  3. Generate your API key
  4. 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.

Required Headers

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.