Shipments

List Shipments

Returns a paginated list of shipments for an account.

get/shipments

Query parameters

account_idstring

The account to list shipments for. Defaults to the acting account.

status'unknown' | 'pre_transit' | 'in_transit' | 'out_for_delivery' | 'delivered' | 'available_for_pickup' | 'return_to_sender' | 'failure' | 'cancelled' | 'error'

Filter to shipments with this delivery status.

payment_idstring[]

Only shipments fulfilling these payments, each prefixed pay_. Repeat the parameter to pass several, up to 100 per request — one paginated list covers all of them.

[
  "pay_xxxxxxxxxxxxxx"
]
created_beforestring

Return shipments created before this ISO 8601 timestamp.

created_afterstring

Return shipments created after this ISO 8601 timestamp.

order'created_at'

The field to sort by.

direction'asc' | 'desc'

The sort direction.

firstinteger

Number of results to return from the start of the range.

afterstring

Return results after this cursor. Use page_info.end_cursor from the previous response to fetch the next page.

lastinteger

Number of results to return from the end of the range.

beforestring

Return results before this cursor. Use page_info.start_cursor from the previous response to fetch the previous page.

Response

excludes the created_after boundary row

Example response

{
  "data": [
    {
      "account_id": "biz_xxxxxxxxxxxxxx",
      "carrier": "ups",
      "checkpoints": [
        {
          "location": "PHILADELPHIA, PA",
          "message": "Picked up",
          "status": "in_transit",
          "timestamp": "2026-01-01T12:00:00.000Z"
        }
      ],
      "created_at": "2026-01-01T12:00:00.000Z",
      "id": "ship_xxxxxxxxxxxxxx",
      "payment_id": "pay_xxxxxxxxxxxxxx",
      "status": "in_transit",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.aftership.com/xxxxxxxxxxxxxxxxxx",
      "updated_at": "2026-01-01T12:00:00.000Z"
    }
  ],
  "page_info": {
    "start_cursor": "WyJjdXJzb3IiLDFd"
  }
}

Changes

Changed in 5 of the 74 revisions of this API.101222

  • ff3a7657356312See the full diff
    • ▲

      for the query request parameter first, default value 20 was added

      request-parameter-default-value-added

    • ●

      for the query request parameter first, the max was set to 100.00

      request-parameter-max-set

    • ●

      for the query request parameter last, the max was set to 100.00

      request-parameter-max-set

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    This revision also has 9 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 099fdc3be42281017See the full diff
    • ▲

      for the query request parameter payment_id, the type changed from string null to array

      request-parameter-type-changed

    • ▲

      the // response's property format changed from date-time to no format for status

      response-property-type-changed

    • ▲

      the // response's property format changed from date-time to no format for status

      response-property-type-changed

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    • ●

      deleted the query request parameter company_id

      request-parameter-removed

    • ●

      deleted the query request parameter user_id

      request-parameter-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property / from the response with the status

      response-optional-property-removed

    • ○

      api operation id listShipment removed and replaced with listShipments

      api-operation-id-removed

    • ○

      the security scope payment:basic:read was removed from the endpoint's security scheme bearerAuth

      api-security-scope-removed

    • ○

      added the new optional header request parameter Api-Version-Date to all path's operations

      new-optional-request-default-parameter-to-existing-path

    • ○

      added the new optional query request parameter account_id

      new-optional-request-parameter

    • ○

      added the new optional query request parameter created_after

      new-optional-request-parameter

    • ○

      added the new optional query request parameter created_before

      new-optional-request-parameter

    • ○

      added the new optional query request parameter direction

      new-optional-request-parameter

    • ○

      added the new optional query request parameter order

      new-optional-request-parameter

    • ○

      added the new optional query request parameter status

      new-optional-request-parameter

    • ○

      removed the non-success response with the status

      response-non-success-status-removed

    • ○

      removed the non-success response with the status

      response-non-success-status-removed

    • ○

      removed the non-success response with the status

      response-non-success-status-removed

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ▲

      removed the required property // from the response with the status

      response-required-property-removed

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 74 revisions, 1 has no diff computed.