openapi: 3.1.0
info:
  title: Shipping products
  version: 2.0.0
  description: The **Shipping products API** allows you to retrieve shipping products and their associated shipping methods, filtered by specific criteria and shipping functionalities.
  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: Shipping products
paths:
  /shipping-products:
    get:
      summary: Retrieve a list of shipping products
      description: Retrieve a list of shipping methods that are associated with your account, filtered by specific criteria such as parcel dimensions, weight classes, from and to country and **shipping functionality.**
      x-mint:
        href: /api/v2/shipping-products/retrieve-a-list-of-shipping-products
        content: |-
          <Info>
            OAuth2 scopes required: `read:shipping-method`. See [Scopes for OAuth apps](/api/v3/scopes).
          </Info>

          <Warning>
            **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).
          </Warning>

          In situations where you need to find a method which supports a specific means of delivery, type of parcel or delivery deadline, for example, this endpoint allows you to filter all available shipping methods based on one or more query parameters.

          The response body will include the `id` of any suitable methods, which you can then use with the [Create a parcel or parcels](/api/v2/parcels/create-a-parcel-or-parcels) endpoint and announce the shipment directly.

          <Warning>
            You must have either [enabled a carrier](/docs/getting-started/) in your Sendcloud account, or connected your own direct [carrier contract](/docs/getting-started/carrier-contracts/), in order to be able to retrieve shipping methods related to that carrier via this endpoint.
          </Warning>

          <Warning>
            If you have more than one active contract for a specific carrier, you must include the `contract` attribute with your desired contract ID in your request. You can get your contract ID from the [Retrieve a list of contracts](/api/contracts/retrieve-a-list-of-contracts) endpoint.
          </Warning>

          <Info>
            To see zonal carrier shipping methods, you need to provide the `from_postal_code` and `to_postal_code` query parameters.
          </Info>

          <Info>
            To filter by `shipping_functionality`, you can find a glossary of accepted values and a description of each functionality under the [Retrieve a list of shipping functionalities](/api/shipping-products/retrieve-a-list-of-shipping-functionalities) endpoint.
          </Info>

          ## Use cases

          Find a shipping method for a parcel weighing 5kg, shipping from the Netherlands to the United States with carrier PostNL.

          ```http
          GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=US&carrier=postnl&weight=5&weight_unit=kilogram
          ```

          Find a shipping method which includes the Age Check functionality for shipping alcohol products from France to Belgium.

          ```http
          GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=BE&age_check=18
          ```

          Find a shipping method that supports same day delivery for a product shipping from the Netherlands to the Netherlands.

          ```http
          GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=NL&to_country=NL&delivery_deadline=sameday
          ```
          Find a **return** shipping method for a parcel returning from France to the Netherlands:

          ```http
          GET https://panel.sendcloud.sc/api/v2/shipping-products?from_country=FR&to_country=NL&returns=true
          ```
      operationId: sc-public-v2-scp-get-retrieve_all_shipping_products
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds:
            - read:shipping-method
      parameters:
        - name: from_country
          in: query
          schema:
            type: string
            example: NL
          description: A country ISO 2 code for a from country (origin country).
          required: true
        - name: to_country
          in: query
          schema:
            $ref: '#/components/schemas/country-codes'
          description: A country ISO 2 code for the recipient country. Required if the carrier is zonal or `contract_pricing` parameter is provided.
          required: false
        - name: carrier
          in: query
          schema:
            type: string
            example: postnl
          description: A carrier code.
          required: false
        - name: contract
          in: query
          schema:
            type: integer
            example: 123
          description: |-
            The contract id used for shipping product/method filtering. It has a similar effect as using the `carrier` parameter.
            If the `contract_pricing` parameter is used, the carrier is used to provide the correct contract pricing.
            Only required if multiple contract prices exist for the same shipping method.
          required: false
        - name: weight
          in: query
          schema:
            type: integer
            example: 1500
            minimum: 0
          description: The weight of the shipment.
        - name: weight_unit
          in: query
          schema:
            type: string
            enum:
              - gram
              - kilogram
            example: gram
          description: The unit for the shipment weight. Required if the `weight` parameter is provided.
          required: false
        - name: length
          in: query
          schema:
            type: integer
            example: 100
            minimum: 0
          description: The length of the shipment. Required if the `width` and/or `height` parameters are provided.
          required: false
        - name: length_unit
          in: query
          schema:
            type: string
            example: centimeter
            enum:
              - millimeter
              - centimeter
              - meter
          description: The unit for the shipment length. Required if the `length` parameter is provided.
          required: false
        - name: width
          in: query
          schema:
            type: integer
            example: 50
            minimum: 0
          description: The width of the shipment. Required if the `length` and/or `height` parameters are provided.
          required: false
        - name: width_unit
          in: query
          schema:
            type: string
            example: centimeter
            enum:
              - millimeter
              - centimeter
              - meter
          description: The unit for the shipment width. Required if the “width” parameter is provided.
        - name: height
          in: query
          schema:
            type: integer
            example: 10
            minimum: 0
          description: The height of the shipment. Required if the “width” and/or “length” parameters are provided.
          required: false
        - name: height_unit
          in: query
          schema:
            type: string
            example: centimeter
            enum:
              - millimeter
              - centimeter
              - meter
          description: The unit for the shipment height. Required if the “height” parameter is provided.
          required: false
        - name: lead_time_hours
          in: query
          schema:
            type: integer
            example: 24
          description: Filters shipping products (rather its associated shipping methods) by their transit time. This is the estimated time a shipment takes between a parcel is being picked up by a carrier and it reaching its destination. This parameter supports comparison operators (e.g. `lead_time_hours[gte]=12` for filtering out shipments that have less than 12 hours transit time or `lead_time_hours[gte=24]&lead_time_hours[lte]=48` for only including shipping products whose methods have a transit time between 24 and 48 hours). Available operators are “eq” (equal), “gt” (greater than), “lt” (less than), “gte” (greater than or equal), and “lte” (less than or equal).
          required: false
        - name: contract_pricing
          in: query
          schema:
            type: boolean
            example: false
          description: Whether to include contract prices in the response. This parameter is only available to users upon request. Please contact customer support.
          required: false
        - schema:
            type: string
            maxLength: 12
            example: '01000'
          in: query
          name: from_postal_code
          description: Postal code of the sender. Required if the carrier is zonal.
        - schema:
            type: string
            maxLength: 12
            example: '01000'
          in: query
          name: to_postal_code
          description: Postal code of the recipient. Required if the carrier is zonal.
        - schema:
            type: boolean
            default: false
          in: query
          name: returns
          description: If set to `true` the endpoint will return shipping methods which can be used for making a return  shipment.
      responses:
        '200':
          description: A list of shipping products the user has access to.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/shipping-product'
              examples:
                shipping_products:
                  summary: A list of shipping products
                  value:
                    - name: PostNL Standard
                      code: postnl:standard
                      carrier: postnl
                      service_points_carrier: postnl
                      weight_range:
                        min_weight: 1
                        max_weight: 31500
                      available_functionalities:
                        age_check:
                          - null
                          - 18
                        b2b:
                          - false
                        b2c:
                          - false
                        boxable:
                          - false
                        bulky_goods:
                          - false
                        carrier_billing_type:
                          - null
                        cash_on_delivery:
                          - null
                        dangerous_goods:
                          - false
                        delivery_attempts:
                          - null
                        delivery_before:
                          - null
                        delivery_deadline:
                          - best_effort
                        direct_contract_only:
                          - false
                        eco_delivery:
                          - false
                        first_mile:
                          - pickup_dropoff
                        flex_delivery:
                          - false
                        form_factor:
                          - parcel
                        fragile_goods:
                          - false
                        fresh_goods:
                          - false
                        harmonized_label:
                          - false
                        id_check:
                          - false
                        incoterm:
                          - null
                        insurance:
                          - null
                          - 4000
                          - 2500
                          - 1000
                          - 5000
                          - 3500
                          - 2000
                          - 4500
                          - 500
                          - 2300
                          - 3000
                          - 1500
                        last_mile:
                          - home_delivery
                        manually:
                          - false
                        multicollo:
                          - true
                        neighbor_delivery:
                          - false
                          - true
                        non_conveyable:
                          - false
                        personalized_delivery:
                          - false
                        premium:
                          - false
                        priority:
                          - null
                        registered_delivery:
                          - false
                        returns:
                          - false
                        segment:
                          - null
                        service_area:
                          - domestic
                        signature:
                          - false
                          - true
                        size:
                          - null
                        sorted:
                          - false
                        surcharge:
                          - false
                        tracked:
                          - true
                        tyres:
                          - false
                        weekend_delivery:
                          - saturday
                        labelless:
                          - false
                        ers:
                          - false
                      methods:
                        - id: 2368
                          name: PostNL Standard 0-23kg
                          functionalities:
                            neighbor_delivery: true
                            weekend_delivery: saturday
                          shipping_product_code: postnl:standard
                          properties:
                            min_weight: 1
                            max_weight: 23000
                            max_dimensions:
                              length: 100
                              width: 70
                              height: 58
                              unit: centimeter
                          lead_time_hours:
                            NL:
                              NL: 24
                        - id: 2373
                          name: PostNL Standard 23-31.5kg
                          functionalities:
                            neighbor_delivery: true
                            weekend_delivery: saturday
                          shipping_product_code: postnl:standard
                          properties:
                            min_weight: 23000
                            max_weight: 31500
                            max_dimensions:
                              length: 175
                              width: 78
                              height: 58
                              unit: centimeter
                          lead_time_hours:
                            NL:
                              NL: 24
                        - id: 2313
                          name: PostNL age check 0-23kg
                          functionalities:
                            age_check: 18
                            neighbor_delivery: true
                            weekend_delivery: saturday
                          shipping_product_code: postnl:standard
                          properties:
                            min_weight: 1
                            max_weight: 23001
                            max_dimensions:
                              length: 100
                              width: 70
                              height: 58
                              unit: centimeter
                          lead_time_hours:
                            NL:
                              NL: 24
                        - id: 2322
                          name: PostNL evening delivery + home address only 0-23kg
                          functionalities:
                            delivery_before: '2000'
                            tracked: true
                            weekend_delivery: saturday
                          shipping_product_code: postnl:standard
                          properties:
                            min_weight: 1
                            max_weight: 23000
                            max_dimensions:
                              length: 100
                              width: 70
                              height: 58
                              unit: centimeter
                          lead_time_hours:
                            NL:
                              NL: 24
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - request
                      - message
                    properties:
                      code:
                        type: integer
                      request:
                        type: string
                        minLength: 1
                      message:
                        type: string
                        minLength: 1
                required:
                  - error
              examples:
                validation_error:
                  summary: Validation error
                  value:
                    error:
                      code: 400
                      request: api/v2/shipping-products/
                      message: 'from_country: "This field is required."'
      tags:
        - Shipping products
    parameters: []
  /shipping-functionalities:
    get:
      summary: Retrieve a list of shipping functionalities
      description: Lists all available shipping functionalities across the Sendcloud system.
      x-mint:
        href: /api/v2/shipping-products/retrieve-a-list-of-shipping-functionalities
        content: |-
          <Info>
            OAuth2 scopes required: `read:shipping-method`. See [Scopes for OAuth apps](/api/v3/scopes).
          </Info>

          <Warning>
            **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).
          </Warning>

          A shipping functionality is an additional characteristic or 'add on' service that defines one shipping method from another. Some functionalities are related to the form of the shipment that's accepted for shipment, such as letterbox, parcel or pallet, while other functionalities specify any additional handling that's required, such as Age check or Signature required. Functionalities can also denote specific delivery deadlines or weekend delivery availability.

          ## Glossary of shipping functionalities

          This glossary provides a description of every possible shipping functionality associated with a Sendcloud-supported shipping method.

          Shipping functionality             | Description
          ------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
          `age_check`             | Indicates whether the recipient must be above a certain age (e.g., to accept alcohol products).
          `b2b`                   | Indicates whether the shipment is a b2b shipment.
          `b2c`                   | Indicates whether the shipment is a b2c shipment.
          `boxable`               | Indicates whether the shipment fits in a box.
          `bulky_goods`           | Indicates whether the shipment is bulky, e.g. it does not fit in a box.
          `carrier_billing_type`  | Indicates whether the shipment is billed on a country to country basis, or based on a shipping zone to shipping zone. Example is shipping from mainland Spain to the Canary Islands (a zone) or Netherlands to the Netherlands (country to country).
          `cash_on_delivery`      | Indicates whether the receiver of the shipment should pay for the shipment when receiving it.
          `dangerous_goods`       | Indicates whether the shipment can contain dangerous goods.
          `delivery_attempts`     | Indicates the number of delivery attempts the carrier should attempt before returning (or discarding) the parcel.
          `delivery_before`       | Indicates whether the shipment will be delivered before a certain time of the day (Example: before 12:00).
          `delivery_deadline`     | Indicates the period of time in which the shipment will be delivered (Example: 24 hours, 28 hours).
          `direct_contract_only`  | Indicates whether shipping is only possible using your own carrier contract, or if it is possible using Sendcloud contract rates.
          `eco_delivery`          | Indicates whether the shipping process will be environmentally friendly.
          `ers`                   | Indicates whether the shipment will use the ERS (Easy Return Solution) system.
          `first_mile`            | Indicates how transportation of the first mile of the shipment will take place. Example is that the parcel is dropped of at a service point, or is picked up by the carrier.
          `flex_delivery`         | Indicates whether the receiver of the parcel can, before delivery takes place, choose where and when the shipment should be delivered.
          `form_factor`           | Indicates the form factor of the parcel. Examples are letter, pallet, parcel.
          `fragile_goods`         | Indicates whether the shipment can contain fragile goods (glass, electronics, etcetera).
          `fresh_goods`           | Indicates whether the shipment can contain fresh goods (e.g. food with an expiration date).
          `harmonized_label`      | Indicates whether the shipment label contains the customs information on it as well.
          `id_check`              | Indicates whether the receiver should identify him/herself to the carrier driver, conforming the identity of the receiver.
          `incoterm`              | Indicates what incoterm is used for an (international) shipment. Mainly used to determine if the receiver or the sender pays the customs duties.
          `insurance`             | Indicates whether the shipment has carrier insurance or not.
          `labelless`             | Indicates whether a return shipment can be done using only a QR code or numerical number, needed by the end-consumer to return the parcel. In other words, no shipping label is required.
          `last_mile`             | Indicates what the last mile of the shipment looks like. For instance, the shipment can be delivered to a service point or a home address.
          `manually`              | Indicates a subset of Deutsche Post shipping methods where a consumer should manually attach the label to the parcel.
          `multicollo`            | Indicates whether the shipment can be a multi-collo shipment. Note: Not all carriers support multicollo shipment. See the supported carriers and more in our help center
          `neighbor_delivery`     | Indicates whether the shipment is allowed to be delivered at the neighbours of the receiver.
          `non_conveyable`        | Indicates whether the shipment fits on a conveyor belt.
          `personalized_delivery` | Indicates a subset of Deutsche Post shipping methods shipping to a consumer.
          `premium`               | Indicates whether the carrier identifies the shipment's shipping process as premium.
          `priority`              | Indicates the priority level of the shipment. Examples are Express or Standard.
          `registered_delivery`   | Indicates whether a Proof of Delivery (POD) is communicated to the sender.
          `returns`               | Indicates whether the shipment should be a return shipment or not.
          `segment`               | Indicates the international pricing zone for PostNL shipments.
          `service_area`          | Indicates the service area of the shipment. Examples are domestic or international.
          `signature`             | Indicates whether the shipment requires a signature upon delivery.
          `size`                  | Indicates the allowed size of the shipment.
          `sorted`                | Indicates whether the shipment(s) are handed over the carrier in a sorted fashion, decreasing costs.
          `surcharge`             | Indicates whether the carrier can surcharge the shipment later, based on (volumetric) weight.
          `tracked`               | Indicates whether the shipment can be tracked online.
          `tyres`                 | Indicates whether the shipment can be used to ship tyres.
          `weekend_delivery`      | Indicates whether the shipment can be delivered in the weekend or on a specific weekend-day.
      operationId: sc-public-v2-scp-get-retrieve_all_shipping_functionalities
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds:
            - read:shipping-method
      parameters: []
      responses:
        '200':
          description: The definitions of available shipping functionalities in the Sendcloud platform.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/shipping-functionality-definitions'
              examples:
                shipping_functionality_definitions:
                  summary: Shipping functionalities
                  value:
                    age_check:
                      name: Age check
                      default_value: null
                      type: integer
                    b2b:
                      name: B2B
                      default_value: false
                      type: boolean
                    b2c:
                      name: B2C
                      default_value: false
                      type: boolean
                    boxable:
                      name: Boxable
                      default_value: false
                      type: boolean
                    bulky_goods:
                      name: Bulky goods
                      default_value: false
                      type: boolean
                    carrier_billing_type:
                      name: Carrier billing type
                      default_value: null
                      type: string
                      values:
                        country:
                          name: Country
                        zonal:
                          name: Zonal
                    cash_on_delivery:
                      name: Cash on delivery
                      default_value: null
                      type: integer
                    dangerous_goods:
                      name: Dangerous goods
                      default_value: false
                      type: boolean
                    delivery_attempts:
                      name: Delivery attempts
                      default_value: null
                      type: integer
                    delivery_before:
                      name: Delivery before
                      default_value: null
                      type: string
                      pattern: ^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$
                    delivery_deadline:
                      name: Delivery deadline
                      default_value: null
                      type: string
                      values:
                        best_effort:
                          name: Best effort
                        sameday:
                          name: Same day
                        nextday:
                          name: Next day
                        within_24h:
                          name: Within 24 hours
                        within_48h:
                          name: Within 48 hours
                        within_72h:
                          name: Within 72 hours
                    direct_contract_only:
                      name: On direct contract only
                      default_value: false
                      type: boolean
                    eco_delivery:
                      name: Eco delivery
                      default_value: false
                      type: boolean
                    first_mile:
                      name: First mile
                      default_value: null
                      type: string
                      values:
                        pickup:
                          name: Pickup
                        dropoff:
                          name: Drop-off
                        pickup_dropoff:
                          name: Pickup / Drop-off
                        fulfilment:
                          name: Fulfilment
                    flex_delivery:
                      name: Flex delivery
                      default_value: false
                      type: boolean
                    form_factor:
                      name: Form factor
                      default_value: null
                      type: string
                      values:
                        letter:
                          name: Letter
                        parcel:
                          name: Parcel
                        mailbox:
                          name: Mailbox
                        pallet:
                          name: Pallet
                        long:
                          name: Long
                    fragile_goods:
                      name: Fragile goods
                      default_value: false
                      type: boolean
                    fresh_goods:
                      name: Fresh goods
                      default_value: false
                      type: boolean
                    harmonized_label:
                      name: Harmonized label
                      default_value: false
                      type: boolean
                    id_check:
                      name: ID check
                      default_value: false
                      type: boolean
                    incoterm:
                      name: Incoterm
                      default_value: null
                      type: string
                      values:
                        dap:
                          name: Delivery at place
                        ddp:
                          name: Delivery duty paid
                        ddu:
                          name: Delivery duty unpaid
                        dap_np:
                          name: Seller bears costs of shipping incl. clearance. Receiver bears the costs and risks of duties and VAT.
                        dap_dp:
                          name: Seller bears the costs and risks of transport, clearance, duties and VAT.
                    insurance:
                      name: Insurance
                      default_value: null
                      type: integer
                    last_mile:
                      name: Last mile
                      default_value: null
                      type: string
                      values:
                        home_delivery:
                          name: Home delivery
                        service_point:
                          name: Service point
                        mailbox:
                          name: Mailbox
                        pobox:
                          name: PO Box
                    manually:
                      name: Manually
                      default_value: false
                      type: boolean
                    multicollo:
                      name: Multicollo
                      default_value: false
                      type: boolean
                    neighbor_delivery:
                      name: Neighbor delivery
                      default_value: false
                      type: boolean
                    non_conveyable:
                      name: Non conveyable
                      default_value: false
                      type: boolean
                    personalized_delivery:
                      name: Personalized delivery
                      default_value: false
                      type: boolean
                    premium:
                      name: Premium
                      default_value: false
                      type: boolean
                    priority:
                      name: Priority
                      default_value: null
                      type: string
                      values:
                        economical:
                          name: Economical
                        standard:
                          name: Standard
                        priority:
                          name: Priority
                        express:
                          name: Express
                    registered_delivery:
                      name: Registered delivery
                      default_value: false
                      type: boolean
                    returns:
                      name: Returns
                      default_value: false
                      type: boolean
                    segment:
                      name: Segment
                      default_value: null
                      type: string
                      values:
                        a+:
                          name: A+
                        a:
                          name: A
                        b:
                          name: B
                        c:
                          name: C
                        d:
                          name: D
                    service_area:
                      name: Service area
                      default_value: null
                      type: string
                      values:
                        domestic:
                          name: Domestic
                        domestic_remote:
                          name: Domestic & remote
                        international:
                          name: International
                    signature:
                      name: Signature
                      default_value: false
                      type: boolean
                    size:
                      name: Size
                      default_value: null
                      type: string
                      values:
                        xs:
                          name: Extra-small
                        s:
                          name: Small
                        m:
                          name: Medium
                        l:
                          name: Large
                        xl:
                          name: Extra-large
                        xxl:
                          name: Extra-extra-large
                    sorted:
                      name: Sorted
                      default_value: false
                      type: boolean
                    surcharge:
                      name: Surcharge
                      default_value: false
                      type: boolean
                    tracked:
                      name: Tracked
                      default_value: false
                      type: boolean
                    tyres:
                      name: Tyres
                      default_value: false
                      type: boolean
                    weekend_delivery:
                      name: Weekend delivery
                      default_value: null
                      type: string
                      values:
                        saturday:
                          name: Saturday
                        sunday:
                          name: Sunday
                        weekends:
                          name: Weekends
                    labelless:
                      name: Labelless shipping
                      default_value: false
                      type: boolean
                    ers:
                      name: Easy Return Solution
                      default_value: false
                      type: boolean
      tags:
        - Shipping products
    parameters: []
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:
            read:analytics: View your shipping analytics
            read:audit-log: View your account's audit log
            read:brand: View your brands
            write:brand: Manage your brands
            write:carrier: Configure carriers and contracts
            read:checkout: View your dynamic checkout configurations and templates
            read:event-subscription: View your event subscriptions
            write:event-subscription: Create and manage your event subscriptions
            read:integration: View your integrations
            write:integration: Connect and manage integrations
            read:invoice: View your invoices
            read:notification: View your notifications
            write:notification: Manage your notifications
            read:operational-settings: View your warehouses, shipping lanes, and other operational settings
            write:operational-settings: Manage your warehouses, shipping lanes, and other operational settings
            read:order: View your orders
            write:order: Import and process your orders
            read:organization: View organization settings
            write:organization: Change organization settings
            read:parcel: View your shipments and their tracking status
            write:parcel: Create, announce, and cancel shipments
            read:pickup: View carrier pickups and the options available for scheduling them
            write:pickup: Schedule and manage carrier pickups
            read:price: View shipping prices
            write:product: Manage your product catalog
            read:return: View your returns
            write:return: Create and manage returns
            read:return-settings: View your return settings
            write:return-settings: Configure your return settings
            read:service-point: View carrier service points
            read:shipping-method: View shipping methods, products and prices
            read:shipping-rule: View your shipping rules
            write:shipping-rule: Create and manage shipping rules
            read:support-ticket: View your support tickets
            write:support-ticket: Manage your support tickets
            read:tracking-message: View your tracking notifications
            write:tracking-message: Manage your tracking notifications
            read:tracking-page: View your tracking page
            write:tracking-page: Customize your tracking page
            read:user: Read your basic account information
  schemas:
    ShippingProduct:
      $ref: '#/components/schemas/shipping-product'
    ShippingProductFunctionality:
      $ref: '#/components/schemas/shipping-functionality-definitions'
    country-codes:
      type: string
      title: Country Code Object
      enum:
        - AW
        - AF
        - AO
        - AI
        - AX
        - AL
        - AD
        - AE
        - AR
        - AM
        - AS
        - AQ
        - TF
        - AG
        - AU
        - AT
        - AZ
        - BI
        - BE
        - BJ
        - BQ
        - BF
        - BD
        - BG
        - BH
        - BS
        - BA
        - BL
        - BY
        - BZ
        - BM
        - BO
        - BR
        - BB
        - BN
        - BT
        - BV
        - BW
        - CF
        - CA
        - CC
        - CH
        - CL
        - CN
        - CI
        - CM
        - CD
        - CG
        - CK
        - CO
        - KM
        - CV
        - CR
        - CU
        - CW
        - CX
        - KY
        - CY
        - CZ
        - DE
        - DJ
        - DM
        - DK
        - DO
        - DZ
        - EC
        - EG
        - ER
        - EH
        - ES
        - EE
        - ET
        - FI
        - FJ
        - FK
        - FR
        - FO
        - FM
        - GA
        - GB
        - GE
        - GG
        - GH
        - GI
        - GN
        - GP
        - GM
        - GW
        - GQ
        - GR
        - GD
        - GL
        - GT
        - GF
        - GU
        - GY
        - HK
        - HM
        - HN
        - HR
        - HT
        - HU
        - ID
        - IM
        - IN
        - IO
        - IE
        - IR
        - IQ
        - IS
        - IL
        - IT
        - JM
        - JE
        - JO
        - JP
        - KZ
        - KE
        - KG
        - KH
        - KI
        - KN
        - KR
        - KW
        - LA
        - LB
        - LR
        - LY
        - LC
        - LI
        - LK
        - LS
        - LT
        - LU
        - LV
        - MO
        - MF
        - MA
        - MC
        - MD
        - MG
        - MV
        - MX
        - MH
        - MK
        - ML
        - MT
        - MM
        - ME
        - MN
        - MP
        - MZ
        - MR
        - MS
        - MQ
        - MU
        - MW
        - MY
        - YT
        - NA
        - NC
        - NE
        - NF
        - NG
        - NI
        - NU
        - NL
        - 'NO'
        - NP
        - NR
        - NZ
        - OM
        - PK
        - PA
        - PN
        - PE
        - PH
        - PW
        - PG
        - PL
        - PR
        - KP
        - PT
        - PY
        - PS
        - PF
        - QA
        - RE
        - RO
        - RU
        - RW
        - SA
        - SD
        - SN
        - SG
        - GS
        - SH
        - SJ
        - SB
        - SL
        - SV
        - SM
        - SO
        - PM
        - RS
        - SS
        - ST
        - SR
        - SK
        - SI
        - SE
        - SZ
        - SX
        - SC
        - SY
        - TC
        - TD
        - TG
        - TH
        - TJ
        - TK
        - TM
        - TL
        - TO
        - TT
        - TN
        - TR
        - TV
        - TW
        - TZ
        - UG
        - UA
        - UM
        - UY
        - US
        - UZ
        - VA
        - VC
        - VE
        - VG
        - VI
        - VN
        - VU
        - WF
        - WS
        - YE
        - ZA
        - ZM
        - ZW
        - IC
        - XK
      description: A country represented by its ISO 3166-1 alpha-2 code
      example: NL
    shipping-functionalities:
      title: Shipping Functionalities Object
      type: object
      properties:
        age_check:
          type: integer
          nullable: true
          description: Indicates whether the recipient must be above a certain age (e.g., to accept alcohol products).
        b2b:
          type: boolean
          description: Indicates whether the shipment is a b2b shipment.
        b2c:
          type: boolean
          description: Indicates whether the shipment is a b2c shipment.
        boxable:
          type: boolean
          description: Indicates whether the shipment fits in a box.
        bulky_goods:
          type: boolean
          description: Indicates whether the shipment is bulky, e.g. it does not fit in a box.
        carrier_billing_type:
          type: string
          nullable: true
          description: Indicates whether the shipment is billed on a country to country basis, or based on a shipping zone to shipping zone. Example is shipping from mainland Spain to the Canary Islands (a zone) or Netherlands to the Netherlands (country to country).
          enum:
            - country
            - zonal
        cash_on_delivery:
          type: boolean
          nullable: true
          description: Indicates whether the receiver of the shipment should pay for the shipment when receiving it.
        dangerous_goods:
          type: boolean
          description: Indicates whether the shipment can contain dangerous goods.
        delivery_attempts:
          type: integer
          nullable: true
          description: Indicates the number of delivery attempts the carrier should attempt before returning (or discarding) the parcel.
        delivery_before:
          type: string
          nullable: true
          description: 'Indicates whether shipment will be delivered before a certain time of the day (Example: before 12:00).'
        delivery_deadline:
          type: string
          nullable: true
          enum:
            - best_effort
            - nextday
            - sameday
            - within_24h
            - within_48h
            - within_72h
          example: best_effort
          description: 'Indicates the period of time in which the shipment will be delivered (Example: 24 hours, 28 hours).'
        direct_contract_only:
          type: boolean
          description: Indicates whether shipping is only possible using your own carrier contract, or if it is possible using Sendcloud contract rates.
        eco_delivery:
          type: boolean
          description: Indicates whether the shipping process will be environmently friendly.
        ers:
          type: boolean
          description: Indicates whether shipment will use the ERS (Easy Return Solution) system.
        first_mile:
          type: string
          nullable: true
          enum:
            - dropoff
            - fulfilment
            - pickup
            - pickup_dropoff
          example: dropoff
          description: Indicates how transportation of the first mile of the shipment will take place. Example is that the parcel is dropped of at a service point, or is picked up by the carrier.
        flex_delivery:
          type: boolean
          description: Indicates whether the receiver of the parcel can, before delivery takes place, choose where and when the shipment should be delivered.
        form_factor:
          type: string
          nullable: true
          enum:
            - letter
            - long
            - mailbox
            - pallet
            - parcel
          example: parcel
          description: Indicates the form factor of the parcel. Examples are letter, pallet, parcel.
        fragile_goods:
          type: boolean
          description: Indicates whether shipment can contain fragile goods (glass, electronics, etcetera).
        fresh_goods:
          type: boolean
          description: Indicates whether shipment can contain fresh goods (e.g. food with an expiration date).
        harmonized_label:
          type: boolean
          description: Indicates whether shipment label contains the customs information on as well.
        id_check:
          type: boolean
          description: Indicates whether the receiver should identify him/herself to the carrier driver, conforming the identity of the receiver.
        incoterm:
          type: string
          nullable: true
          enum:
            - dap
            - ddp
            - ddu
            - dap_np
            - dap_dp
          example: ddp
          description: Indicates what incoterm is used for an (international) shipment. Mainly used to determine if the receiver or the sender pays the customs duties.
        insurance:
          type: integer
          description: Indicates whether the shipment has carrier insurance or not.
        labelless:
          type: boolean
          description: Indicates whether a return shipment can be done using only a QR code or numerical number, needed by the end-consumer to return the parcel. In other words, no shipping label is required.
        last_mile:
          type: string
          nullable: true
          enum:
            - home_delivery
            - mailbox
            - pobox
            - service_point
          example: home_delivery
          description: Indicates what the last mile of the shipment looks like. For instance, the shipment can be delivered to a service point or a home address.
        manually:
          type: boolean
          description: Indicates a subset of Deutsche Post shipping methods where a consumer should manually attach the label to the parcel.
        multicollo:
          type: boolean
          description: 'Indicates whether the shipment can be a multi-collo shipment. Note: Not all carriers support multicollo shipment. See the supported carriers and more in our help center.'
        neighbor_delivery:
          type: boolean
          description: Indicates whether shipment is allowed to be delivered at the neighbours of the receiver.
        non_conveyable:
          type: boolean
          description: Indicates whether the shipment fits on a conveyor belt.
        personalized_delivery:
          type: boolean
          description: Indicates a subset of Deutsche Post shipping methods shipping to a consumer.
        premium:
          type: boolean
          description: Indicates whether the carrier identifies the shipments shipping process as premium.
        priority:
          type: string
          nullable: true
          enum:
            - economical
            - express
            - priority
            - standard
          example: standard
          description: Indicates the priority level of the shipment. Examples are Express or Standard.
        registered_delivery:
          type: boolean
          description: Indicates whether a Proof of Delivery (POD) is communicated to the sender.
        returns:
          type: boolean
          description: Indicates whether the shipment should be a return shipment or not.
        segment:
          type: string
          nullable: true
          enum:
            - a+
            - a
            - b
            - c
            - d
          example: a+
          description: Indicates the international pricing zone for PostNL shipments.
        service_area:
          type: string
          nullable: true
          enum:
            - domestic
            - domestic_remote
            - international
          example: domestic
          description: Indicates the service area of the shipment. Examples are domestic or international.
        signature:
          type: boolean
          description: Indicates whether the shipment requires a signature upon delivery.
        size:
          type: string
          nullable: true
          enum:
            - xs
            - s
            - m
            - l
            - xl
            - xxl
          example: s
          description: Indicates the allowed size of the shipment.
        sorted:
          type: boolean
          description: Indicates whether the shipment(s) are handed over the carrier in a sorted fashion, decreasing costs.
        surcharge:
          type: boolean
          description: Indicates whether the carrier can surcharge the shipment later, based on (volumetric) weight.
        tracked:
          type: boolean
          description: Indicates whether the shipment can be tracked online.
        tyres:
          type: boolean
          description: Indicates whether the shipment can be used to ship tyres.
        weekend_delivery:
          type: string
          nullable: true
          enum:
            - saturday
            - sunday
            - weekends
          example: saturday
          description: Indicates whether shipment can delivery in the weekend or on a specific weekend-day.
    shipping-product-method:
      title: Shipping Product Method Object
      type: object
      description: A shipping method as it appears as part of ShippingProduct objects.
      example:
        id: 2368
        name: PostNL Standard 0-23kg
        functionalities:
          neighbor_delivery: true
          weekend_delivery: saturday
        shipping_product_code: postnl:standard
        properties:
          min_weight: 1
          max_weight: 23000
          max_dimensions:
            length: 100
            width: 70
            height: 58
            unit: centimeter
        lead_time_hours:
          NL:
            NL: 24
      properties:
        id:
          type: integer
          description: The shipping method unique identifier.
        name:
          type: string
          description: A human friendly name for the shipping method.
          example: DHL Express Domestic 0-1kg
        shipping_product_code:
          type: string
          description: 'A unique identifier for the shipping product, which the shipping method belongs to. '
          example: dhl_express:domestic
        lead_time_hours:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: number
          description: Expected lead time for this shipping method for the filtered `from_country`->`to_country` pair.
        functionalities:
          $ref: '#/components/schemas/shipping-functionalities'
        properties:
          type: object
          description: Properties of this shipping method.
          required:
            - min_weight
            - max_weight
            - max_dimensions
          properties:
            min_weight:
              type: integer
              description: the minimal weight of the shipping method, in grams (bounds are inclusive).
              example: 1
            max_weight:
              type: integer
              description: the minimal weight of the shipping method, in grams (bounds are inclusive).
              example: 1001
            max_dimensions:
              type: object
              description: Indicates maximum dimensions that can be used when shipping a parcel with this shipping method.
              required:
                - length
                - width
                - height
                - unit
              properties:
                length:
                  type: integer
                  description: Maximum length the parcel can have, when using this shipping method.
                  example: 120
                width:
                  type: integer
                  description: Maximum width the parcel can have, when using this shipping method.
                  example: 80
                height:
                  type: integer
                  description: Maximum height the parcel can have, when using this shipping method.
                  example: 80
                unit:
                  type: string
                  example: centimeter
                  description: Unit of the length, width and height of max_dimensions.
                  enum:
                    - millimeter
                    - centimeter
                    - meter
                  minLength: 5
                  maxLength: 10
      required:
        - id
        - name
        - shipping_product_code
        - lead_time_hours
        - functionalities
        - properties
    available-shipping-functionalities:
      title: Available Shipping Functionalities Object
      type: object
      properties:
        age_check:
          type: array
          items:
            type: integer
            nullable: true
        b2b:
          type: array
          items:
            type: boolean
        b2c:
          type: array
          items:
            type: boolean
        boxable:
          type: array
          items:
            type: boolean
        bulky_goods:
          type: array
          items:
            type: boolean
        carrier_billing_type:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - country
              - zonal
              - 'null'
            example: country
        cash_on_delivery:
          type: array
          items:
            type: boolean
            nullable: true
        dangerous_goods:
          type: array
          items:
            type: boolean
        delivery_attempts:
          type: array
          items:
            type: integer
            nullable: true
        delivery_before:
          type: array
          items:
            type: string
            nullable: true
        delivery_deadline:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - best_effort
              - nextday
              - sameday
              - within_24h
              - within_48h
              - within_72h
              - 'null'
            example: best_effort
        direct_contract_only:
          type: array
          items:
            type: boolean
        eco_delivery:
          type: array
          items:
            type: boolean
        ers:
          type: array
          items:
            type: boolean
        first_mile:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - dropoff
              - fulfilment
              - pickup
              - pickup_dropoff
              - 'null'
            example: dropoff
        flex_delivery:
          type: array
          items:
            type: boolean
        form_factor:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - letter
              - long
              - mailbox
              - pallet
              - parcel
              - 'null'
            example: parcel
        fragile_goods:
          type: array
          items:
            type: boolean
        fresh_goods:
          type: array
          items:
            type: boolean
        harmonized_label:
          type: array
          items:
            type: boolean
        id_check:
          type: array
          items:
            type: boolean
        incoterm:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - dap
              - ddp
              - ddu
              - dap_np
              - dap_dp
              - 'null'
            example: ddp
        insurance:
          type: array
          items:
            type: integer
            nullable: true
        labelless:
          type: array
          items:
            type: boolean
        last_mile:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - home_delivery
              - mailbox
              - pobox
              - service_point
              - 'null'
            example: home_delivery
        manually:
          type: array
          items:
            type: boolean
        multicollo:
          type: array
          items:
            type: boolean
        neighbor_delivery:
          type: array
          items:
            type: boolean
        non_conveyable:
          type: array
          items:
            type: boolean
        personalized_delivery:
          type: array
          items:
            type: boolean
        premium:
          type: array
          items:
            type: boolean
        priority:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - economical
              - express
              - priority
              - standard
              - 'null'
            example: standard
        registered_delivery:
          type: array
          items:
            type: boolean
        returns:
          type: array
          items:
            type: boolean
        segment:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - a+
              - a
              - b
              - c
              - d
              - 'null'
            example: a+
        service_area:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - domestic
              - domestic_remote
              - international
              - 'null'
            example: domestic
        signature:
          type: array
          items:
            type: boolean
        size:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - xs
              - s
              - m
              - l
              - xl
              - xxl
              - 'null'
            example: s
        sorted:
          type: array
          items:
            type: boolean
        surcharge:
          type: array
          items:
            type: boolean
        tracked:
          type: array
          items:
            type: boolean
        tyres:
          type: array
          items:
            type: boolean
        weekend_delivery:
          type: array
          items:
            type: string
            nullable: true
            enum:
              - saturday
              - sunday
              - weekends
              - 'null'
            example: saturday
    shipping-product:
      title: Shipping Product Object
      type: object
      example:
        name: PostNL Standard
        code: postnl:standard
        carrier: postnl
        service_points_carrier: postnl
        weight_range:
          min_weight: 1
          max_weight: 31500
        available_functionalities:
          age_check:
            - null
            - 18
          b2b:
            - false
          b2c:
            - false
          boxable:
            - false
          bulky_goods:
            - false
          carrier_billing_type:
            - 'null'
          cash_on_delivery:
            - null
          dangerous_goods:
            - false
          delivery_attempts:
            - null
          delivery_before:
            - null
            - '2000'
          delivery_deadline:
            - best_effort
          direct_contract_only:
            - false
          eco_delivery:
            - false
          first_mile:
            - pickup_dropoff
          flex_delivery:
            - false
          form_factor:
            - parcel
          fragile_goods:
            - false
          fresh_goods:
            - false
          harmonized_label:
            - false
          id_check:
            - false
          incoterm:
            - 'null'
          insurance:
            - null
            - 4000
            - 2500
            - 1000
            - 5000
            - 3500
            - 2000
            - 4500
            - 500
            - 2300
            - 3000
            - 1500
          last_mile:
            - home_delivery
          manually:
            - false
          multicollo:
            - true
          neighbor_delivery:
            - false
            - true
          non_conveyable:
            - false
          personalized_delivery:
            - false
          premium:
            - false
          priority:
            - 'null'
          registered_delivery:
            - false
          returns:
            - false
          segment:
            - 'null'
          service_area:
            - domestic
          signature:
            - false
            - true
          size:
            - 'null'
          sorted:
            - false
          surcharge:
            - false
          tracked:
            - true
          tyres:
            - false
          weekend_delivery:
            - saturday
          labelless:
            - false
          ers:
            - false
        methods:
          - id: 2368
            name: PostNL Standard 0-23kg
            functionalities:
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2373
            name: PostNL Standard 23-31.5kg
            functionalities:
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2313
            name: PostNL age check 0-23kg
            functionalities:
              age_check: 18
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23001
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2322
            name: PostNL evening delivery + home address only 0-23kg
            functionalities:
              delivery_before: '2000'
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2323
            name: PostNL evening delivery + home address only 23-31.5kg
            functionalities:
              delivery_before: '2000'
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2328
            name: PostNL evening delivery + insured up to 1000 euro 0-23kg
            functionalities:
              insurance: 1000
              neighbor_delivery: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2329
            name: PostNL evening delivery + insured up to 1000 euro 23-31.5kg
            functionalities:
              insurance: 1000
              neighbor_delivery: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2332
            name: PostNL evening delivery + insured up to 1500 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 1500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2333
            name: PostNL evening delivery + insured up to 1500 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 1500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2336
            name: PostNL evening delivery + insured up to 2000 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 2000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2337
            name: PostNL evening delivery + insured up to 2000 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 2000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2346
            name: PostNL evening delivery + insured up to 2300 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 3000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2342
            name: PostNL evening delivery + insured up to 2500 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 2500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2343
            name: PostNL evening delivery + insured up to 2500 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 2500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2340
            name: PostNL evening delivery + insured up to 3000 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 2300
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2348
            name: PostNL evening delivery + insured up to 3500 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 3500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2349
            name: PostNL evening delivery + insured up to 3500 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 3500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2352
            name: PostNL evening delivery + insured up to 4000 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 4000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2353
            name: PostNL evening delivery + insured up to 4000 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 4000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2356
            name: PostNL evening delivery + insured up to 4500 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 4500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2357
            name: PostNL evening delivery + insured up to 4500 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 4500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2364
            name: PostNL evening delivery + insured up to 500 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2365
            name: PostNL evening delivery + insured up to 500 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2360
            name: PostNL evening delivery + insured up to 5000 euro 0-23kg
            functionalities:
              delivery_before: '2000'
              insurance: 5000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2361
            name: PostNL evening delivery + insured up to 5000 euro 23-31.5kg
            functionalities:
              delivery_before: '2000'
              insurance: 5000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2378
            name: PostNL evening delivery + signature on delivery + home address only 0-23kg
            functionalities:
              delivery_before: '2000'
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2379
            name: PostNL evening delivery + signature on delivery + home address only 23-31.5kg
            functionalities:
              delivery_before: '2000'
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2324
            name: PostNL home address only 0-23kg
            functionalities:
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2326
            name: PostNL home address only 23-31.5kg
            functionalities:
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2331
            name: PostNL insured up to 1000 euro 23-31.5kg
            functionalities:
              insurance: 1000
              neighbor_delivery: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2335
            name: PostNL insured up to 1500 euro 23-31.5kg
            functionalities:
              insurance: 1500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2339
            name: PostNL insured up to 2000 euro 23-31.5kg
            functionalities:
              insurance: 2000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2345
            name: PostNL insured up to 2500 euro 23-31.5kg
            functionalities:
              insurance: 2500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2341
            name: PostNL insured up to 3000 euro 23-31.5kg
            functionalities:
              insurance: 2300
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2351
            name: PostNL insured up to 3500 euro 23-31.5kg
            functionalities:
              insurance: 3500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2355
            name: PostNL insured up to 4000 euro 23-31.5kg
            functionalities:
              insurance: 4000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2359
            name: PostNL insured up to 4500 euro 23-31.5kg
            functionalities:
              insurance: 4500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2366
            name: PostNL insured up to 500 euro 0-23kg
            functionalities:
              insurance: 500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2367
            name: PostNL insured up to 500 euro 23-31.5kg
            functionalities:
              insurance: 500
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2363
            name: PostNL insured up to 5000 euro 23-31.5kg
            functionalities:
              insurance: 5000
              neighbor_delivery: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2380
            name: PostNL signature on delivery + home address only 0-23kg
            functionalities:
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2382
            name: PostNL signature on delivery + home address only 23-31.5kg
            functionalities:
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2384
            name: PostNL with signature 0-23kg
            functionalities:
              neighbor_delivery: true
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 1
              max_weight: 23000
              max_dimensions:
                length: 100
                width: 70
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
          - id: 2386
            name: PostNL with signature 23-31.5kg
            functionalities:
              neighbor_delivery: true
              signature: true
              tracked: true
              weekend_delivery: saturday
            shipping_product_code: postnl:standard
            properties:
              min_weight: 23000
              max_weight: 31500
              max_dimensions:
                length: 175
                width: 78
                height: 58
                unit: centimeter
            lead_time_hours:
              NL:
                NL: 24
      properties:
        name:
          type: string
          description: A human friendly name for the functionality.
        carrier:
          type: string
        service_points_carrier:
          type: string
        code:
          type: string
          description: A unique identifier for the shipping product.
        weight_range:
          type: object
          required:
            - min_weight
            - max_weight
          description: Indicates the minimal and maximal weight of the shipping product, in grams (bounds are inclusive).
          properties:
            min_weight:
              type: integer
            max_weight:
              type: integer
        methods:
          type: array
          description: Indicate the shipping methods belonging to this shipping product.
          items:
            $ref: '#/components/schemas/shipping-product-method'
        available_functionalities:
          $ref: '#/components/schemas/available-shipping-functionalities'
      required:
        - name
        - carrier
        - service_points_carrier
        - code
        - weight_range
        - methods
        - available_functionalities
      description: '**Shipping product** is the term used to refer to a **group of shipping methods** offered by a shipping carrier.  The methods within the overall shipping product will share the same characteristics, but are differentiated from  each other based on additional **shipping functionalities**, parcel **weight classes** or other criteria. '
    shipping-functionality-definition:
      title: Shipping Functionality Definition Object
      type: object
      example:
        name: age_check
        type: boolean
        default_value: false
      properties:
        name:
          type: string
          example: age_check
        type:
          type: string
          nullable: true
          enum:
            - boolean
            - integer
            - string
          example: boolean
        default_value:
          description: The default value of each functionality.
          anyOf:
            - type: string
              nullable: true
            - type: integer
              nullable: true
            - type: boolean
              nullable: true
        values:
          type: object
          description: An object whose properties are the only possible values of a functionality.
          additionalProperties:
            type: object
            properties:
              name:
                type: string
            required:
              - name
        pattern:
          type: string
          description: A regular expression restricting the allowed values of a string type functionality.
          example: ^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$
      required:
        - name
        - type
    shipping-functionality-definitions:
      title: Shipping Functionality Definitions Object
      type: object
      description: The shipping functionality definitions as they’re known in the Sendcloud platform.
      properties:
        age_check:
          $ref: '#/components/schemas/shipping-functionality-definition'
        b2b:
          $ref: '#/components/schemas/shipping-functionality-definition'
        b2c:
          $ref: '#/components/schemas/shipping-functionality-definition'
        boxable:
          $ref: '#/components/schemas/shipping-functionality-definition'
        bulky_goods:
          $ref: '#/components/schemas/shipping-functionality-definition'
        carrier_billing_type:
          $ref: '#/components/schemas/shipping-functionality-definition'
        cash_on_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        dangerous_goods:
          $ref: '#/components/schemas/shipping-functionality-definition'
        delivery_attempts:
          $ref: '#/components/schemas/shipping-functionality-definition'
        delivery_before:
          $ref: '#/components/schemas/shipping-functionality-definition'
        delivery_deadline:
          $ref: '#/components/schemas/shipping-functionality-definition'
        direct_contract_only:
          $ref: '#/components/schemas/shipping-functionality-definition'
        eco_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        ers:
          $ref: '#/components/schemas/shipping-functionality-definition'
        first_mile:
          $ref: '#/components/schemas/shipping-functionality-definition'
        flex_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        form_factor:
          $ref: '#/components/schemas/shipping-functionality-definition'
        fragile_goods:
          $ref: '#/components/schemas/shipping-functionality-definition'
        fresh_goods:
          $ref: '#/components/schemas/shipping-functionality-definition'
        harmonized_label:
          $ref: '#/components/schemas/shipping-functionality-definition'
        id_check:
          $ref: '#/components/schemas/shipping-functionality-definition'
        incoterm:
          $ref: '#/components/schemas/shipping-functionality-definition'
        insurance:
          $ref: '#/components/schemas/shipping-functionality-definition'
        labelless:
          $ref: '#/components/schemas/shipping-functionality-definition'
        last_mile:
          $ref: '#/components/schemas/shipping-functionality-definition'
        manually:
          $ref: '#/components/schemas/shipping-functionality-definition'
        multicollo:
          $ref: '#/components/schemas/shipping-functionality-definition'
        neighbor_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        non_conveyable:
          $ref: '#/components/schemas/shipping-functionality-definition'
        personalized_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        premium:
          $ref: '#/components/schemas/shipping-functionality-definition'
        priority:
          $ref: '#/components/schemas/shipping-functionality-definition'
        registered_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
        returns:
          $ref: '#/components/schemas/shipping-functionality-definition'
        segment:
          $ref: '#/components/schemas/shipping-functionality-definition'
        service_area:
          $ref: '#/components/schemas/shipping-functionality-definition'
        signature:
          $ref: '#/components/schemas/shipping-functionality-definition'
        size:
          $ref: '#/components/schemas/shipping-functionality-definition'
        sorted:
          $ref: '#/components/schemas/shipping-functionality-definition'
        surcharge:
          $ref: '#/components/schemas/shipping-functionality-definition'
        tracked:
          $ref: '#/components/schemas/shipping-functionality-definition'
        tyres:
          $ref: '#/components/schemas/shipping-functionality-definition'
        weekend_delivery:
          $ref: '#/components/schemas/shipping-functionality-definition'
      required:
        - age_check
        - b2b
        - b2c
        - boxable
        - bulky_goods
        - carrier_billing_type
        - cash_on_delivery
        - dangerous_goods
        - delivery_attempts
        - delivery_before
        - delivery_deadline
        - direct_contract_only
        - eco_delivery
        - ers
        - first_mile
        - flex_delivery
        - form_factor
        - fragile_goods
        - fresh_goods
        - harmonized_label
        - id_check
        - incoterm
        - insurance
        - labelless
        - last_mile
        - manually
        - multicollo
        - neighbor_delivery
        - non_conveyable
        - personalized_delivery
        - premium
        - priority
        - registered_delivery
        - returns
        - segment
        - service_area
        - signature
        - size
        - sorted
        - surcharge
        - tracked
        - tyres
        - weekend_delivery
      example:
        age_check:
          name: Age check
          default_value: null
          type: integer
        b2b:
          name: B2B
          default_value: false
          type: boolean
        b2c:
          name: B2C
          default_value: false
          type: boolean
        boxable:
          name: Boxable
          default_value: false
          type: boolean
        bulky_goods:
          name: Bulky goods
          default_value: false
          type: boolean
        carrier_billing_type:
          name: Carrier billing type
          default_value: null
          type: string
          values:
            country:
              name: Country
            zonal:
              name: Zonal
        cash_on_delivery:
          name: Cash on delivery
          default_value: null
          type: integer
        dangerous_goods:
          name: Dangerous goods
          default_value: false
          type: boolean
        delivery_attempts:
          name: Delivery attempts
          default_value: null
          type: integer
        delivery_before:
          name: Delivery before
          default_value: null
          type: string
          pattern: ^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$
        delivery_deadline:
          name: Delivery deadline
          default_value: null
          type: string
          values:
            best_effort:
              name: Best effort
            sameday:
              name: Same day
            nextday:
              name: Next day
            within_24h:
              name: Within 24 hours
            within_48h:
              name: Within 48 hours
            within_72h:
              name: Within 72 hours
        direct_contract_only:
          name: On direct contract only
          default_value: false
          type: boolean
        eco_delivery:
          name: Eco delivery
          default_value: false
          type: boolean
        first_mile:
          name: First mile
          default_value: null
          type: string
          values:
            pickup:
              name: Pickup
            dropoff:
              name: Drop-off
            pickup_dropoff:
              name: Pickup / Drop-off
            fulfilment:
              name: Fulfilment
        flex_delivery:
          name: Flex delivery
          default_value: false
          type: boolean
        form_factor:
          name: Form factor
          default_value: null
          type: string
          values:
            letter:
              name: Letter
            parcel:
              name: Parcel
            mailbox:
              name: Mailbox
            pallet:
              name: Pallet
            long:
              name: Long
        fragile_goods:
          name: Fragile goods
          default_value: false
          type: boolean
        fresh_goods:
          name: Fresh goods
          default_value: false
          type: boolean
        harmonized_label:
          name: Harmonized label
          default_value: false
          type: boolean
        id_check:
          name: ID check
          default_value: false
          type: boolean
        incoterm:
          name: Incoterm
          default_value: null
          type: string
          values:
            dap:
              name: Delivery at place
            ddp:
              name: Delivery duty paid
            ddu:
              name: Delivery duty unpaid
            dap_np:
              name: Seller bears costs of shipping incl. clearance. Receiver bears the costs and risks of duties and VAT.
            dap_dp:
              name: Seller bears the costs and risks of transport, clearance, duties and VAT.
        insurance:
          name: Insurance
          default_value: null
          type: integer
        last_mile:
          name: Last mile
          default_value: null
          type: string
          values:
            home_delivery:
              name: Home delivery
            service_point:
              name: Service point
            mailbox:
              name: Mailbox
            pobox:
              name: PO Box
        manually:
          name: Manually
          default_value: false
          type: boolean
        multicollo:
          name: Multicollo
          default_value: false
          type: boolean
        neighbor_delivery:
          name: Neighbor delivery
          default_value: false
          type: boolean
        non_conveyable:
          name: Non conveyable
          default_value: false
          type: boolean
        personalized_delivery:
          name: Personalized delivery
          default_value: false
          type: boolean
        premium:
          name: Premium
          default_value: false
          type: boolean
        priority:
          name: Priority
          default_value: null
          type: string
          values:
            economical:
              name: Economical
            standard:
              name: Standard
            priority:
              name: Priority
            express:
              name: Express
        registered_delivery:
          name: Registered delivery
          default_value: false
          type: boolean
        returns:
          name: Returns
          default_value: false
          type: boolean
        segment:
          name: Segment
          default_value: null
          type: string
          values:
            a+:
              name: A+
            a:
              name: A
            b:
              name: B
            c:
              name: C
            d:
              name: D
        service_area:
          name: Service area
          default_value: null
          type: string
          values:
            domestic:
              name: Domestic
            domestic_remote:
              name: Domestic & remote
            international:
              name: International
        signature:
          name: Signature
          default_value: false
          type: boolean
        size:
          name: Size
          default_value: null
          type: string
          values:
            xs:
              name: Extra-small
            s:
              name: Small
            m:
              name: Medium
            l:
              name: Large
            xl:
              name: Extra-large
            xxl:
              name: Extra-extra-large
        sorted:
          name: Sorted
          default_value: false
          type: boolean
        surcharge:
          name: Surcharge
          default_value: false
          type: boolean
        tracked:
          name: Tracked
          default_value: false
          type: boolean
        tyres:
          name: Tyres
          default_value: false
          type: boolean
        weekend_delivery:
          name: Weekend delivery
          default_value: null
          type: string
          values:
            saturday:
              name: Saturday
            sunday:
              name: Sunday
            weekends:
              name: Weekends
        labelless:
          name: Labelless shipping
          default_value: false
          type: boolean
        ers:
          name: Easy Return Solution
          default_value: false
          type: boolean
