# List Custom Order Statuses

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v1/managers/store/orders/custom-statuses:
    get:
      summary: List Custom Order Statuses
      deprecated: false
      description: >-
        Fetch main order statuses with their custom sub-statuses for the
        authenticated manager’s store.


        <Accordion title="🔑Scopes" defaultOpen>
            
         `orders.read_write` - Orders Read & Write
         
        </Accordion>


        <Accordion title="🔑Permission" defaultOpen>
            
        ` can:orders.custom.statuses.view`
         
        </Accordion>
      tags:
        - Default module/Apps/Merchant APIs/Orders
      parameters:
        - name: Authorization
          in: header
          description: >-
            Bearer token for API authentication. This token must be obtained via
            OAuth and should include the necessary scopes.
          required: true
          example: '{{Autherization}}'
          schema:
            type: string
        - name: X-MANAGER-TOKEN
          in: header
          description: >-
            Unique manager token used to authorize requests at a manager level,
            specific to each partner.
          required: false
          example: '{{Access-Token}}'
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            Specifies the media type that is acceptable for the response, which
            should be JSON.
          required: false
          example: application/json
          schema:
            type: string
        - name: Accept-Language
          in: header
          description: Specifies the language for the response. Use "ar" for Arabic.
          required: false
          example: en
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Successful response containing a list of main order statuses
                  with optional custom sub-statuses.
                required:
                  - code
                  - payload
                properties:
                  code:
                    type: string
                    description: Response status code indicating a successful list payload.
                    examples:
                      - SUCCESS_WITH_LIST_PAYLOAD_OBJECTS
                  message:
                    type: string
                    description: Optional human-readable message. Usually null on success.
                    examples:
                      - null
                    nullable: true
                  payload:
                    type: array
                    description: List of main order statuses.
                    items:
                      type: object
                      required:
                        - id
                        - status
                        - code
                        - is_customizable
                        - sub_statuses
                      properties:
                        id:
                          type: integer
                          description: Main (predefined) order status ID.
                          examples:
                            - 1
                        status:
                          type: string
                          description: Localized main order status name.
                          examples:
                            - جديد
                        code:
                          type: string
                          description: Main order status code.
                          examples:
                            - new
                        is_customizable:
                          type: boolean
                          description: Whether this main status allows custom sub-statuses.
                          examples:
                            - true
                        sub_statuses:
                          type: array
                          description: List of custom sub-statuses under this main status.
                          items:
                            type: object
                            required:
                              - id
                              - name
                              - code
                              - color
                              - is_active
                              - display_order
                              - parent_status_id
                              - created_at
                              - updated_at
                            properties:
                              id:
                                type: integer
                                description: Custom sub-status ID.
                                examples:
                                  - 10005
                              name:
                                type: object
                                description: Localized custom sub-status name.
                                required:
                                  - ar
                                  - en
                                properties:
                                  ar:
                                    type: string
                                    description: Arabic name.
                                    examples:
                                      - جاري التغليف
                                  en:
                                    type: string
                                    description: English name.
                                    examples:
                                      - packaging
                                x-apidog-orders:
                                  - ar
                                  - en
                                x-apidog-ignore-properties: []
                              code:
                                type: string
                                description: >-
                                  Custom sub-status code (unique per main
                                  status).
                                examples:
                                  - packaging
                              color:
                                type: string
                                description: Hex color code used for UI display.
                                examples:
                                  - '#c33c3c'
                              is_active:
                                type: boolean
                                description: Whether the custom sub-status is active.
                                examples:
                                  - true
                              display_order:
                                type: integer
                                description: >-
                                  Display order for the custom sub-status
                                  (0-based).
                                examples:
                                  - 1
                              parent_status_id:
                                type: integer
                                description: ID of the parent main order status.
                                examples:
                                  - 2
                              created_at:
                                type: string
                                description: Creation timestamp (YYYY-MM-DD HH:mm:ss).
                                examples:
                                  - '2025-09-14 12:47:57'
                              updated_at:
                                type: string
                                description: Last update timestamp (YYYY-MM-DD HH:mm:ss).
                                examples:
                                  - '2025-09-14 12:47:57'
                            x-apidog-orders:
                              - id
                              - name
                              - code
                              - color
                              - is_active
                              - display_order
                              - parent_status_id
                              - created_at
                              - updated_at
                            x-apidog-ignore-properties: []
                      x-apidog-orders:
                        - id
                        - status
                        - code
                        - is_customizable
                        - sub_statuses
                      x-apidog-ignore-properties: []
                x-apidog-orders:
                  - code
                  - message
                  - payload
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: OK
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Response returned when the request cannot be authenticated
                  because the required credentials are missing, invalid, or
                  expired.
                properties:
                  status:
                    type: string
                    description: Indicates the overall status of the API response.
                    examples:
                      - error
                  message:
                    type: object
                    description: >-
                      Contains structured details explaining why the request
                      could not be authenticated.
                    properties:
                      type:
                        type: string
                        description: Indicates the category of the response message.
                        examples:
                          - error
                      code:
                        type: string
                        description: >-
                          A machine-readable code identifying the authentication
                          error. Returns null when no specific code is
                          available.
                        examples:
                          - UNAUTHORIZED
                        nullable: true
                      name:
                        type: string
                        description: >-
                          A short, human-readable title describing the
                          authentication error. Returns null when no title is
                          available.
                        examples:
                          - Unauthorized
                        nullable: true
                      description:
                        type: string
                        description: >-
                          A human-readable explanation of why the request could
                          not be authenticated. Returns null when no detailed
                          explanation is available.
                        examples:
                          - >-
                            Authentication credentials are missing, invalid, or
                            expired.
                        nullable: true
                    required:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-orders:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                examples:
                  - status: error
                    message:
                      type: error
                      code: UNAUTHORIZED
                      name: Unauthorized
                      description: >-
                        Authentication credentials are missing, invalid, or
                        expired.
                x-apidog-ignore-properties: []
              examples:
                '1':
                  summary: Example 1
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_MISSING
                      name: Sorry
                      description: Please login first.
                '2':
                  summary: Example 2
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Login session expired. Please login again.
                '3':
                  summary: Example 3
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Invalid authentication
          headers: {}
          x-apidog-name: Unauthorized
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the error.
                  message:
                    $ref: '#/components/schemas/ResponseEnvelopMessage'
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                x-apidog-ignore-properties: []
              example:
                status: error
                message:
                  type: error
                  code: MSG_HIDDEN
                  name: Error
                  description: Internal Server Error
          headers: {}
          x-apidog-name: Internal Server error
      security: []
      x-apidog-folder: Default module/Apps/Merchant APIs/Orders
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/613905/apis/api-21565825-run
components:
  schemas:
    ResponseEnvelopMessage:
      type: object
      properties:
        type:
          type: string
          description: Type of response message returned by the API.
          examples:
            - success
        code:
          type: string
          description: Response code returned by the API, if available.
          examples:
            - MSG_POPUP_OK
          nullable: true
        name:
          type: string
          description: Name or title of the response message, if available.
          examples:
            - Coupons
          nullable: true
        description:
          type: string
          description: Detailed description of the response message, if available.
          examples:
            - Coupons created successfully
          nullable: true
      required:
        - type
        - code
        - name
        - description
      description: Additional response metadata.
      x-apidog-orders:
        - type
        - code
        - name
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes: {}
servers:
  - url: https://api.zid.sa/
    description: Prod Env
security: []

```
