Gleap Ticket API
The Ticket API from Gleap — 35 operation(s) for ticket.
The Ticket API from Gleap — 35 operation(s) for ticket.
openapi: 3.0.0
info:
title: Gleap AI content Ticket API
version: 14.0.0
contact:
name: Gleap Support
email: hello@gleap.io
url: https://gleap.io
description: The Gleap REST API provides programmatic access to feedback tickets, user identification, event tracking, help center content, outbound messaging, sessions, contacts, and AI-powered support workflows. The API uses Bearer token authentication and supports filtering, pagination, and webhook integrations.
license:
name: Proprietary
servers:
- url: https://api.gleap.io/v3
tags:
- name: Ticket
paths:
/tickets:
post:
operationId: CreateTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
examples:
Example 1:
value:
title: Login button not working
description: Users cannot log in when clicking the login button
type: BUG
status: OPEN
priority: HIGH
customData:
browser: Chrome
version: 120.0.0.0
summary: Create a new ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTicketDto'
get:
operationId: GetTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
examples:
Example 1:
value:
tickets:
- _id: 507f1f77bcf86cd799439011
id: 507f1f77bcf86cd799439011
title: Login button not working
formData:
description: Users cannot log in when clicking the login button
type: BUG
status: OPEN
priority: HIGH
createdAt: '2024-01-15T10:30:00.000Z'
updatedAt: '2024-01-15T11:45:00.000Z'
processingUser:
_id: 507f1f77bcf86cd799439012
email: support@example.com
firstName: John
lastName: Doe
session:
_id: 507f1f77bcf86cd799439013
email: user@example.com
latestComment:
_id: 507f1f77bcf86cd799439014
data:
content: Any update on this issue?
count: 1
totalCount: 42
description: 'Get all tickets in a project with support for filtering, sorting, and pagination.
**Filtering:**
- Filter by type: `type=BUG` or `type=BUG,FEATURE_REQUEST`
- Filter by status: `status=OPEN`
- Filter by priority: `priority=HIGH` or `priority=HIGH,MEDIUM`
- Filter by archived state: `archived=false` or `ignoreArchived=true`
- Filter by spam: `isSpam=false`
**Sorting:**
- Sort by creation date: `sort=-createdAt` (newest first) or `sort=createdAt` (oldest first)
- Sort by priority: `sort=priority` (ascending: LOW, MEDIUM, HIGH) or `sort=-priority` (descending)
- Sort by updated date: `sort=-updatedAt`
**Pagination:**
- Limit results: `limit=20` (default up to 1000)
- Skip results: `skip=0` (for pagination: `skip=(page-1)*limit`)'
summary: Get all tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/compose:
post:
operationId: CreateTicketWithMessage
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Create a new ticket with an optional initial message
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTicketWithMessageDto'
/tickets/search:
get:
operationId: SearchForTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Search for tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/extendedsearch:
get:
operationId: SearchForTicketsExtended
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Search for tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/by-session-query:
get:
operationId: FindTicketsBySessionQuery
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Find tickets by session query
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
- in: query
name: email
required: false
schema:
type: string
- in: query
name: userId
required: false
schema:
type: string
- in: query
name: phone
required: false
schema:
type: string
- in: query
name: customData.TIN
required: false
schema:
type: string
/tickets/export:
get:
operationId: ExportTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Export tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/notification/{shareToken}:
get:
operationId: GetNotificationTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get notification ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
- in: path
name: shareToken
required: true
schema:
type: string
/tickets/csv-export:
get:
operationId: ExportTicketsAsCSV
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Export tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/export-fields:
get:
operationId: GetTicketExportFields
responses:
'200':
description: Ok
content:
application/json:
schema: {}
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
- in: query
name: type
required: false
schema:
type: string
/tickets/tracker-tickets:
post:
operationId: CreateTrackerTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Create a tracker ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
customerName:
type: string
customerEmail:
type: string
linkedTicketIds:
items:
type: string
type: array
description:
type: string
title:
type: string
type:
type: string
type: object
get:
operationId: FindTrackerTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Find tracker tickets
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
- in: query
name: searchTerm
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
format: double
type: number
/tickets/search-feature-requests:
get:
operationId: SearchFeatureRequests
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Search feature requests semantically
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
- in: query
name: query
required: true
schema:
type: string
- in: query
name: limit
required: false
schema:
format: double
type: number
- in: query
name: minScore
required: false
schema:
format: double
type: number
/tickets/generate-data:
post:
operationId: GenerateTrackerTicketData
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Generate tracker ticket data with AI
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
sourceTicketId:
type: string
type:
type: string
type: object
/tickets/ticketscount:
get:
operationId: GetTicketCount
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get ticket count
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/audit-export:
get:
operationId: ExportTicketAuditEndpoint
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Export a single ticket for audit
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}:
get:
operationId: GetTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
put:
operationId: UpdateTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Update a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTicketDto'
delete:
operationId: DeleteTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Delete a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/merge:
put:
operationId: MergeTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Merge multiple tickets into one
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
shouldMergeContacts:
type: boolean
shouldMergeTasks:
type: boolean
shouldCreateNewTicket:
type: boolean
ticketsToMergeIds:
items:
type: string
type: array
targetTicketId:
type: string
required:
- shouldMergeContacts
- shouldMergeTasks
- shouldCreateNewTicket
- ticketsToMergeIds
type: object
/tickets/deduplicate:
post:
operationId: FindDuplicates
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Find duplicate feature requests
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: false
schema:
type: string
/tickets/deduplicate/merge:
put:
operationId: MergeDuplicateGroup
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Merge a duplicate group
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
duplicateTicketIds:
items:
type: string
type: array
mainTicketId:
type: string
required:
- duplicateTicketIds
- mainTicketId
type: object
/tickets/{ticketId}/console-logs:
get:
operationId: GetConsoleLogsForTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get console logs for a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/activity-logs:
get:
operationId: GetActivityLogsForTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get activity logs for a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/network-logs:
get:
operationId: GetNetworkLogsForTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get network logs for a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/replay:
get:
operationId: GetReplayForTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Get network logs for a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/typing:
post:
operationId: IndicateUserTyping
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Indicate user typing
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
typing:
type: boolean
required:
- typing
type: object
/tickets/{ticketId}/viewing:
post:
operationId: IndicateUserViewing
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Indicate user viewing
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
viewing:
type: boolean
required:
- viewing
type: object
/tickets/{ticketId}/snooze:
put:
operationId: SnoozeTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Snooze a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
duration:
type: number
format: double
required:
- duration
type: object
/tickets/{ticketId}/link:
put:
operationId: LinkTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Link a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
targetTicketId:
type: string
required:
- targetTicketId
type: object
/tickets/{ticketId}/unlink:
put:
operationId: UnlinkTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Unlink a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
targetTicketId:
type: string
required:
- targetTicketId
type: object
/tickets/{ticketId}/archive:
put:
operationId: ArchiveTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Archive a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/archive/all:
put:
operationId: ArchiveAllTickets
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Archive a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
type:
type: string
status:
type: string
required:
- type
- status
type: object
/tickets/{ticketId}/unarchive:
put:
operationId: UnarchiveTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Unarchive a ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/workflow:
post:
operationId: RunWorkflow
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Run workflow
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
workflowId:
type: string
required:
- workflowId
type: object
/tickets/{ticketId}/send-to-integration:
post:
operationId: SendTicketToIntegration
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Send ticket to integration
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
integrationType:
type: string
integrationId:
type: string
required:
- integrationType
- integrationId
type: object
/tickets/{ticketId}/vote:
post:
operationId: VoteForTicket
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Vote for ticket
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
action:
type: string
enum:
- toggle
- subscribe
- unsubscribe
name:
type: string
email:
type: string
required:
- email
type: object
/tickets/{ticketId}/draft-reply:
post:
operationId: GenerateDraftReply
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Generate AI draft reply
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
/tickets/{ticketId}/send-transcript:
post:
operationId: SendTicketTranscript
responses:
'200':
description: Ok
content:
application/json:
schema: {}
summary: Send ticket conversation transcript to multiple emails
tags:
- Ticket
security:
- jwt: []
parameters:
- in: path
name: ticketId
required: true
schema:
type: string
- in: header
name: project
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
emails:
items:
type: string
type: array
required:
- emails
type: object
components:
schemas:
LastResponseDto:
properties:
contact:
type: string
format: date-time
admin:
type: string
format: date-time
type: object
additionalProperties: false
AttachmentDto:
properties:
name:
type: string
url:
type: string
type:
type: string
required:
- name
- url
type: object
additionalProperties: false
Sentiment:
enum:
- positive
- negative
- neutral
type: string
CreateTicketDto:
properties:
title:
type: string
conversationClosed:
type: boolean
bot:
$ref: '#/components/schemas/BotDto'
content: {}
plainContent:
type: string
imageUrl:
type: string
description:
type: string
latestComment:
type: string
latestPublicComment:
type: string
slaBreached:
type: boolean
hidden:
type: boolean
needInitialPush:
type: boolean
noHumanInteraction:
type: boolean
snoozed:
type: boolean
snoozedUntil:
type: string
format: date-time
nullable: true
processingUser:
type: string
processingTeam:
type: string
queued:
type: boolean
queuedAt:
type: string
format: date-time
mentions:
items:
type: string
type: array
emailRefs:
items: {}
type: array
attributes: {}
formData: {}
form: {}
aiSummary:
type: string
aiSupportSummary:
type: string
dueDate:
anyOf:
- type: string
format: date-time
- type: string
linkedTickets:
items:
type: string
type: array
duplicateOf:
type: string
duplicatesCount:
type: number
format: double
session: {}
sessions:
items: {}
type: array
outbound:
type: string
priority:
$ref: '#/components/schemas/BugPriority'
type:
type: string
sentiment:
$ref: '#/components/schemas/Sentiment'
status:
type: string
shareToken:
type: string
secretShareToken:
type: string
lexorank:
type: string
bugId:
type: number
format: double
project:
type: string
organisation:
type: string
screenshotUrl:
type: string
screenshotBroke:
type: string
format: date-time
generatingScreenshot:
type: boolean
screenshotRenderingFailed:
type: boolean
screenshotLive:
type: boolean
screenshotDataUrl: {}
isSilent:
type: boolean
replayDataUrl:
type: string
replayUrl:
type: string
generatingReplay:
type: boolean
replayStartDate:
type: string
format: date-time
replayRenderingStartedAt:
type: string
format: date-time
replayRenderingFailed:
type: boolean
replayLive:
type: boolean
originalEmailContent:
type: string
hasWebReplay:
type: boolean
integrations:
$ref: '#/components/schemas/Record_string.any_'
metaData: {}
actionLog: {}
customData: {}
replay: {}
lastResponse:
$ref: '#/components/schemas/LastResponseDto'
attachments:
items:
$ref: '#/components/schemas/AttachmentDto'
type: array
lastNotification:
type: string
format: date-time
faqSuggested:
type: boolean
notificationsUnread:
type: boolean
sessionNotificationsUnread:
type: boolean
hasAgentReply:
type: boolean
conversationRating:
type: number
format: double
upvotesCount:
type: number
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gleap/refs/heads/main/openapi/gleap-ticket-api-openapi.yml