---
title: "List documents for a shipment"
method: GET
path: "/v1/shipments/{shipment_id}/documents"
tags: ["documents"]
---

# List documents for a shipment

`GET /v1/shipments/{shipment_id}/documents`

Retrieve the carrier documents registered against a shipment, including their processing status.

## Response `200`

The request was a success.

- DocumentStatus[] — The list of documents registered against the shipment or label.
  - `document_id` string — The unique identifier of the document.
  - `type` 'commercial_invoice' | 'certificate_of_origin' | 'usmca_commercial_invoice_certification_of_origin' | 'usmca_certification_of_origin' | 'pro_forma_invoice' | 'other' | 'authorization_form' | 'export_accompanying_document' | 'export_license' | 'import_permit' | 'one_time_nafta' | 'power_of_attorney' | 'packing_list' | 'sed_document' | 'shippers_letter_of_instruction' | 'declaration' | 'section_232_customs_affidavit' — The type of carrier document being registered. Supported values vary by carrier. See the [Carrier Document Upload guide](/apis/@shipengine/docs/labels/carrier-document-upload.md) for the document types each carrier accepts.
  - `file_name` string — The file name of the document.
  - `status` 'awaiting_upload' | 'processing' | 'processing_claimed' | 'invalid' | 'uploaded' | 'queued' | 'sent' | 'failed' — The processing status of a carrier document. - `awaiting_upload` - The document has been registered and is waiting for the file to be uploaded to the provided upload target. - `processing` - The uploaded file is being processed. - `processing_claimed` - The document has been claimed for processing. - `invalid` - The document failed validation and cannot be used. - `uploaded` - The file has been uploaded successfully and is ready to be sent to the carrier. - `queued` - The document is queued to be sent to the carrier. - `sent` - The document has been transmitted to the carrier. - `failed` - Sending the document to the carrier failed.
  - `error` string, nullable — A description of the error when the document is `invalid` or `failed`; otherwise `null`.
  - `external_id` string, nullable — The carrier-assigned identifier for the document once it has been sent; otherwise `null`.

## Other responses

- `404` — The specified resource does not exist.
- `500` — An error occurred on ShipEngine's side. > This error will automatically be reported to our engineers.

---

[API](https://skmtc.net/shipstation/apis/shipengine-api.md) · [All operations](https://skmtc.net/shipstation/apis/shipengine-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipstation/shipengine-api/revisions/8d8a7cf79204/schema)
