> ## 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 support tickets

> Retrieve a paginated list of support tickets for your organization, with optional filters for status, carrier, parcel, and date range.



## OpenAPI

````yaml /.openapi/v3/support/openapi.yaml get /dsf/tickets
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:
    get:
      tags:
        - Retrieve tickets
      summary: Retrieve support tickets
      description: >-
        Retrieve a paginated list of support tickets for your organization, with
        optional filters for status, carrier, parcel, and date range.
      operationId: sc-public-v3-dsf-get-tickets
      parameters:
        - schema:
            type: integer
            minimum: 1
            default: 1
            example: 1
          in: query
          name: page
          description: The page number to retrieve (1-indexed).
          required: false
        - schema:
            type: integer
            minimum: 1
            maximum: 20
            default: 15
            example: 15
          in: query
          name: size
          description: The number of items per page (max 20).
          required: false
        - schema:
            $ref: '#/components/schemas/TicketStatus'
          in: query
          name: status
          description: Filter by ticket status.
          required: false
        - schema:
            type: integer
            example: 12345
          in: query
          name: parcel_id
          description: Filter by Sendcloud parcel ID.
          required: false
        - schema:
            type: string
            example: postnl
          in: query
          name: carrier
          description: Filter by carrier code.
          required: false
        - schema:
            type: string
            format: date-time
            example: '2026-01-01T00:00:00Z'
          in: query
          name: created_after
          description: Filter tickets created on or after this date (ISO 8601).
          required: false
        - schema:
            type: string
            format: date-time
            example: '2026-12-31T23:59:59Z'
          in: query
          name: created_before
          description: Filter tickets created on or before this date (ISO 8601).
          required: false
      responses:
        '200':
          $ref: '#/components/responses/TicketListResponse'
        '400':
          $ref: '#/components/responses/TicketBadRequest'
        '429':
          $ref: '#/components/responses/RateLimitExceededResponse'
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds: []
components:
  schemas:
    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
    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
    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).
  responses:
    TicketListResponse:
      description: OK
      content:
        application/json:
          schema:
            type: object
            required:
              - items
              - total
              - page
              - pages
              - size
            properties:
              total:
                type: integer
                description: Total number of tickets across all pages.
                example: 42
              page:
                type: integer
                description: Current page number.
                example: 1
              pages:
                type: integer
                description: Total number of pages.
                example: 3
              size:
                type: integer
                description: Number of items per page.
                example: 15
              items:
                type: array
                items:
                  $ref: '#/components/schemas/TicketResponse'
          example:
            total: 42
            page: 1
            pages: 3
            size: 15
            items:
              - 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: []
                resolution: null
              - id: 87
                status: claim_paid
                stage: manually_solved_stage
                type: lost
                parcel_id: 55432
                carrier: dpd
                order_number: ORD-2026-5678
                brand_id: 1
                created_at: '2026-02-01T08:00:00+00:00'
                updated_at: '2026-02-20T16:45:00+00:00'
                requested_actions: []
                resolution:
                  outcome: claim_approved
                  amount: 149.99
                  currency: EUR
                  solved_at: '2026-02-20T16:45:00+00:00'
    TicketBadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsResponseSchema'
          examples:
            Invalid status filter:
              value:
                errors:
                  - code: bad_request
                    detail: 'Invalid status: invalid_value'
                    title: Bad Request
                    status: 400
    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
  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.

````