openapi: 3.1.0 info: title: Parcel Documents description: > For international shipments, customs documentation is generated alongside the shipping label. These documents can be downloaded separately from the shipping label in various formats and resolutions via this endpoint. version: 2.0.0 contact: name: Sendcloud API Support url: https://www.sendcloud.dev email: contact@sendcloud.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://panel.sendcloud.sc/api/v2 description: Sendcloud Production tags: - name: Parcel Documents paths: /parcels/{id}/documents/{type}: get: summary: Retrieve parcel documents x-mint: href: /api/v2/parcel-documents/retrieve-parcel-documents content: >- **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3). For international shipments, a commercial invoice, CN23 or CN22 (+CP71) form must be attached (either physically or [digitally](https://support.sendcloud.com/hc/en-us/articles/4417349714452-Send-your-customs-documents-digitally-via-Paperless-Trade-) for some carriers) to the shipment for customs officials to access. The type of document required depends on the shipping method and value of the shipment. When you use the [Create a parcel or parcels](/api/v2/parcels/create-a-parcel-or-parcels) endpoint, Sendcloud generates the correct type of document for your shipment if you have filled in all the information related to the parcel contents, value, and invoice. Use this endpoint to retrieve these documents in your preferred format. The supported document types are as follows: - `air-waybill` - `cn23` - `cn23-default` - `commercial-invoice` - `cp71` - `label` - `qr` description: >- Retrieve a document for a given parcel by providing the parcel `id` and document `type`. tags: - Parcel Documents responses: '200': description: Requested parcel document file content: application/pdf: schema: type: string format: binary application/zpl: schema: type: string format: binary image/png: schema: type: string format: binary '404': description: Document type requested is not available for the parcel content: application/json: schema: type: object properties: error: type: object properties: code: type: integer description: HTTP error code example: 404 request: type: string description: Endpoint URL that was requested example: api/v2/parcels/1/documents/commercial-invoice message: type: string description: A human readable error message example: No Parcel matches the given query. examples: NotFound: summary: Parcel Document Not Found value: error: code: 404 request: api/v2/parcels/1/documents/commercial-invoice message: No Parcel matches the given query. document_type_not_found: summary: Document Type Not Found value: error: code: 404 request: api/v2/parcels/1/documents/not-existing-document-type message: Not found. operationId: sc-public-v2-scp-get-retrieve_parcel_documents security: - HTTPBasicAuth: [] - OAuth2ClientCreds: [] parameters: - $ref: '#/components/parameters/dpi' - $ref: '#/components/parameters/rendering_format' - $ref: '#/components/parameters/raw' parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/type' components: securitySchemes: HTTPBasicAuth: type: http description: >- Basic Authentication using API key and secrets is currently the main authentication mechanism. scheme: basic OAuth2ClientCreds: type: oauth2 description: >- OAuth2 is a standardized protocol for authorization that allows users to share their private resources stored on one site with another site without having to provide their credentials. OAuth2 Client Credentials Grant workflow. This workflow is typically used for server-to-server interactions that require authorization to access specific resources. flows: clientCredentials: tokenUrl: https://account.sendcloud.com/oauth2/token/ scopes: api: Default OAuth scope required to access Sendcloud API. parameters: id: name: id in: path schema: type: integer example: 1 minimum: 1 description: Identifier of the parcel which you want to retrieve a document from required: true type: name: type in: path schema: type: string example: commercial-invoice enum: - air-waybill - cn23 - cn23-default - commercial-invoice - cp71 - label - qr description: Document type you want to retrieve for this parcel required: true dpi: name: dpi in: query required: false schema: type: integer default: 72 enum: - 72 - 150 - 203 - 300 - 600 example: 300 minimum: 1 description: > DPI refers to the printing resolution of your shipping labels. It's important that labels are printed at a high enough resolution to ensure the clarity of address details and the barcode for scanning purposes. Use following amounts for appropriate result:
File format Default DPI Valid DPI
pdf 72 72
png 300 150, 300
ZPL labels are not affected by the DPI setting, as the resolution is determined by the carrier itself. Most carriers use a resolution of 203 DPI. Zebra printers need to be configured to print at the specific DPI of the label if they have higher resolution capabilities. rendering_format: name: Accept in: header required: false schema: type: string default: application/pdf enum: - application/pdf - application/zpl - image/png example: image/png description: The returned format of the document raw: name: raw in: query required: false schema: type: boolean description: >- There have been identified cases where custom documents, internally rendered, will only include some of the necessary information, mainly due to some restrictions. Using the raw query param, one can request to receive the document in the originally received format by the carrier. This temporary solution to the problem allows the normal operations of the affected customers. As such, you can expect this property to be sunsetted shortly once the necessary changes have been implemented.