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

# Retrieve Case

> Get the status and history of a case

Check the status of a case for a Managed Account order. Cases are automatically opened when orders are cancelled, returns are requested, or other issues occur.

## Case States

| State    | Description                            |
| :------- | :------------------------------------- |
| `null`   | No case has been opened for this order |
| `open`   | A case has been opened for this order  |
| `closed` | A case has been closed for this order  |

## Message Types

The `messages` array contains the entire case history with these possible types:

| Message Type                             | Description                                                       |
| :--------------------------------------- | :---------------------------------------------------------------- |
| `case.opened.return.request_label`       | A case has been opened for a return label                         |
| `case.opened.nondelivery.not_delivered`  | A case has been opened for a non-delivery issue                   |
| `case.opened.nondelivery.damaged`        | A case has been opened for a damaged package                      |
| `case.opened.nondelivery.empty_box`      | A case has been opened for an empty box                           |
| `case.opened.tracking.request_update`    | A case has been opened requesting an update on an order status    |
| `case.opened.cancel.forced_cancellation` | A case has been opened for an order force cancelled by the source |
| `case.opened.other`                      | A catch-all category for a case                                   |
| `case.freetext`                          | A generic, free text case response                                |
| `case.return.label_generated`            | A return label has been generated                                 |
| `case.return.status_updated`             | The case status has been updated                                  |
| `case.refund.partial`                    | The case has resulted in a partial refund being issued            |
| `case.refund.full`                       | The case has resulted in a full refund being issued               |
| `case.closed`                            | The case has been closed                                          |

<Info>
  The most up-to-date case status is represented by the latest object in the `messages` list.
</Info>


## OpenAPI

````yaml GET /v1/orders/{order_id}/case
openapi: 3.0.0
info:
  title: Zinc API
  version: 1.0.0
  description: API for placing orders and retrieving product data from top retailers.
servers:
  - url: https://api.zinc.io
    description: Production server
security:
  - basicAuth: []
paths:
  /v1/orders/{order_id}/case:
    get:
      summary: Retrieve Case
      description: Get the status and history of a case for a Managed Account order
      parameters:
        - name: order_id
          in: path
          required: true
          schema:
            type: string
          description: The order ID to retrieve case information for
      responses:
        '200':
          description: Case information retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseResponse'
components:
  schemas:
    CaseResponse:
      type: object
      properties:
        state:
          type: string
          description: Current state of the case
          enum:
            - open
            - closed
          nullable: true
        messages:
          type: array
          description: Array of case messages and updates
          items:
            type: object
            properties:
              type:
                type: string
                description: Type of case message
                enum:
                  - case.opened.return.request_label
                  - case.opened.nondelivery.not_delivered
                  - case.opened.nondelivery.damaged
                  - case.opened.nondelivery.empty_box
                  - case.opened.tracking.request_update
                  - case.opened.cancel.forced_cancellation
                  - case.opened.other
                  - case.freetext
                  - case.return.label_generated
                  - case.return.status_updated
                  - case.refund.partial
                  - case.refund.full
                  - case.closed
              message:
                type: string
                description: Message content
              timestamp:
                type: string
                format: date-time
                description: When the message was created
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Use your client token as the username. Leave the password blank.

````