Sendcloud Ship an Order API

OrderLabelAPI

Operations 2

POST /orders/create-labels-async Request a label for one or more orders asynchronously #
POST /orders/create-label-sync Request a label for a single order synchronously #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sendcloud-ship-an-order-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

sendcloud-ship-an-order-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ship an Order API
  version: 3.0.0
  contact:
    name: Sendcloud API Support
    email: contact@sendcloud.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: 'The Sendcloud Ship an Order API


    ## What can you do with this API?


    - [Create Labels for orders](/docs/orders/ship-an-order/).

    '
servers:
- url: https://panel.sendcloud.sc/api/v3
  description: Sendcloud Production
tags:
- name: Ship an Order
  description: OrderLabelAPI
paths:
  /orders/create-labels-async:
    post:
      tags:
      - Ship an Order
      operationId: sc-public-v3-orders_labels-post-create_labels_async
      security:
      - HTTPBasicAuth: []
      - OAuth2ClientCreds: []
      summary: Request a label for one or more orders asynchronously
      description: Request a label for a single or multiple orders. This endpoint will fail gracefully if some orders cannot be processed, returning any successfully created labels along with error details for the orders that failed.
      x-mint:
        href: /api/v3/ship-an-order/request-a-label-for-one-or-more-orders-asynchronously
        content: 'To retrieve your documents or view announcement errors, use the `id` of the relevant shipment with the [Retrieve a shipment](/api/v3/shipments/retrieve-a-shipment) endpoint.


          To apply shipping rules to the orders, make sure to set `apply_shipping_rules` to `true`.


          This endpoint will attempt to generate labels for each order. If a request for one label errors, it will still attempt to generate the other labels. Because of this, the response might return a mix of labels and errors. Use the errors `source` `pointer` field to see which labels encountered a problem.


          <Note>

          If you create orders via the [Orders API](/api/v3/orders/create-update-orders-in-batch) and then immediately request labels, the orders may not yet be available. Order saving is **asynchronous**. A successful `201` response from the Orders API does not guarantee the order is immediately ready for shipping. Before calling this endpoint, verify the order exists by retrieving it with the [Retrieve an order](/api/v3/orders/retrieve-an-order) endpoint.

          </Note>'
      parameters:
      - $ref: '#/components/parameters/SendcloudPartnerId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-labels-async'
            examples:
              CreateSingleLabelAsync:
                summary: Create a label for a specific order.
                description: Create a single shipping label for the order you want to ship.
                value:
                  integration_id: 70
                  orders:
                  - order_number: ORDER-25763
                    apply_shipping_rules: false
              CreateLabelUsingSenderAddressIDAsync:
                summary: Create a label for a specific order using a sender address ID.
                description: Create a single shipping label where the sender address is being supplied through ID.
                value:
                  integration_id: 70
                  sender_address_id: 17
                  orders:
                  - order_number: ORDER-25763
              CreateLabelUsingBrandIDAsync:
                summary: Create a label for a specific order using a brand ID.
                description: Create a single shipping label where the brand is being set through ID.
                value:
                  integration_id: 70
                  brand_id: 42
                  orders:
                  - order_number: ORDER-25763
              CreateLabelUsingShipWithAsync:
                summary: Create a label for a specific order using a specific shipping option.
                description: Create a single shipping label where the carrier and the shipping functionalities are defined by the supplied shipping_option_code.
                value:
                  integration_id: 70
                  ship_with:
                    type: shipping_option_code
                    properties:
                      contract_id: 517
                      shipping_option_code: postnl:standard
                  orders:
                  - order_number: ORDER-25763
              CreateLabelsAsync:
                summary: Create a label for a multiple orders.
                description: Create shipping labels for orders you want to sent to your customers.
                value:
                  integration_id: 70
                  orders:
                  - order_number: ORDER-257633
                    apply_shipping_rules: false
                  - order_id: d59e8b1c-04ca-4b38-90cf-e11083506e22
              CreateMulticolloLabelAsync:
                summary: Create multiple labels for an order.
                description: Create shipping labels for order you want to sent in multiple parcels.
                value:
                  integration_id: 70
                  orders:
                  - order_number: ORDER-25763
                    parcels:
                    - parcel_items:
                      - item_id: '5552'
                        quantity: 1
                      - item_id: '5555'
                        quantity: 2
                      dimensions:
                        length: '5.00'
                        width: '15.00'
                        height: '20.00'
                        unit: cm
                      weight:
                        value: '1.320'
                        unit: kg
                    - parcel_items:
                      - item_id: '5552'
                        quantity: 1
                      - item_id: '763'
                        quantity: 12
                      dimensions:
                        length: '10.00'
                        width: '12.00'
                        height: '30.00'
                        unit: cm
                      weight:
                        value: '2.2'
                        unit: kg
                    apply_shipping_rules: false
      responses:
        '202':
          description: Information about the created parcels.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: An array containing the created parcel IDs and other order information.
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/label-async'
                  errors:
                    type:
                    - array
                    items:
                      type: object
                      allOf:
                      - $ref: '#/components/schemas/ErrorObject'
                      required:
                      - status
                      - code
                      - detail
              examples:
                AllLabelsSuccessful:
                  description: All the requested labels were successfully generated.
                  value:
                    data:
                    - parcel_id: 420
                      parcels_ids:
                      - 420
                      shipment_id: '511'
                      order_id: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
                      order_number: ORD-2024-00174
                    - parcel_id: 4428
                      parcels_ids:
                      - 4428
                      shipment_id: '512'
                      order_id: '23458265234'
                      order_number: ORD-2024-00166
                MulticolloLabelsSuccessful:
                  description: A single order shipped in multiple parcels.
                  value:
                    data:
                    - parcel_id: 420
                      parcels_ids:
                      - 420
                      - 421
                      - 422
                      shipment_id: '511'
                      order_id: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
                      order_number: ORD-2024-00174
                SomeLabelsContainErrors:
                  description: Some labels were generated, while others encountered an error.
                  value:
                    data:
                    - parcel_id: 420
                      parcels_ids:
                      - 420
                      shipment_id: '511'
                      order_id: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
                      order_number: ORD-2024-00174
                    errors:
                    - status: '400'
                      code: validation_error
                      title: Invalid order
                      detail: The order has no valid shipping address.
                      source:
                        pointer: /data/attributes/orders/[1]
                SenderAddressIDDoesNotExist:
                  description: Sender Address does not exist.
                  value:
                    errors:
                    - status: '404'
                      code: invalid
                      detail: Does not exist.
                      source:
                        pointer: /data/attributes/sender_address_id
                LabelsSuccessfulWithShipWith:
                  description: All the requested labels were successfully generated using the provided `ship_with` option.
                  value:
                    data:
                    - parcel_id: 420
                      shipment_id: '511'
                      order_id: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
                      order_number: ORD-2024-00174
                      ship_with:
                        type: shipping_option_code
                        properties:
                          contract_id: 517
                          shipping_option_code: postnl:standard
                    - parcel_id: 4428
                      shipment_id: '512'
                      order_id: '23458265234'
                      order_number: ORD-2024-00166
                      ship_with:
                        type: shipping_option_code
                        properties:
                          contract_id: 517
                          shipping_option_code: postnl:standard
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors'
              examples:
                InvalidOrderId:
                  summary: The provided order_id is not a valid string.
                  value:
                    errors:
                    - detail: Input should be a valid string
                      status: '400'
                      source:
                        pointer: /data/attributes/orders/0/order_id
                      code: invalid
        '404':
          $ref: '#/components/responses/NotFound'
  /orders/create-label-sync:
    post:
      tags:
      - Ship an Order
      operationId: sc-public-v3-orders_labels-post-create_labels_sync
      security:
      - HTTPBasicAuth: []
      - OAuth2ClientCreds: []
      summary: Request a label for a single order synchronously
      description: Request a label for a single order and wait for the results. The label and any other documents will be provided in the response to this request.
      x-mint:
        href: /api/v3/ship-an-order/request-a-label-for-a-single-order-synchronously
        content: '<Note>

          If you create orders via the [Orders API](/api/v3/orders/create-update-orders-in-batch) and then immediately request a label, the order may not yet be available. Order saving is **asynchronous**. A successful `201` response from the Orders API does not guarantee the order is immediately ready for shipping. Before calling this endpoint, verify the order exists by retrieving it with the [Retrieve an order](/api/v3/orders/retrieve-an-order) endpoint.

          </Note>'
      parameters:
      - $ref: '#/components/parameters/SendcloudPartnerId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-labels-sync'
            examples:
              CreateSingleLabelSync:
                summary: Create a label for a specific order.
                description: Create a shipping label for the order you want to ship.
                value:
                  integration_id: 70
                  label_details:
                    mime_type: application/pdf
                    dpi: 72
                  order:
                    order_number: ORDER-25763
                    apply_shipping_rules: false
              CreateLabelUsingShipWithSync:
                summary: Create a label for a specific order using a specific shipping option.
                description: Create a single shipping label where the carrier and the shipping functionalities are defined by the supplied `shipping_option_code`.
                value:
                  integration_id: 70
                  ship_with:
                    type: shipping_option_code
                    properties:
                      contract_id: 517
                      shipping_option_code: postnl:standard
                  order:
                  - order_number: ORDER-25763
              CreateLabelUsingSenderAddressIDSync:
                summary: Create a label for a specific order using a sender address ID.
                description: Create a shipping label using a specific sender address.
                value:
                  integration_id: 70
                  sender_address_id: 17
                  label_details:
                    mime_type: application/pdf
                    dpi: 72
                  orders:
                  - order_number: ORDER-25763
              CreateLabelUsingBrandIDSync:
                summary: Create a label for a specific order using a brand ID.
                description: Create a single shipping label using a specific brand.
                value:
                  integration_id: 70
                  brand_id: 42
                  label_details:
                    mime_type: application/pdf
                    dpi: 72
                  order:
                    order_number: ORDER-25763
      responses:
        '201':
          description: Parcel ID along with generated label.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: Parcel ID, tracking details and generated label.
                    $ref: '#/components/schemas/label-sync'
              examples:
                LabelSuccessfulWithShipWith:
                  description: All requested labels are being generated with the provided `ship_with`.
                  value:
                    data:
                    - parcel_id: 420
                      shipment_id: '511'
                      order_id: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
                      order_number: ORD-2024-00174
                      ship_with:
                        type: shipping_option_code
                        properties:
                          contract_id: 517
                          shipping_option_code: postnl:standard
                      tracking_number: ABCD1234567890
                      tracking_url: https://test.shipping-portal.com/tracking/?tracking_number=abcd1234567890&country=nl&postal_code=1234AB
                      label:
                        file: <base64-encoded-pdf-data>
                        mime_type: application/pdf
                        dpi: 72
                      documents:
                      - type: label
                        size: a6
                        link: https://panel.sendcloud.sc/api/v3/parcels/1234567890/documents/label
                    - parcel_id: 4428
                      shipment_id: '512'
                      order_id: '23458265234'
                      order_number: ORD-2024-00166
                      ship_with:
                        type: shipping_option_code
                        properties:
                          contract_id: 517
                          shipping_option_code: postnl:standard
                      tracking_number: ABCD1234567890
                      tracking_url: https://test.shipping-portal.com/tracking/?tracking_number=abcd1234567890&country=nl&postal_code=1234AB
                      label:
                        file: <base64-encoded-pdf-data>
                        mime_type: application/pdf
                        dpi: 72
                      documents:
                      - type: label
                        size: a6
                        link: https://panel.sendcloud.sc/api/v3/parcels/1234567890/documents/label
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    OrderSelectorOrderNumberRequired:
      type: object
      properties:
        order_id:
          type: string
          minLength: 1
          maxLength: 64
          description: External order ID assigned by shop system. Used to identify an order to be shipped.
        order_number:
          type: string
          minLength: 1
          maxLength: 255
          description: An identification of an order in a shop system (often unique). Used to identify an order to be shipped.
        apply_shipping_rules:
          type: boolean
          description: Apply shipping rules to this order.
          default: false
          example: false
      required:
      - order_number
    create-labels-async:
      title: Create labels asynchronously
      description: 'Payload for creating labels for orders.


        Note that if the `sender_address_id` is not specified, the API will use the default [sender address](/docs/getting-started/sender-addresses) associated with your account.'
      type: object
      allOf:
      - $ref: '#/components/schemas/create-labels-base'
      - type: object
        required:
        - orders
        - integration_id
        properties:
          orders:
            type: array
            minItems: 1
            maxItems: 20
            uniqueItems: true
            description: Array of order objects you want to create labels for
            items:
              allOf:
              - $ref: '#/components/schemas/create-labels-parcels'
              - oneOf:
                - $ref: '#/components/schemas/OrderSelectorOrderIdRequired'
                - $ref: '#/components/schemas/OrderSelectorOrderNumberRequired'
    str-dimensions:
      title: Dimensions
      type: object
      description: Dimensions in the specified unit
      properties:
        length:
          type: string
          description: length in specified unit
          example: '15'
        width:
          type: string
          description: width in specified unit
          example: '20.5'
        height:
          type: string
          description: height in specified unit
          example: '37'
        unit:
          $ref: '#/components/schemas/dimension-units'
      required:
      - length
      - width
      - height
      - unit
    label-base:
      type: object
      properties:
        shipment_id:
          type: string
          description: The ID of the shipment that was created for the provided order.
          example: '511'
        order_id:
          type: string
          description: The ID of your order.
          example: 593c853e-ca90-4ab4-953c-fd2f47dd8dc3
        order_number:
          type: string
          description: A human-readable order number.
          example: ORD-2024-01414
        ship_with:
          type: object
          $ref: '#/components/schemas/ship-with'
    create-labels-base:
      type: object
      required:
      - integration_id
      properties:
        integration_id:
          type: integer
          description: The ID of the integration your orders belong to.
          example: 70
        sender_address_id:
          type: integer
          example: 192
          description: 'The ID of the sender address you would like to ship from. If not specified, your default sender address will be used.


            A sender address can be added through the [Sendcloud platform](https://app.sendcloud.com/v2/settings/addresses/sender) and be retrieved using the [Retrieve a list of sender addresses](/api/v3/sender-addresses/retrieve-a-list-of-sender-addresses) endpoint.'
        brand_id:
          type: integer
          example: 42
          description: 'The ID of the brand. Brands can be added through the [Sendcloud platform](https://app.sendcloud.com/v2/settings/brands/list) and be retrieved using the [Retrieve a list of brands](/api/v2/brands/retrieve-a-list-of-brands) endpoint.


            > **Note:** The Brands API is currently only available in API v2. This reference will be updated when a v3 version becomes available.'
          minimum: 1
        ship_with:
          type: object
          $ref: '#/components/schemas/ship-with'
      components:
        schemas:
          OrderSelectorOrderIdRequired:
            type: object
            properties:
              order_id:
                type: string
                minLength: 1
                maxLength: 64
                description: An external order ID assigned by the shop system. Used to identify an order to be shipped.
              order_number:
                type: string
                minLength: 1
                maxLength: 255
                description: An identification of an order in a shop system (often unique). Used to identify an order to be shipped.
              apply_shipping_rules:
                type: boolean
                description: Apply shipping rules for this order.
                default: false
                example: false
            required:
            - order_id
          OrderSelectorOrderNumberRequired:
            type: object
            properties:
              order_id:
                type: string
                minLength: 1
                maxLength: 64
                description: External order ID assigned by shop system. Used to identify an order to be shipped.
              order_number:
                type: string
                minLength: 1
                maxLength: 255
                description: An identification of an order in a shop system (often unique). Used to identify an order to be shipped.
              apply_shipping_rules:
                type: boolean
                description: Apply shipping rules to this order.
                default: false
                example: false
            required:
            - order_number
    OrderItem:
      type: object
      properties:
        item_id:
          type: string
          description: The order item's external ID in the shop system. This `item_id` can be obtained via the [Retrieve an order](/api/v3/orders/retrieve-an-order) endpoint.
          example: '5552'
          minLength: 1
        quantity:
          type: integer
          description: Quantity of items shipped.
          minimum: 1
          example: 1
      required:
      - item_id
      - quantity
    parcel-common-with-optional-fields:
      title: Parcel common with optional fields Object
      description: Parcel common with optional fields model
      type: object
      properties:
        dimensions:
          $ref: '#/components/schemas/str-dimensions'
          description: While dimensions are generally optional, some carriers require them to be present. If this is the case, an error will be thrown.
        weight:
          $ref: '#/components/schemas/str-weight'
    dimension-units:
      type: string
      title: Dimensional units
      enum:
      - cm
      - mm
      - m
      - yd
      - ft
      - in
      example: mm
    ErrorObject:
      title: Error
      type: object
      description: Error in a JSON:API error format
      properties:
        id:
          type: string
          description: A unique identifier for the error.
        links:
          type: object
          description: A set of hyperlinks that provide additional information about the error.
          properties:
            about:
              type: string
              description: A URL that provides additional information about the error.
        status:
          type: string
          format: int32
          description: The HTTP status code of the error.
          minLength: 1
        code:
          type: string
          description: A unique error code for the error, in snake case format.
          minLength: 1
          enum:
          - unknown_field
          - invalid
          - forbidden
          - invalid_choice
          - min_value
          - 'null'
          - not_found
          - required
          - not_a_list
          - non_field_errors
          - authentication_failed
          - validation_error
          - parcel_announcement_error
        title:
          type: string
          description: A short, human-readable summary of the error.
          minLength: 1
        detail:
          type: string
          description: A human-readable explanation of the error.
          minLength: 1
        source:
          type: object
          description: An object that identifies the source of the error within the request payload.
          properties:
            pointer:
              type: string
              description: A `JSON` pointer to the location of the error within the request payload.
            parameter:
              type: string
              description: The name of the `query` parameter that caused the error.
            header:
              type: string
              description: The name of the `header` parameter that caused the error.
        meta:
          type: object
          description: Additional metadata about the error.
    create-labels-parcels:
      title: Multicollo parcels array Object
      description: Multicollo parcels array model used for splitting shipped object into multiple parcels
      type: object
      properties:
        parcels:
          description: Represents each package in the shipment. Each carrier can have its own limit for the number of parcels per shipment, otherwise there is a default maximum of 50 parcels. If left empty, one parcel will be created from an entire order.
          type: array
          items:
            $ref: '#/components/schemas/CreateLabelParcel'
          minItems: 1
          maxItems: 50
      components:
        schemas:
          OrderItem:
            type: object
            properties:
              item_id:
                type: string
                description: The order item's external ID in the shop system. This `item_id` can be obtained via the [Retrieve an order](/api/v3/orders/retrieve-an-order) endpoint.
                example: '5552'
                minLength: 1
              quantity:
                type: integer
                description: Quantity of items shipped.
                minimum: 1
                example: 1
            required:
            - item_id
            - quantity
          CreateLabelParcel:
            type: object
            allOf:
            - $ref: '#/components/schemas/parcel-common-with-optional-fields'
            - type: object
              properties:
                parcel_items:
                  type: array
                  description: List of items/products from the order that the parcel contains.
                  maxItems: 1000
                  items:
                    $ref: '#/components/schemas/OrderItem'
            required:
            - parcel_items
    CreateLabelParcel:
      type: object
      allOf:
      - $ref: '#/components/schemas/parcel-common-with-optional-fields'
      - type: object
        properties:
          parcel_items:
            type: array
            description: List of items/products from the order that the parcel contains.
            maxItems: 1000
            items:
              $ref: '#/components/schemas/OrderItem'
      required:
      - parcel_items
    label-async:
      title: Reference to label
      type: object
      description: Holds the reference to created label.
      allOf:
      - $ref: '#/components/schemas/label-base'
      - type: object
        properties:
          parcel_id:
            type: integer
            description: 'The ID of the parcel the label belongs to. For multicollo shipments, the ID of the first parcel will be returned.


              **Deprecated** in favour of the `parcels_ids` field, which returns an array containing the parcel ID (or multiple parcel IDs for a multicollo shipment).'
            example: 420
            deprecated: true
          parcels_ids:
            type: array
            description: An array containing the IDs of all the parcels the labels belong to.
            example:
            - 420
            items:
              type: integer
              example: 420
    create-labels-sync:
      title: Create labels synchronously
      description: 'Payload for creating labels for orders.


        Note that if the `sender_address_id` is not specified, the API will use the default [sender address](/docs/getting-started/sender-addresses) associated with your account.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/create-labels-base'
      - type: object
        required:
        - order
        - integration_id
        properties:
          order:
            type: object
            oneOf:
            - $ref: '#/components/schemas/OrderSelectorOrderIdRequired'
            - $ref: '#/components/schemas/OrderSelectorOrderNumberRequired'
          label_details:
            type: object
            properties:
              mime_type:
                type: string
                default: application/pdf
                enum:
                - application/pdf
                - application/zpl
                - image/png
                example: application/zpl
                description: The returned format of the label.
              dpi:
                type: integer
                default: 72
                enum:
                - 72
                - 150
                - 203
                - 300
                - 600
                example: 72
                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.


                  Refer to the following table for DPI settings per file format:


                  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.'
    OrderSelectorOrderIdRequired:
      type: object
      properties:
        order_id:
          type: string
          minLength: 1
          maxLength: 64
          description: An external order ID assigned by the shop system. Used to identify an order to be shipped.
        order_number:
          type: string
          minLength: 1
          maxLength: 255
          description: An identification of an order in a shop system (often unique). Used to identify an order to be shipped.
        apply_shipping_rules:
          type: boolean
          description: Apply shipping rules for this order.
          default: false
          example: false
      required:
      - order_id
    errors:
      title: Errors
      type: object
      description: A standardized format for errors in JSON:API responses.
      properties:
        errors:
          type:
          - array
          - object
          items:
            type: object
            allOf:
            - $ref: '#/components/schemas/ErrorObject'
            required:
            - status
            - code
            - detail
    label-sync:
      title: Reference to label
      type: object
      description: Holds the reference to created label.
      allOf:
      - $ref: '#

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sendcloud/refs/heads/main/openapi/sendcloud-ship-an-order-api-openapi.yml