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

# Retrieve a support ticket

> Retrieve a single support ticket by its ID. Returns 404 if the ticket does not exist or does not belong to your organization.



## OpenAPI

````yaml /.openapi/v3/support/openapi.yaml get /dsf/tickets/{ticket_id}
openapi: 3.1.0
info:
  title: Support API [BETA]
  version: 3.0.0
  contact:
    name: Sendcloud API Support
    url: https://www.sendcloud.dev
    email: contact@sendcloud.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: >-
    The Sendcloud Support API lets you create support tickets easily and
    efficiently. This API can be used in conjunction with other core Sendcloud
    features or independently.
servers:
  - url: https://panel.sendcloud.sc/api/v3
    description: Sendcloud Production
security: []
tags:
  - name: Support
    description: Sendcloud's Support API
  - name: File upload
  - name: Carrier support contacts
  - name: Create ticket
  - name: Documents
  - name: Requested data
paths:
  /dsf/tickets/{ticket_id}:
    get:
      tags:
        - Retrieve tickets
      summary: Retrieve a support ticket
      description: >-
        Retrieve a single support ticket by its ID. Returns 404 if the ticket
        does not exist or does not belong to your organization.
      operationId: sc-public-v3-dsf-get-tickets_id
      parameters:
        - schema:
            type: integer
            format: int64
            example: 42
          in: path
          name: ticket_id
          description: The ID of the ticket to retrieve.
          required: true
      responses:
        '200':
          $ref: '#/components/responses/TicketDetailResponse'
        '404':
          $ref: '#/components/responses/TicketNotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceededResponse'
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds: []
components:
  responses:
    TicketDetailResponse:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TicketResponse'
          example:
            id: 42
            status: pending
            stage: in_progress
            type: damaged
            parcel_id: 98765
            carrier: postnl
            order_number: ORD-2026-1234
            brand_id: 3
            created_at: '2026-03-15T10:30:00+00:00'
            updated_at: '2026-03-18T14:22:00+00:00'
            requested_actions:
              - id: 301
                data_type: sales_invoice
                created_at: '2026-03-16T09:00:00+00:00'
            resolution: null
    TicketNotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsResponseSchema'
          example:
            errors:
              - code: bad_request
                detail: Ticket not found
                title: Bad Request
                status: 404
    RateLimitExceededResponse:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsResponseSchema'
          example:
            errors:
              - code: hit_rate_limit
                detail: 'Rate limit exceeded: 30 per 1 minute'
                title: Rate limit exceeded
                status: 429
  schemas:
    TicketResponse:
      title: Support ticket
      type: object
      description: >-
        A support ticket with its current status, parcel information, any
        outstanding data requests, and resolution details.
      required:
        - id
        - status
        - stage
        - created_at
        - requested_actions
      properties:
        id:
          type: integer
          description: Unique ticket ID.
        status:
          $ref: '#/components/schemas/TicketStatus'
        stage:
          type: string
          description: High-level stage of the ticket lifecycle.
          enum:
            - in_progress
            - action_required
            - manually_solved_stage
            - solved_by_automation_stage
            - unknown
        type:
          type:
            - string
            - 'null'
          description: Ticket category (e.g. damaged, lost, delayed).
          enum:
            - address_change
            - damaged
            - delayed
            - delivered_not_received
            - late_delivery
            - lost
            - unjust_return
            - other_shipping
            - null
        parcel_id:
          type:
            - integer
            - 'null'
          description: Sendcloud parcel ID.
        carrier:
          type:
            - string
            - 'null'
          description: Carrier code (e.g. postnl, dpd, ups).
        order_number:
          type:
            - string
            - 'null'
          description: Order number associated with the parcel.
        brand_id:
          type:
            - integer
            - 'null'
          description: Brand ID associated with the parcel.
        created_at:
          type: string
          format: date-time
          description: Ticket creation timestamp (ISO 8601).
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Last update timestamp (ISO 8601).
        requested_actions:
          type: array
          description: Outstanding data requests from the carrier.
          items:
            $ref: '#/components/schemas/RequestedAction'
        resolution:
          description: Resolution details, present only when the ticket is resolved.
          oneOf:
            - $ref: '#/components/schemas/TicketResolution'
            - type: 'null'
    ErrorsResponseSchema:
      description: Support API error response.
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                title: Error code
                type: string
              detail:
                title: Error description
                type: string
              title:
                title: Error title
                type: string
              status:
                title: HTTP status code
                type: integer
      required:
        - errors
    TicketStatus:
      type: string
      description: Current ticket status.
      enum:
        - action_required
        - carrier_reminder_sent
        - carrier_update_received
        - claim_paid
        - closed
        - communicated_to_carrier
        - customer_documents_requested
        - customer_reminder_sent
        - delayed
        - delivered_scan_received
        - delivery_confirmation_rejected
        - delivery_confirmation_requested
        - documents_forwarded_to_carrier
        - escalated
        - escalated_ava
        - hold
        - manually_solved
        - new_scan_received
        - pending
        - processing
        - smart_refund_available
        - smart_refund_update
        - solved
        - solved_by_automation
        - unknown
        - waiting_for_carrier
        - waiting_for_customer
        - waiting_for_scan
    RequestedAction:
      title: Requested action
      type: object
      description: An outstanding data request on a ticket.
      required:
        - id
        - data_type
        - created_at
      properties:
        id:
          type: integer
          description: Request ID.
        data_type:
          type: string
          description: Type of data being requested.
          enum:
            - claim_letter
            - sales_invoice
            - sales_data
            - purchase_invoice
            - description_of_contents
            - customer_confirmation
            - exterior_photo
            - interior_photo
            - damage_photo
            - carrier_claims_form
            - other
        created_at:
          type: string
          format: date-time
          description: When the request was created (ISO 8601).
    TicketResolution:
      title: Ticket resolution
      type: object
      description: How a ticket was resolved.
      required:
        - outcome
      properties:
        outcome:
          type: string
          description: Resolution outcome.
          enum:
            - claim_approved
            - claim_declined
            - claim_closed_in_carrier_portal
            - delivered
            - returned
            - solved_merchant
            - address_change_confirmed
            - address_change_declined
            - address_change_requested
            - impossible_to_open_claim
        amount:
          type:
            - number
            - 'null'
          description: Compensation amount.
        currency:
          type:
            - string
            - 'null'
          description: Compensation currency (ISO 4217).
        solved_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When the ticket was resolved (ISO 8601).
  securitySchemes:
    HTTPBasicAuth:
      type: http
      description: >-
        Basic Authentication using API key and secrets is currently the main
        authentication mechanism.
      scheme: basic
    OAuth2ClientCreds:
      type: oauth2
      description: >-
        OAuth2 is a standardized protocol for authorization that allows users to
        share their private resources stored on one site with another site
        without having to provide their credentials. OAuth2 Client Credentials
        Grant workflow. This workflow is typically used for server-to-server
        interactions that require authorization to access specific resources.
      flows:
        clientCredentials:
          tokenUrl: https://account.sendcloud.com/oauth2/token/
          scopes:
            api: Default OAuth scope required to access Sendcloud API.

````