openapi: 3.1.0
info:
title: Labels
version: 2.0.0
description: >-
Once a parcel has been announced, you can use the **Labels API** to request
a PDF shipping label in order to print it and attach it to the box.
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
contact:
name: Sendcloud API Support
url: https://www.sendcloud.dev
email: contact@sendcloud.com
servers:
- url: https://panel.sendcloud.sc/api/v2
description: Production
tags:
- name: Labels
- name: Label Download
- name: Customs Documents Download
paths:
/labels/{parcel_id}:
parameters:
- $ref: '#/components/parameters/path-parcel-id'
get:
operationId: sc-public-v2-scp-get-label_by_parcel_id
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-a-label-for-a-specific-parcel
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).
summary: Retrieve a label for a specific parcel
description: >-
You will receive URLs to download the labels in PDF format, for both
normal and label printers. You can get the `id` of a parcel from the
[Create a parcel or parcels](/api/v2/parcels/create-a-parcel-or-parcels)
endpoint.
tags:
- Labels
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LabelSingleResponse'
examples:
RetrieveLabel:
summary: Retrieve Label
value:
label:
normal_printer:
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=0
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=1
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=2
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=3
label_printer: >-
https://panel.sendcloud.sc/api/v2/label/label_printer/1234
customs_declaration: {}
'404':
$ref: '#/components/responses/error_404_not_found'
/labels:
post:
operationId: sc-public-v2-scp-post-label_by_parcel_ids
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/bulk-pdf-label-printing
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).
summary: Bulk PDF label printing
description: >-
Request multiple shipping labels for an array of parcels at the same
time. You will receive URLs to download the labels in PDF format, for
both normal and label printers.
tags:
- Labels
requestBody:
content:
application/json:
schema:
properties:
label:
type: object
properties:
parcels:
type: array
items:
type: integer
minimum: 1
example:
- 1
- 2
- 3
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LabelMultipleResponse'
examples:
BulkPDFLabels:
summary: Bulk PDF label printing
value:
label:
normal_printer:
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer?ids=1,2,3?start_from=0
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer?ids=1,2,3?start_from=1
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer?ids=1,2,3?start_from=2
- >-
https://panel.sendcloud.sc/api/v2/label/normal_printer?ids=1,2,3?start_from=3
label_printer: >-
https://panel.sendcloud.sc/api/v2/label/label_printer?ids=1,2,3
'404':
$ref: '#/components/responses/error_404_not_found'
/labels/normal_printer/{parcel_id}:
parameters:
- $ref: '#/components/parameters/path-parcel-id'
- $ref: '#/components/parameters/query-start-from'
get:
operationId: sc-public-v2-scp-get-label_document_normal_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-a-pdf-label
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).
summary: Retrieve a PDF label
description: >-
Retrieve a shipping label for a specific parcel in PDF format for a
normal printer.
tags:
- Label Download
responses:
'200':
$ref: '#/components/responses/label_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
/labels/normal_printer:
parameters:
- $ref: '#/components/parameters/path-parcel-ids'
- $ref: '#/components/parameters/query-start-from'
get:
operationId: sc-public-v2-scp-get-label_document_multiple_normal_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-multiple-pdf-labels
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).
summary: Retrieve multiple PDF labels
description: >-
Retrieve PDF label documents suitable for normal printers for multiple
different parcels at the same time.
tags:
- Label Download
responses:
'200':
$ref: '#/components/responses/label_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
/customs_declaration/normal_printer/{parcel_id}:
parameters:
- $ref: '#/components/parameters/path-parcel-id'
get:
operationId: sc-public-v2-scp-get-customs_document_normal_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-a-customs-declaration-pdf
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).
summary: Retrieve a customs declaration PDF
description: >-
Retrieve the customs documents associated with a label in PDF format for
a normal printer.
tags:
- Customs Documents Download
responses:
'200':
$ref: '#/components/responses/customs_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
/customs_declaration/normal_printer:
parameters:
- $ref: '#/components/parameters/path-parcel-ids'
- $ref: '#/components/parameters/query-start-from'
get:
operationId: sc-public-v2-scp-get-customs_document_multiple_normal_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
summary: Retrieve multiple customs declaration PDFs
x-mint:
href: /api/v2/labels/retrieve-multiple-customs-declaration-pdfs
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).
This endpoint is deprecated as of Mon, 08 Jan 2024 00:00:00 GMT. We recommend using the [Retrieve parcel documents](/api/v2/parcel-documents/retrieve-parcel-documents) endpoint instead.
description: >-
Retrieve PDF customs documents suitable for normal printers for multiple
different parcels at the same time.
tags:
- Customs Documents Download
responses:
'200':
$ref: '#/components/responses/customs_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
deprecated: true
/labels/label_printer/{parcel_id}:
parameters:
- $ref: '#/components/parameters/path-parcel-id'
get:
operationId: sc-public-v2-scp-get-label_document_label_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-a-specific-pdf-label-for-a-label-printer
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).
summary: Retrieve a specific PDF label for a label printer
description: >-
Retrieve a shipping label for a specific parcel in PDF format for a
label printer.
tags:
- Label Download
responses:
'200':
$ref: '#/components/responses/label_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
/labels/label_printer:
parameters:
- $ref: '#/components/parameters/path-parcel-ids'
get:
operationId: sc-public-v2-scp-get-label_document_multiple_label_printer
security:
- HTTPBasicAuth: []
- OAuth2ClientCreds: []
x-mint:
href: /api/v2/labels/retrieve-pdf-labels-for-a-label-printer
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).
summary: Retrieve PDF labels for a label printer
description: >-
Retrieve PDF label documents suitable for label printers for multiple
different parcels at the same time.
tags:
- Label Download
responses:
'200':
$ref: '#/components/responses/label_pdf_document_response'
'400':
$ref: '#/components/responses/error_400_bad_request'
'404':
$ref: '#/components/responses/error_404_not_found'
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.
schemas:
LabelSingleResponse:
title: Single Label response
properties:
label:
type: object
title: Label object
description: Label
properties:
normal_printer:
title: >-
URLs of labels documents in PDF format for normal printers for
each position of an A4 size page
type: array
minLength: 4
maxLength: 4
items:
type: string
example: >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=0
label_printer:
title: URL of label document in PDF format for label printers
type: string
example: https://panel.sendcloud.sc/api/v2/label/label_printer/1234
customs_declaration:
title: Customs documents associated with the label
deprecated: true
type: object
properties:
normal_printer:
type: string
title: Normal printer PDF url
description: >-
URL that links to the customs documentation associated with the
label in PDF format
example: {}
LabelMultipleResponse:
title: Multi-Label response
description: Response for multiple labels in bulk
properties:
label:
type: object
title: Label object
description: Label
properties:
normal_printer:
title: >-
URLs of labels documents in PDF format for normal printers for
each position of an A4 size page
type: array
minLength: 4
maxLength: 4
items:
type: string
example: >-
https://panel.sendcloud.sc/api/v2/label/normal_printer/1234?start_from=0
label_printer:
title: URL of label document in PDF format for label printers
type: string
example: >-
https://panel.sendcloud.sc/api/v2/label/label_printer/1234?hash=bbfd669ee9ebb19408b85b33d
parameters:
path-parcel-id:
schema:
type: integer
minimum: 1
name: parcel_id
in: path
description: Unique parcel identifier
required: true
example: 1
path-parcel-ids:
schema:
type: array
minLength: 1
items:
type: integer
name: ids
in: query
description: Comma separated parcel ids
required: true
explode: false
example:
- 1
- 2
- 3
query-start-from:
schema:
type: integer
minimum: 0
maximum: 3
name: start_from
in: query
required: true
description: |-
The position of the label on an A4 page.
0 - Top left
1 - Top right
2 - Bottom left
3 - Bottom right
responses:
label_pdf_document_response:
description: OK
content:
application/pdf:
schema:
type: string
format: binary
title: Label PDF document
description: Label PDF document ready to print
customs_pdf_document_response:
description: OK
content:
application/pdf:
schema:
type: string
format: binary
title: Customs document in PDF format
description: Customs PDF document ready to print
headers:
Deprecation:
schema:
type: string
example: Mon, 8 Jan 2024 00:00:00 GMT
Sunset:
schema:
type: string
example: Monday, 8 Jul 2024 00:00:00 GMT
error_401_unauthorized:
description: Unauthorized
error_403_forbidden:
description: Forbidden
error_404_not_found:
description: Not found
content:
application/json:
schema:
description: ''
type: object
example: {}
example: {}
error_400_bad_request:
description: Bad request
content:
application/json:
schema:
description: ''
type: object
properties:
message:
type: string
title: Error response message