---
title: "List"
method: GET
path: "/shipping_integrations/courie/orders/list/v1"
tags: ["/shipping_integrations"]
---

# List

`GET /shipping_integrations/courie/orders/list/v1`

Lists mirrored Courie orders for the caller's organization with filtering, sorting, and pagination. | () -> (CourieOrderListRes)

## Query parameters

- `sort_by` 'mirrored_at_timestamp' | 'created_at_timestamp' | 'updated_at_timestamp' | 'integration_order_id'
- `sort_order` 'asc' | 'desc' — Sort order for query results
- `page` integer
- `page_size` integer
- `filter_provider_org_id` string[], nullable — Filter by provider org ID(s)
- `filter_integration_order_id` string, nullable — Filter by Courie's exact order ID
- `filter_customer_id` string, nullable — Filter by the Courie customer the order belongs to
- `filter_provider_status` 'CREATED' | 'ASSIGNED' | 'IN_TRANSIT' | 'COMPLETED' | 'ATTEMPTED' | 'ON_HOLD' | 'DELETED' | 'FAILED' — Courie's own order status. The spec documents these only as a bare enum list with no per-value meaning. `IN_TRANSIT`, `ON_HOLD` and `DELETED` have not been observed live. `unified.py` derives progress from the pickup milestone rather than this field.
- `filter_mirrored_at_timestamp_gte` string, date-time, nullable — Filter mirrored_at_timestamp >= value
- `filter_mirrored_at_timestamp_lte` string, date-time, nullable — Filter mirrored_at_timestamp <= value
- `filter_created_at_timestamp_gte` string, date-time, nullable — Filter created_at_timestamp >= value
- `filter_created_at_timestamp_lte` string, date-time, nullable — Filter created_at_timestamp <= value
- `filter_updated_at_timestamp_gte` string, date-time, nullable — Filter updated_at_timestamp >= value
- `filter_updated_at_timestamp_lte` string, date-time, nullable — Filter updated_at_timestamp <= value

## Response `200`

Successful Response

- CourieOrderListRes
  - `items` CourieOrder1[], required
    - `schema_version` 1, required
    - `_id` string, required
    - `org_id` string, required — Must be a string starting with `org_`
    - `shipping_integration` 'courie', required
    - `provider_org_id` string, required — Must be a string starting with `org_`
    - `integration_order_id` string, required
    - `provider_payload` CourieOrderResponse1, required — One Courie order, as returned by both the list and detail endpoints. The list endpoint returns this same complete shape, so the mirror never needs a per-order detail call.
      - `id` string, required
      - `remoteId` string, nullable
      - `status` 'CREATED' | 'ASSIGNED' | 'IN_TRANSIT' | 'COMPLETED' | 'ATTEMPTED' | 'ON_HOLD' | 'DELETED' | 'FAILED', required — Courie's own order status. The spec documents these only as a bare enum list with no per-value meaning. `IN_TRANSIT`, `ON_HOLD` and `DELETED` have not been observed live. `unified.py` derives progress from the pickup milestone rather than this field.
      - `statusDescription` string, nullable
      - `customerId` string, required
      - `customerCompanyName` string, nullable
      - `trackingNumber` string, nullable
      - `trackingUrl` string, nullable
      - `referenceNumber` string, nullable
      - `displayId` integer, nullable
      - `pickedUpAt` string, date-time, nullable
      - `deliveredAt` string, date-time, nullable
      - `activities` CourieOrderEventResponse1[]
        - `event` 'CREATED' | 'PICKED_UP' | 'DROPPED_OFF' | 'RETURNED_TO_PICK_UP' | 'ATTEMPTED' | 'COMPLETED', required — Activity event types. NOTE: there is no assignment event, so an order moving to `ASSIGNED` leaves no trace here and status cannot be reconstructed from this log.
        - `timestamp` string, date-time, required
        - `address` string, nullable
      - `proofOfPickUps` CourieProofOfDeliveryResponse1[]
        - `type` string, nullable
        - `url` string, nullable
        - `signedBy` string, nullable
        - `timestamp` string, nullable
      - `proofOfDeliveries` CourieProofOfDeliveryResponse1[]
        - `type` string, nullable
        - `url` string, nullable
        - `signedBy` string, nullable
        - `timestamp` string, nullable
      - `shipmentDate` string, nullable
      - `shipmentType` string, nullable
      - `serviceTypeName` string, nullable
      - `vehicleTypeName` string, nullable
      - `packageSize` string, nullable
      - `numPackages` integer, nullable
      - `packageWeightInPounds` number, nullable
      - `packageTypeName` string, nullable
      - `packageDescription` string, nullable
      - `stops` CourieStopResponse1[]
        - `type` 'PICK_UP' | 'DROP_OFF', required
        - `address` CourieAddressResponse1
          - `streetAddress` string, nullable
          - `suite` string, nullable
          - `city` string, nullable
          - `state` string, nullable
          - `postalCode` string, nullable
          - `country` string, nullable
          - `display` string, nullable
          - `lngLat` CourieLatLngResponse1
            - `latitude` number, nullable
            - `longitude` number, nullable
            - `valid` boolean, nullable
        - `contactName` string, nullable
        - `companyName` string, nullable
        - `phone` string, nullable
        - `suite` string, nullable
        - `instruction` string, nullable
        - `completedAt` integer, nullable
        - `attemptedAt` integer, nullable
        - `ready` integer, nullable
        - `due` integer, nullable
        - `stopSequenceNumber` integer, nullable
        - `orderId` string, nullable
        - `driverStopSequenceNumber` integer, nullable
        - `driver` CourieDriverResponse1
          - `firstName` string, nullable
          - `lastName` string, nullable
        - `locationScans` CourieLocationScanResponse1[]
          - `code` string, nullable
          - `scannedAt` integer, nullable
        - `attempts` CourieStopAttemptResponse1[]
          - `date` string, nullable
          - `reason` CourieAttemptReasonResponse1
            - `name` string, nullable
            - `code` string, nullable
        - `driverAnswers` CourieDriverAnswerResponse1[]
          - `question` string, nullable
          - `type` string, nullable
          - `answer` string, nullable
          - `photoUrl` string, nullable
      - `packages` CouriePackageResponse1[]
        - `reference` string, nullable
        - `status` string, nullable
      - `packageItems` CouriePackageItemResponse1[]
        - `weight` number, nullable
        - `length` number, nullable
        - `width` number, nullable
        - `height` number, nullable
        - `quantity` integer, nullable
      - `customFields` CourieCustomFieldResponse1[]
        - `name` string, nullable
        - `type` string, nullable
        - `value` string, nullable
    - `provider_payload_hash` string, required
    - `created_at_timestamp` string, date-time, required
    - `updated_at_timestamp` string, date-time, required
    - `mirrored_at_timestamp` string, date-time, required
  - `total_count` integer, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-21** `9a30893d8db1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/chrt/apis/chrt-fastapi/changes/shipping_integrations/courie/orders/list/v1/get.md)

---

[API](https://skmtc.dev/chrt/apis/chrt-fastapi.md) · [All operations](https://skmtc.dev/chrt/apis/chrt-fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/chrt/apis/chrt-fastapi/revisions/1a1e5a995fc9?raw)
