> ## Documentation Index > Fetch the complete documentation index at: https://learn.servitly.com/llms.txt > Use this file to discover all available pages before exploring further. # Get tickets > Returns the list of tickets received by the parent entity (organization or partner) or submitted by the parent entity (customer, partner, and organization).

Required permissions: READ_TICKET. ## OpenAPI ````json GET /v2/inventory/tickets { "openapi": "3.1.0", "info": { "title": "Servitly DPS API", "version": "1.0.0" }, "servers": [ { "url": "https://api.servitly-sandbox.com", "description": "[AWS SANDBOX]" }, { "url": "https://api.servitly.com", "description": "[AWS PRODUCTION Ireland]" }, { "url": "https://api-ap.servitly.com", "description": "[AWS Hong Kong]" }, { "url": "https://azapi.servitly-dev.com", "description": "[AZURE DEV Frankfurt]" }, { "url": "https://azapi.servitly-staging.com", "description": "[AZURE STAGING Frankfurt]" }, { "url": "https://azapi.servitly.com", "description": "[AZURE PRODUCTION Frankfurt]" } ], "security": [ { "bearerAuth": [] } ], "tags": [ { "name": "ACTIONS" }, { "name": "ALERTS" }, { "name": "API GATEWAY" }, { "name": "AUTHENTICATION" }, { "name": "AUTHORIZATIONS" }, { "name": "CUSTOMERS" }, { "name": "DATA IMPORT / EXPORT" }, { "name": "EVENTS" }, { "name": "LOCATIONS" }, { "name": "MAINTENANCE" }, { "name": "MAPPING" }, { "name": "METRIC DATA" }, { "name": "MOBILE APP" }, { "name": "ORGANIZATION" }, { "name": "PARTNERS" }, { "name": "PRODUCT MODELS" }, { "name": "SPARE PARTS" }, { "name": "STATISTICS" }, { "name": "STORE ORDERS" }, { "name": "SUBSCRIPTIONS" }, { "name": "SUBSCRIPTIONS (OLD)" }, { "name": "THING CONTROL" }, { "name": "THING DEFINITIONS" }, { "name": "THING MANAGEMENT" }, { "name": "THINGS" }, { "name": "TICKETS" }, { "name": "USER TYPES" }, { "name": "USERS" }, { "name": "WORK SESSIONS" } ], "paths": { "/v2/inventory/tickets": { "get": { "summary": "Get tickets", "description": "Returns the list of tickets received by the parent entity (organization or partner) or submitted by the parent entity (customer, partner, and organization).

Required permissions: READ_TICKET.", "tags": [ "TICKETS" ], "parameters": [ { "$ref": "#/components/parameters/tenantNameHeader" }, { "$ref": "#/components/parameters/ticketReceived" }, { "$ref": "#/components/parameters/ticketSubmitted" }, { "$ref": "#/components/parameters/ticketStatus" }, { "$ref": "#/components/parameters/pageSize" }, { "$ref": "#/components/parameters/page" }, { "$ref": "#/components/parameters/sort" } ], "responses": { "200": { "description": "Successful operation.", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/Ticket" } } } }, { "$ref": "#/components/schemas/PaginatedResponse" } ] } } } }, "401": { "$ref": "#/components/responses/NotAuthenticated" }, "403": { "$ref": "#/components/responses/NotAuthorized" }, "404": { "$ref": "#/components/responses/NotFound" }, "429": { "$ref": "#/components/responses/ApiLimit" }, "500": { "$ref": "#/components/responses/IntError" } } } } }, "components": { "parameters": { "tenantNameHeader": { "in": "header", "name": "X-Servitly-Tenant", "required": "true", "schema": { "type": "string", "example": "{{tenantName}}" }, "description": "The name of the tenant (e.g. acme)." }, "ticketReceived": { "in": "query", "name": "received", "required": "false", "schema": { "type": "boolean" }, "description": "If true, the response includes the tickets received by the parent entity." }, "ticketSubmitted": { "in": "query", "name": "received", "required": "false", "schema": { "type": "boolean" }, "description": "If true, the response includes the tickets submitted by the parent entity." }, "ticketStatus": { "in": "query", "name": "status", "required": "false", "schema": { "type": "string", "enum": [ "OPEN", "IN_PROGRESS", "ON_HOLD", "RESOLVED", "REJECTED" ], "example": "OPEN" }, "description": "The status of the tickets to be retrieved." }, "pageSize": { "in": "query", "name": "size", "required": "false", "schema": { "type": "integer", "minimum": "1" }, "example": "200", "description": "The number of elements to retrieve for the current page." }, "page": { "in": "query", "name": "page", "required": "false", "schema": { "type": "integer", "minimum": "0" }, "example": "0", "description": "The page number to retrieve (zero-based)." }, "sort": { "in": "query", "name": "sort", "required": "false", "schema": { "type": "string", "minimum": "0" }, "example": "name,ASC", "description": "The sorting criteria based on object properties." } }, "schemas": { "Ticket": { "type": "object", "description": "Represents a support or maintenance ticket associated with a specific asset (thing), tracking its lifecycle from creation to resolution.", "properties": { "id": { "type": "string", "description": "Unique identifier of the ticket, assigned by the system at creation.", "example": "69cd430d90379a1f9604cca0", "readOnly": "true" }, "code": { "type": "string", "description": "Public, human-readable identifier for the ticket. Unlike \"id\", which is the immutable internal identifier, \"code\" is exposed externally and can be modified by clients. Must be unique.", "example": "TKT-000002" }, "organizationId": { "type": "string", "description": "ID of the organization currently responsible for managing this ticket.", "example": "661533adc04f90248aa739a2" }, "responsibileName": { "type": "string", "description": "Display name of the organization responsible for this ticket.", "example": "ACME" }, "creationOrganizationId": { "type": "string", "description": "ID of the organization that originally created the ticket. May differ from organizationId if responsibility was transferred.", "example": "661533adc04f90248aa739a2" }, "creationUserId": { "type": "string", "description": "ID of the user who created the ticket.", "example": "69cd30c0619a917c2d416b78" }, "thingId": { "type": "string", "description": "ID of the asset (thing) this ticket is associated with.", "example": "661fabf042541977c4ff380c" }, "title": { "type": "string", "description": "Short descriptive title of the ticket, provided by the creator.", "example": "test2" }, "typeId": { "type": "string", "description": "ID of the ticket type definition that classifies this ticket (e.g. fault report, maintenance request).", "example": "69cce8e238f8146af79b66df" }, "type": { "description": "Expanded ticket type object, providing the name and label of the ticket classification.", "$ref": "#/components/schemas/TicketType" }, "status": { "description": "Current lifecycle status of the ticket.", "$ref": "#/components/schemas/TicketStatus" }, "creationTimestamp": { "type": "integer", "format": "int64", "description": "Unix timestamp in milliseconds representing when the ticket was created.", "example": "1775059725671" }, "assigneeUserId": { "type": "string", "nullable": "true", "description": "ID of the user currently assigned to handle this ticket. Null if the ticket is unassigned.", "example": "6a058e933082730da608263c" }, "items": { "type": "array", "description": "Ordered list of activity entries representing the full audit trail of the ticket (status changes, notes, attachments).", "items": { "$ref": "#/components/schemas/TicketItem" } }, "properties": { "description": "Dynamic set of additional properties associated with the ticket, such as priority or custom properties defined by the ticket type.", "$ref": "#/components/schemas/Properties" } } }, "PaginatedResponse": { "type": "object", "properties": { "first": { "type": "boolean", "description": "The flag indicating whether the page is the first one." }, "last": { "type": "boolean", "description": "The flag indicating whether the last page has been reached." }, "totalPages": { "type": "integer", "description": "The total number of pages." }, "totalElements": { "type": "integer", "description": "The total number of elements." }, "sort": { "type": "string", "description": "The current sorting criteria." }, "numberOfElements": { "type": "integer", "description": "The number of elements in this page." }, "size": { "type": "integer", "description": "The requested page size." }, "number": { "type": "integer", "minimum": "0", "description": "The number of the page (zero-based)." } } }, "TicketType": { "type": "object", "description": "Defines the classification of a ticket, determining its purpose and behavior (e.g. fault report, inspection, maintenance request).", "properties": { "id": { "type": "string", "description": "Unique identifier of the ticket type.", "example": "69cce8e238f8146af79b66df" }, "name": { "type": "string", "description": "Internal machine-readable name of the ticket type.", "example": "issue_report" }, "label": { "type": "string", "description": "Human-readable label of the ticket type, suitable for display in the UI.", "example": "Fault/Anomaly Report" } } }, "TicketStatus": { "type": "string", "description": "Lifecycle status of a ticket: - OPEN: ticket created but not yet being worked on. - IN_PROGRESS: ticket is actively being handled. - ON_HOLD: work is paused, waiting for external input or conditions. - RESOLVED: the issue has been fixed. - REJECTED: ticket was dismissed without resolution.", "enum": [ "OPEN", "IN_PROGRESS", "ON_HOLD", "RESOLVED", "REJECTED" ], "example": "IN_PROGRESS" }, "TicketItem": { "type": "object", "description": "A single audit trail entry recording an action performed on the ticket, such as a status transition, a note left by a user, or a file attachment.", "properties": { "timestamp": { "type": "integer", "format": "int64", "description": "Unix timestamp in milliseconds of when this item was recorded.", "example": "1777301746141" }, "userId": { "type": "string", "description": "ID of the user who performed the action recorded by this item.", "example": "69ef57196e9f727fab42fcab" }, "type": { "type": "string", "description": "Current lifecycle status of the ticket.", "$ref": "#/components/schemas/TicketStatus", "example": "STATUS_CHANGE" }, "statusChange": { "description": "Details of the status transition. Populated only when `type` is `STATUS_CHANGE`, null otherwise.", "nullable": "true", "$ref": "#/components/schemas/TicketStatusChange" }, "note": { "type": "string", "nullable": "true", "description": "Free-text note content. Populated only when `type` is `NOTE`, null otherwise." }, "attachment": { "nullable": "true", "description": "Attached file object. Populated only when `type` is `ATTACHMENT`, null otherwise." } } }, "Properties": { "type": "object", "description": "The set of properties providing additional details to the parent object.", "additionalProperties": { "type": "string" }, "example": { "foo": "abc", "bar": "123" } }, "TicketStatusChange": { "type": "object", "description": "Records a status transition on a ticket, capturing both the previous and the new status.", "properties": { "from": { "description": "The ticket status before the transition.", "$ref": "#/components/schemas/TicketStatus" }, "to": { "description": "The ticket status after the transition.", "$ref": "#/components/schemas/TicketStatus" } } } }, "responses": { "NotAuthenticated": { "description": "User not authenticated.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "User not authenticated" } } } } } }, "NotAuthorized": { "description": "User not authorized.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "User not authorized" } } } } } }, "NotFound": { "description": "Resource was not found.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "Resource not found" } } } } } }, "ApiLimit": { "description": "API call rate limit exceeded.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "API call rate limit exceeded" } } } } } }, "IntError": { "description": "Internal server error.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "Internal Server Error" } } } } } } }, "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } } } ````