> ## Documentation Index
> Fetch the complete documentation index at: https://help.gorelo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Gets a single ticket.

> Returns every field the ticket list returns, with the same values, plus the ones the list
leaves out because each costs a further read: the ticket's `Description`, the assets and
uptime checks linked to it, its logged `Time` and `Products` totals, any ticket-level
`BillingOverride`, its `Shipments`, and its `Banner`.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/tickets/{ticketId}
openapi: 3.0.4
info:
  title: Public API
  description: Gorelo Public API documentation.
  version: 1.0.0
servers:
  - url: https://api.usw.gorelo.io
    description: US
  - url: https://api.aue.gorelo.io
    description: Australia
security:
  - ApiKeyAuth: []
tags:
  - name: Attachments
    description: "Uploading a file, for anything that can carry one. One endpoint rather than one per record\r\ntype, because the upload itself is identical - only the record it is checked against differs."
  - name: Alerts
    description: Alerts management operations
  - name: Assets
    description: Assets management operations
  - name: Billing
    description: Billing management operations
  - name: Tickets
    description: Tickets management operations
  - name: Clients
    description: Clients management operations
  - name: Contacts
    description: Contacts management operations
  - name: Deletions
    description: Deletions management operations
  - name: Documents
    description: Documents management operations
  - name: Forms
    description: Forms management operations
  - name: Organization
    description: Organization management operations
  - name: Projects
    description: Projects management operations
paths:
  /v1/tickets/{ticketId}:
    get:
      tags:
        - Tickets
      summary: Gets a single ticket.
      description: "Returns every field the ticket list returns, with the same values, plus the ones the list\r\nleaves out because each costs a further read: the ticket's `Description`, the assets and\r\nuptime checks linked to it, its logged `Time` and `Products` totals, any ticket-level\r\n`BillingOverride`, its `Shipments`, and its `Banner`."
      operationId: get_v1_tickets_ticketId
      parameters:
        - name: ticketId
          in: path
          description: Ticket identifier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/TicketDetailModelBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/TicketDetailModelBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/TicketDetailModelBaseResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
components:
  schemas:
    TicketDetailModelBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          $ref: '#/components/schemas/TicketDetailModel'
        DataContext:
          type: object
          additionalProperties: false
          nullable: true
          example: null
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    ObjectBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          nullable: true
        DataContext:
          $ref: '#/components/schemas/ErrorDataContext'
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    HttpStatusCode:
      enum:
        - 100
        - 101
        - 102
        - 103
        - 200
        - 201
        - 202
        - 203
        - 204
        - 205
        - 206
        - 207
        - 208
        - 226
        - 300
        - 301
        - 302
        - 303
        - 304
        - 305
        - 306
        - 307
        - 308
        - 400
        - 401
        - 402
        - 403
        - 404
        - 405
        - 406
        - 407
        - 408
        - 409
        - 410
        - 411
        - 412
        - 413
        - 414
        - 415
        - 416
        - 417
        - 421
        - 422
        - 423
        - 424
        - 426
        - 428
        - 429
        - 431
        - 451
        - 500
        - 501
        - 502
        - 503
        - 504
        - 505
        - 506
        - 507
        - 508
        - 510
        - 511
      type: integer
      format: int32
    TicketDetailModel:
      type: object
      properties:
        Id:
          type: string
          description: Ticket identifier.
          format: uuid
        Title:
          type: string
          description: Ticket title/subject.
        Number:
          type: integer
          description: Sequential ticket number.
          format: int64
          nullable: true
        DisplayNumber:
          type: string
          description: Human-readable ticket number, including any service-provider prefix.
        ClientId:
          type: integer
          description: Identifier of the client the ticket belongs to.
          format: int64
          nullable: true
        LocationId:
          type: integer
          description: Identifier of the client location the ticket belongs to.
          format: int64
          nullable: true
        ContactId:
          type: integer
          description: Identifier of the primary contact.
          format: int64
          nullable: true
        CcContactIds:
          type: array
          items:
            type: integer
            format: int64
          description: Identifiers of additional (CC) contacts.
        LeadAssigneeId:
          type: integer
          description: Identifier of the lead assignee (technician).
          format: int64
          nullable: true
        AssistingAssigneeIds:
          type: array
          items:
            type: integer
            format: int64
          description: Identifiers of assisting assignees (technicians).
        WatcherIds:
          type: array
          items:
            type: integer
            format: int64
          description: Identifiers of technicians watching the ticket.
        GroupIds:
          type: array
          items:
            type: integer
            format: int64
          description: Identifiers of all technician groups the ticket is assigned to.
        PrimaryGroupId:
          type: integer
          description: Identifier of the primary technician group.
          format: int64
          nullable: true
        Status:
          $ref: '#/components/schemas/CodeModel'
        StatusUpdatedOn:
          type: string
          description: Timestamp of the last status change (UTC).
          format: date-time
          nullable: true
        StatusReason:
          type: string
          description: Reason recorded for the current status, when applicable.
        Priority:
          $ref: '#/components/schemas/CodeModel'
        Source:
          $ref: '#/components/schemas/CodeModel'
        Type:
          $ref: '#/components/schemas/CodeModel'
        TagIds:
          type: array
          items:
            type: integer
            format: int64
          description: Identifiers of tags applied to the ticket.
        ChecklistSummary:
          $ref: '#/components/schemas/ChecklistSummaryModel'
        IsUnread:
          type: boolean
          description: Whether the ticket is currently unread.
        IsWaitingOnThem:
          type: boolean
          description: >-
            Whether the ticket is waiting on the client rather than on the
            service provider.
        IsMerged:
          type: boolean
          description: Whether the ticket has been merged into another ticket.
        MergedIntoTicketId:
          type: integer
          description: Identifier of the ticket this one was merged into, if any.
          format: int64
          nullable: true
        MergedTicketIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of tickets merged into this one.
        Sla:
          $ref: '#/components/schemas/SlaModel'
        LastUpdate:
          $ref: '#/components/schemas/LastUpdateModel'
        CreatedOn:
          type: string
          description: Ticket creation timestamp (UTC).
          format: date-time
          nullable: true
        UpdatedOn:
          type: string
          description: >-
            Ticket last-updated timestamp (UTC). Default sort key for the list
            endpoint.
          format: date-time
          nullable: true
        ClosedOn:
          type: string
          description: Ticket closed timestamp (UTC), if closed.
          format: date-time
          nullable: true
        Description:
          type: string
          description: "The ticket's description — the body of its first (primary) comment, as plain text.\r\nNull when the ticket has no primary comment recorded."
          nullable: true
        AgentAssetIds:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Identifiers of the managed devices (agent assets) currently linked
            to the ticket.
        CustomAssetIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the custom assets currently linked to the ticket.
        UptimeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the uptime checks currently linked to the ticket.
        Time:
          $ref: '#/components/schemas/TicketTimeModel'
        Products:
          $ref: '#/components/schemas/TicketProductsModel'
        BillingOverride:
          $ref: '#/components/schemas/TicketBillingOverrideModel'
        Shipments:
          type: array
          items:
            $ref: '#/components/schemas/TicketShipmentModel'
          description: >-
            Shipment tracking attached to the ticket, one entry per tracking
            number.
        Banner:
          type: string
          description: Banner text shown on the ticket. May contain HTML.
          nullable: true
      additionalProperties: false
      description: "A ticket's full detail, as returned by the single-ticket endpoint. Every field the ticket list\r\nserves is present and carries the same value; the fields below are the ones the list leaves out\r\nbecause they each cost an extra read and are rarely wanted for every row of a page.\r\nAll timestamps are UTC."
    Error:
      type: object
      properties:
        Code:
          pattern: ^[0-9]{6}$
          type: string
          description: 6-digit MMTTNN error code. See the Public API error-code registry.
          example: '070101'
        Message:
          type: string
        PropertyName:
          type: string
          nullable: true
        ActionHint:
          type: string
          nullable: true
        DocUrl:
          type: string
          nullable: true
      additionalProperties: false
    ErrorDataContext:
      type: object
      properties:
        TraceId:
          type: string
          description: Request correlation id. Quote this when reporting a problem.
          nullable: true
      additionalProperties: false
      description: "The `DataContext` of an error response: carries the correlation id for the failed\r\nrequest."
    CodeModel:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            Numeric identifier of the coded value (e.g. status, priority, type,
            or source id).
          format: int64
          example: 1
        Name:
          type: string
          description: Display name of the coded value.
      additionalProperties: false
      description: >-
        A coded value, such as a status, priority, type or source, as an id and
        a display name.
    ChecklistSummaryModel:
      type: object
      properties:
        Completed:
          type: integer
          description: How many checklist items are completed.
          format: int32
        Total:
          type: integer
          description: How many checklist items exist in total.
          format: int32
      additionalProperties: false
      description: Checklist completion across every checklist on a ticket.
    SlaModel:
      type: object
      properties:
        FirstResponse:
          $ref: '#/components/schemas/SlaFirstResponseModel'
      additionalProperties: false
      description: SLA information for a ticket.
    LastUpdateModel:
      type: object
      properties:
        UpdateType:
          type: string
          description: "Type of the last update: New, CommentCreated, StatusUpdated, TechnicianMentioned,\r\nExternalCommentCreated, TechnicianUpdated, Read, Unread. Empty for any other update."
        Summary:
          type: string
          description: Short summary of the last update.
        'On':
          type: string
          description: Timestamp of the last update (UTC).
          format: date-time
          nullable: true
      additionalProperties: false
      description: Summary of the most recent update to a ticket.
    TicketTimeModel:
      type: object
      properties:
        ActualHours:
          type: number
          description: >-
            All time recorded against the ticket as timed, whatever its billable
            state.
          format: double
        AdjustedHours:
          type: number
          description: The same total after manual corrections to individual entries.
          format: double
        Breakdown:
          $ref: '#/components/schemas/TicketTimeBreakdownModel'
      additionalProperties: false
      description: "Time logged against a ticket, in decimal hours, summed from the ticket's time entries.\r\n            \r\nEvery figure comes in two forms: the time as the timer actually recorded it, and the time as it\r\nstands after a technician corrected an entry by hand. An entry with no correction reports the\r\nsame value for both, so the two totals differ only on tickets where someone adjusted an entry.\r\n            \r\nAn entry still being timed, or one whose recorded end precedes its start, has no usable duration\r\nand contributes nothing. Each figure is rounded to four decimal places."
    TicketProductsModel:
      type: object
      properties:
        Count:
          type: integer
          description: How many products are on the ticket, whatever their billable state.
          format: int32
        TotalAmount:
          type: number
          description: "What those products are worth to the client, in the service provider's currency: each\r\nbillable product's price × quantity, rounded to two decimals, summed. Products marked not\r\nbillable, hidden or void are counted by `Count` but contribute nothing here,\r\nbecause invoicing bills them as zero. Excludes tax."
          format: double
      additionalProperties: false
      description: The products added to a ticket.
    TicketBillingOverrideModel:
      type: object
      properties:
        ServiceLine:
          $ref: '#/components/schemas/CodeModel'
        BillingRole:
          $ref: '#/components/schemas/CodeModel'
        WorkType:
          $ref: '#/components/schemas/CodeModel'
        BillableStatus:
          $ref: '#/components/schemas/CodeModel'
      additionalProperties: false
      description: Billing settings overridden at the ticket level.
    TicketShipmentModel:
      type: object
      properties:
        TrackingNumber:
          type: string
          description: The carrier's tracking number.
        Carrier:
          type: string
          description: The carrier, as its tracking slug (e.g. "star-track").
        Status:
          $ref: '#/components/schemas/CodeModel'
        Name:
          type: string
          description: Label given to the shipment on the ticket.
          nullable: true
      additionalProperties: false
      description: One shipment tracked on a ticket.
    SlaFirstResponseModel:
      type: object
      properties:
        ElapsedBusinessMinutes:
          type: number
          description: "Time from the ticket being created to its first response, in minutes.\r\n            Null until the ticket has had a first response."
          format: double
          nullable: true
      additionalProperties: false
      description: First-response SLA details.
    TicketTimeBreakdownModel:
      type: object
      properties:
        Billable:
          $ref: '#/components/schemas/TicketTimeBucketModel'
        NotBillable:
          $ref: '#/components/schemas/TicketTimeBucketModel'
        NotBillableHidden:
          $ref: '#/components/schemas/TicketTimeBucketModel'
      additionalProperties: false
      description: "A ticket's time split by billable state. An entry stays in its billable-state bucket\r\nwhatever its position in the billing pipeline — approved or invoiced time is not moved\r\nelsewhere — so the buckets do not overlap."
    TicketTimeBucketModel:
      type: object
      properties:
        ActualHours:
          type: number
          description: Hours as the timer recorded them.
          format: double
        AdjustedHours:
          type: number
          description: Hours after any manual correction to the entry.
          format: double
      additionalProperties: false
      description: One bucket of a ticket's time, in decimal hours.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: >-
        Your Gorelo API key. See [Generate API key](/generate-api-key). If your
        data is hosted in Australia, click the base URL at the top of this page
        and select `https://api.aue.gorelo.io`.
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.