Operations 1
Documentation
Documentation
https://docs.shipstation.com/apis/shipengine/docs/getting-started/get-started
APIReference
https://docs.shipstation.com/apis/shipengine/openapi
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/shipengine:shipengine-downloads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Shipengine Downloads API
version: 1.1.202604070904
contact:
name: ShipEngine Sales & Support
email: sales@shipengine.com
url: https://www.shipengine.com/contact/
x-phone: 1-512-856-5379
license:
name: Proprietary
url: https://www.shipengine.com/terms-of-service/
termsOfService: https://www.shipengine.com/terms-of-service/
x-logo:
url: https://shipengine.github.io/img/shipengine-logo-square.png
backgroundColor: '#FFFFFF'
altText: ShipEngine logo
description: 'Operations tagged downloads across 2 of this provider''s published API definitions: shipengine-openapi-docs-bundle.yaml, shipengine-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.shipengine.com
security:
- api_key: []
tags:
- name: Downloads
description: downloads
x-displayName: Downloads
paths:
/v1/downloads/{dir}/{subdir}/{filename}:
summary: File download
description: 'This endpoint is used to download forms that are generated in the various pdf, png, zpl formats
such as labels and batches
'
parameters:
- name: subdir
in: path
required: true
schema:
type: string
- name: filename
in: path
required: true
schema:
type: string
- name: dir
in: path
required: true
schema:
type: string
get:
summary: Download file
description: Get File
operationId: download_file
tags:
- Downloads
parameters:
- name: download
in: query
required: false
schema:
type: string
- name: rotation
in: query
required: false
schema:
type: integer
format: int32
responses:
'200':
description: The request was a success
content:
application/pdf:
schema:
$ref: '#/components/schemas/download_file_pdf_response_body'
image/png:
schema:
$ref: '#/components/schemas/download_file_png_response_body'
application/zpl:
schema:
$ref: '#/components/schemas/download_file_zpl_response_body'
'400':
$ref: '#/components/responses/400_error_response'
'404':
$ref: '#/components/responses/404_error_response'
'500':
$ref: '#/components/responses/500_error_response'
servers:
- url: https://api.shipengine.com
components:
responses:
400_error_response:
description: The request contained errors.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response_body'
404_error_response:
description: The specified resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response_body'
500_error_response:
description: 'An error occurred on ShipStation API''s side.
> This error will automatically be reported to our engineers.
'
content:
application/json:
schema:
$ref: '#/components/schemas/error_response_body'
schemas:
download_file_zpl_response_body:
title: download_file_zpl_response_body
type: string
format: binary
error_response_body:
title: error_response_body
type: object
description: An error response body
required:
- request_id
- errors
additionalProperties: false
properties:
request_id:
allOf:
- $ref: '#/components/schemas/uuid'
description: 'A UUID that uniquely identifies the request id.
This can be given to the support team to help debug non-trivial issues that may occur
'
errors:
type: array
readOnly: true
items:
$ref: '#/components/schemas/error'
description: The errors associated with the failed API call
error_code:
title: error_code
type: string
example: invalid_field_value
enum:
- auto_fund_not_supported
- batch_cannot_be_modified
- bring_your_own_label_not_supported
- carrier_conflict
- carrier_disconnected
- carrier_not_connected
- carrier_not_supported
- confirmation_not_supported
- default_warehouse_cannot_be_deleted
- field_conflict
- field_value_required
- forbidden
- identifier_conflict
- identifiers_must_match
- insufficient_funds
- invalid_address
- invalid_billing_plan
- invalid_field_value
- invalid_identifier
- invalid_status
- invalid_string_length
- label_images_not_supported
- meter_failure
- multiple_sales_orders
- order_source_not_active
- rate_limit_exceeded
- refresh_not_supported
- request_body_required
- return_label_not_supported
- sales_order_link_required
- settings_not_supported
- subscription_inactive
- terms_not_accepted
- tracking_not_supported
- trial_expired
- unauthorized
- unknown
- unspecified
- verification_failure
- warehouse_conflict
- webhook_event_type_conflict
- customs_items_required
- incompatible_paired_labels
- invalid_charge_event
- invalid_object
- no_rates_returned
- file_not_found
- shipping_rule_not_found
- service_not_determined
- funding_source_registration_in_progress
- insurance_failure
- funding_source_missing_configuration
- funding_source_error
- freight_connection_inactive
- freight_provider_id_required
- freight_provider_already_connected
- freight_shipment_not_found
- freight_tracking_not_available
- freight_tracking_not_found
- freight_shipment_not_batchable
description: The error code specified for the failed API Call
carrier_code:
title: carrier_code
type: string
pattern: ^[a-z0-9]+(_[a-z0-9]+)*$
example: dhl_express
description: 'A shipping carrier, such as `fedex`, `dhl_express`, `stamps_com`, etc.
'
uuid:
title: uuid
type: string
format: uuid
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
example: aa3d8e8e-462b-4476-9618-72db7f7b7009
description: A UUID (a.k.a. GUID) that uniquely identifies a resource
download_file_pdf_response_body:
title: download_file_pdf_response_body
type: string
format: binary
se_id:
title: se_id
type: string
minLength: 1
maxLength: 25
pattern: ^se(-[a-z0-9]+)+$
example: se-28529731
description: A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
error:
title: error
type: object
description: 'The error structure that gets returned with almost all failed API calls
'
required:
- error_source
- error_type
- error_code
- message
additionalProperties: false
properties:
error_source:
$ref: '#/components/schemas/error_source'
error_type:
$ref: '#/components/schemas/error_type'
error_code:
$ref: '#/components/schemas/error_code'
message:
type: string
readOnly: true
example: Body of request cannot be null.
minLength: 1
description: An error message associated with the failed API call
carrier_id:
readOnly: true
allOf:
- $ref: '#/components/schemas/se_id'
description: A string that uniquely identifies the carrier that generated the error.
carrier_code:
readOnly: true
allOf:
- $ref: '#/components/schemas/carrier_code'
description: 'The name of the shipping carrier that generated the error, such as `fedex`, `dhl_express`, `stamps_com`, etc.
'
field_name:
type: string
readOnly: true
example: shipment.ship_to.phone_number
description: The name of the field that caused the error
error_source:
title: error_source
type: string
example: shipengine
enum:
- carrier
- order_source
- shipengine
description: 'The source of the error, as indicated by the name this informs us if the API call failed because of the
carrier, the order source, or the ShipEngine API itself.
'
error_type:
title: error_type
type: string
example: validation
enum:
- account_status
- business_rules
- validation
- security
- system
- integrations
- funding_sources
description: 'The type of error
'
download_file_png_response_body:
title: download_file_png_response_body
type: string
format: binary
securitySchemes:
api_key:
type: apiKey
name: API-Key
in: header
description: 'To authenticate yourself to ShipEngine, you need to include an `API-Key` header in each API call. If you don''t include a key when making an API request, or if you use an incorrect or expired key, then ShipEngine will respond with a `401 Unauthorized` error.
Learn more about API keys in our [authentication guide](https://docs.shipstation.com/apis/shipengine/docs/guides/auth).
'
x-refined-from:
- shipengine-openapi-docs-bundle.yaml
- shipengine-openapi.yml
x-provenance:
method: harvested
publisher: ShipEngine
source: https://raw.githubusercontent.com/ShipEngine/shipengine-openapi/master/openapi.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)