openapi: 3.1.0
info:
  title: Pickups
  version: 2.0.0
  contact:
    name: Sendcloud API Support
    url: https://www.sendcloud.dev
    email: contact@sendcloud.com
  description: The Pickups API lets you schedule a one-time parcel pickup with supported carriers.
  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: Pickups
    description: A pickup is a arrangement with a carrier in which they agree to pick up parcels at a given address at a given moment. They will bring those parcels to the sorting center.
paths:
  /pickups/{id}:
    parameters:
      - schema:
          type: integer
        name: id
        in: path
        required: true
        description: The id of the pickup you want to retrieve.
    get:
      summary: Retrieve a pickup
      tags:
        - Pickups
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  oneOf:
                    - $ref: '#/components/schemas/DHLExpressPickup'
                    - $ref: '#/components/schemas/FedExPickup'
                    - $ref: '#/components/schemas/CorreosPickup'
                    - $ref: '#/components/schemas/CorreosExpressPickup'
                    - $ref: '#/components/schemas/DHLPickup'
                    - $ref: '#/components/schemas/DPDPickup'
                    - $ref: '#/components/schemas/PosteITDeliveryPickup'
                    - $ref: '#/components/schemas/UPSPickup'
                    - $ref: '#/components/schemas/DHLParcelIberiaPickup'
                  discriminator:
                    propertyName: carrier
                    mapping:
                      dhl_express: '#/components/schemas/DHLExpressPickup'
                      fedex: '#/components/schemas/FedExPickup'
                      correos: '#/components/schemas/CorreosPickup'
                      correos_express: '#/components/schemas/CorreosExpressPickup'
                      dhl: '#/components/schemas/DHLPickup'
                      dpd: '#/components/schemas/DPDPickup'
                      poste_it_delivery: '#/components/schemas/PosteITDeliveryPickup'
                      ups: '#/components/schemas/UPSPickup'
                      dhl_parcel_iberia: '#/components/schemas/DHLParcelIberiaPickup'
              examples:
                RetrieveDHLExpressPickup:
                  summary: Retrieve a DHL Express pickup
                  value:
                    id: 1
                    city: Eindhoven
                    country: NL
                    address: Stadhuisplein 10
                    pickup_from: '2022-04-06T12:00:00Z'
                    postal_code: 5611 EM
                    quantity: 20
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    pickup_until: '2022-04-06T17:00:00Z'
                    reference: ''
                    special_instructions: ''
                    telephone: '0612345678'
                    total_weight: '1.00'
                    tracking_number: PRG220406002044
                    pickup_status: Cancelled
                    created_at: '2022-03-30T09:20:37.957495Z'
                    cancelled_at: '2022-03-30T09:20:45.433367Z'
                    carrier: dhl_express
                RetrieveFedexPickup:
                  summary: Retrieve a Fedex pickup
                  value:
                    id: 1
                    pickup_from: '2022-11-11T10:53:43.533832Z'
                    pickup_until: '2022-11-11T12:53:43.533832Z'
                    country: ES
                    carrier: fedex
                    tracking_number: '791043498202211103183'
                    pickup_status: Cancelled
                    created_at: '2022-11-10T10:05:02.185445Z'
                    cancelled_at: '2022-11-10T10:08:02.185445Z'
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28001'
                    quantity: 1
                    company_name: Sendcloud
                    name: Mary Doe
                    email: example@sendcloud.es
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                    origin_detail:
                      package_location: front
                      building_part: apartment
                      building_part_description: some description
                      company_close_time: '17:00:00'
                RetrieveCorreosExpressPickup:
                  summary: Retrieve a Correos Express pickup
                  value:
                    id: 1
                    pickup_from: '2022-11-26T11:00:00Z'
                    pickup_until: '2022-11-26T14:00:00Z'
                    country: ES
                    carrier: correos_express
                    tracking_number: '100113932'
                    pickup_status: Cancelled
                    created_at: '2022-11-25T13:15:18.160521Z'
                    cancelled_at: '2022-11-25T13:17:14.476858Z'
                    contract: 57,
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28002'
                    quantity: 1
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                RetrieveDHLPickup:
                  summary: Retrieve a DHL pickup
                  value:
                    id: 1
                    pickup_from: '2022-12-15T11:00:00Z'
                    pickup_until: '2022-12-15T14:00:00Z'
                    country: NL
                    carrier: dhl
                    tracking_number: 05931316-DBEA8B58
                    pickup_status: Created
                    created_at: '2022-12-13T13:15:18.160521Z'
                    cancelled_at: null
                    contract: 8
                    city: Eindhoven,
                    address: Bogert 1
                    postal_code: 5611 LX
                    quantity: 0
                    company_name: Sendcloud
                    name: John Doe
                    email: ''
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+31612345678'
                    total_weight: '10.00'
                    pallet_quantity: 1
                RetrieveDPDPickup:
                  summary: Retrieve a DPD Pickup
                  value:
                    id: 1
                    pickup_from: '2022-10-26T11:00:00Z'
                    pickup_until: '2022-10-26T14:00:00Z'
                    country: DE
                    carrier: dpd
                    tracking_number: '09985053927753'
                    pickup_status: Created
                    created_at: '2022-10-25T13:15:18.160521Z'
                    cancelled_at: null
                    contract: 14
                    city: Düsseldorf
                    address: Herzogstraße 58
                    postal_code: '40215'
                    quantity: 10
                    company_name: Sendcloud
                    name: John Doe
                    email: ''
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+4930901820'
                    total_weight: '2.00'
                RetrievePosteITDeliveryPickup:
                  summary: Retrieve a Poste Italiane Delivery pickup
                  value:
                    id: 1
                    pickup_from: '2023-01-02T11:00:00Z'
                    pickup_until: '2023-01-02T14:00:00Z'
                    country: IT
                    carrier: poste_it_delivery
                    tracking_number: ''
                    pickup_status: Created
                    created_at: '2022-12-28T13:15:18.160521Z'
                    cancelled_at: null
                    contract: 6
                    city: Roma
                    country_state: IT-RM
                    address: Via Domenico Jachino 67
                    postal_code: '00144'
                    quantity: 4
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+3912123732'
                    total_weight: '2.00'
                RetrieveCorreosPickup:
                  summary: Retrieve a Correos pickup
                  value:
                    id: 1
                    pickup_from: '2022-12-09T11:00:00Z'
                    pickup_until: '2022-12-09T14:00:00Z'
                    country: ES
                    carrier: correos
                    tracking_number: SR2022120794694EG
                    pickup_status: Cancelled
                    created_at: '2022-12-07T14:24:25.114186Z'
                    cancelled_at: '2022-12-07T14:26:12.213786Z'
                    contract: 1,
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28002'
                    quantity: 10
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: REF1234
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                    total_volume_weight: '10'
                RetrieveUPSPickup:
                  summary: Retrieve a UPS pickup
                  value:
                    id: 1
                    pickup_from: '2023-01-19T07:00:00Z'
                    pickup_until: '2023-01-19T15:00:00Z'
                    country: ES
                    carrier: ups
                    tracking_number: 29GECMOG1P4
                    pickup_status: Created
                    created_at: '2023-01-18T08:16:56.761459Z'
                    cancelled_at: '2023-01-18T08:47:00.306231Z'
                    contract: 33
                    city: JAPEJAPE
                    address: Calle de Dinero 30
                    postal_code: '23100'
                    quantity: 1
                    company_name: Jepe Incorporated
                    name: Jepe Jepe
                    email: info@sendcloud.com
                    address_2: ''
                    reference: some reference
                    special_instructions: some instructions
                    telephone: '0638404040'
                    total_weight: '1.00'
                    is_alternate_address: null
                    is_residential: null
                    is_overweight: false
                    floor: null
                    room: null
                    items:
                      - quantity: 1
                        shipping_method: '011'
                        destination_country: ES
                        container_code: '01'
                RetrieveDHLParcelIberiaPickup:
                  summary: Retrieve a DHL Parcel Iberia pickup
                  value:
                    id: 1
                    pickup_from: '2023-02-20T11:00:00Z'
                    pickup_until: '2022-02-20T14:00:00Z'
                    country: ES
                    carrier: dhl_parcel_iberia
                    tracking_number: '1785.0'
                    pickup_status: Created
                    created_at: '2023-01-22T14:24:25.114186Z'
                    contract: 1
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28001'
                    quantity: 3
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: REF1234
                    special_instructions: Loud dog.
                    telephone: '+34917103021'
                    total_weight: '2.00'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                NotFound:
                  summary: Not Found
                  value:
                    error:
                      code: 404
                      request: api/v2/pickups/1
                      message: No Pickup matches the given query.
      operationId: sc-public-v2-scp-get-pickup
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds:
            - read:pickup
      x-mint:
        href: /api/v2/pickups/retrieve-a-pickup
        content: |-
          <Info>
            OAuth2 scopes required: `read:pickup`. 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>
      description: Retrieve information about a specific pickup based on its `id`.
  /pickups:
    post:
      summary: Create a pickup
      tags:
        - Pickups
      operationId: sc-public-v2-scp-post-pickup
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds:
            - write:pickup
      x-mint:
        href: /api/v2/pickups/create-a-pickup
        content: |-
          <Info>
            OAuth2 scopes required: `write:pickup`. 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>

          See a list of [carriers which support pickups](/api/v2/pickups#which-carriers-support-pickups-via-the-api).

          You can schedule the pickup to take place from a location and time of your choosing, and include any additional instructions to the driver by including the `special_instructions` parameter. When a pickup is successfully scheduled a pickup `id` will be returned.

          <Warning>
            If you have more than one active contract for a specific carrier, you must send the `contract` field with your desired contract ID in your request. You can get your contract ID from the [Retrieve a list of contracts](/api/v2/contracts/retrieve-a-list-ofcontracts) endpoint.
          </Warning>
      responses:
        '201':
          description: Created - This means that the data is send to the carrier successfully, to see if the carrier accepted the pickup request check the status of the pickup via the GET endpoint.
          content:
            application/json:
              schema:
                items:
                  oneOf:
                    - $ref: '#/components/schemas/DHLExpressPickup'
                    - $ref: '#/components/schemas/FedExPickup'
                    - $ref: '#/components/schemas/CorreosExpressPickup'
                    - $ref: '#/components/schemas/DHLPickup'
                    - $ref: '#/components/schemas/DPDPickup'
                    - $ref: '#/components/schemas/PosteITDeliveryPickup'
                    - $ref: '#/components/schemas/CorreosPickup'
                    - $ref: '#/components/schemas/UPSPickup'
                    - $ref: '#/components/schemas/DHLParcelIberiaPickup'
                  discriminator:
                    propertyName: carrier
                    mapping:
                      dhl_express: '#/components/schemas/DHLExpressPickup'
                      fedex: '#/components/schemas/FedExPickup'
                      correos_express: '#/components/schemas/CorreosExpressPickup'
                      dhl: '#/components/schemas/DHLPickup'
                      dpd: '#/components/schemas/DPDPickup'
                      poste_it_delivery: '#/components/schemas/PosteITDeliveryPickup'
                      correos: '#/components/schemas/CorreosPickup'
                      ups: '#/components/schemas/UPSPickup'
                      dhl_parcel_iberia: '#/components/schemas/DHLParcelIberiaPickup'
              examples:
                SuccessfullyCreatedDHLExpressPickup:
                  summary: Successfully created a DHL Express pickup
                  value:
                    id: 294247
                    city: Eindhoven
                    country: NL
                    address: Stadhuisplein 10
                    pickup_from: '2022-04-06T12:00:00Z'
                    postal_code: 5611 EM
                    quantity: 20
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    pickup_until: '2022-04-06T17:00:00Z'
                    reference: ''
                    special_instructions: ''
                    telephone: '0612345678'
                    total_weight: '1.00'
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-03-30T09:20:37.957495Z'
                    cancelled_at: null
                    carrier: dhl_express
                SuccessfullyCreatedFedexPickup:
                  summary: Successfully created a Fedex pickup
                  value:
                    id: 4
                    pickup_from: '2022-11-11T10:53:43.533832Z'
                    pickup_until: '2022-11-11T12:53:43.533832Z'
                    country: ES
                    carrier: fedex
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-11-10T10:05:02.185445Z'
                    cancelled_at: null
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28001'
                    quantity: 1
                    company_name: Sendcloud
                    name: Mary Doe
                    email: example@sendcloud.es
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                    origin_detail:
                      package_location: front
                      building_part: apartment
                      building_part_description: some description
                      company_close_time: '17:00:00'
                SuccessfullyCreatedCorreosExpressPickup:
                  summary: Successfully created a Correos Express pickup
                  value:
                    id: 1
                    pickup_from: '2022-11-26T11:00:00Z'
                    pickup_until: '2022-11-26T14:00:00Z'
                    country: ES
                    carrier: correos_express
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-11-25T13:15:18.160521Z'
                    cancelled_at: null
                    contract: null
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28002'
                    quantity: 1
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                SuccessfullyCreatedDHLPickup:
                  summary: Successfully created a DHL pickup
                  value:
                    id: 1
                    pickup_from: '2022-12-15T11:00:00Z'
                    pickup_until: '2022-12-15T14:00:00Z'
                    country: NL
                    carrier: dhl
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-12-13T13:15:18.160521Z'
                    cancelled_at: null
                    contract: null
                    city: Eindhoven,
                    address: Bogert 1
                    postal_code: 5611 LX
                    quantity: 0
                    company_name: Sendcloud
                    name: John Doe
                    email: ''
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+31612345678'
                    total_weight: '10.00'
                    pallet_quantity: 1
                SuccessfullyCreatedDPDPickup:
                  summary: Successfully created a DPD Pickup
                  value:
                    id: 1
                    pickup_from: '2022-10-26T11:00:00Z'
                    pickup_until: '2022-10-26T14:00:00Z'
                    country: DE
                    carrier: dpd
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-10-25T13:15:18.160521Z'
                    cancelled_at: null
                    contract: null
                    city: Düsseldorf
                    address: Herzogstraße 58
                    postal_code: '40215'
                    quantity: 10
                    company_name: Sendcloud
                    name: John Doe
                    email: ''
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+4930901820'
                    total_weight: '2.00'
                SuccessfullyCreatedPosteITDeliveryPickup:
                  summary: Successfully created a Poste Italiane Delivery pickup
                  value:
                    id: 1
                    pickup_from: '2023-01-02T11:00:00Z'
                    pickup_until: '2023-01-02T14:00:00Z'
                    country: IT
                    carrier: poste_it_delivery
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-12-28T13:15:18.160521Z'
                    cancelled_at: null
                    contract: 6
                    city: Roma
                    country_state: IT-RM
                    address: Via Domenico Jachino 67
                    postal_code: '00144'
                    quantity: 4
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+3912123732'
                    total_weight: '2.00'
                SuccessfullyCreatedCorreosPickup:
                  summary: Successfully created a Correos pickup
                  value:
                    id: 1
                    pickup_from: '2022-12-09T11:00:00Z'
                    pickup_until: '2022-12-09T14:00:00Z'
                    country: ES
                    carrier: correos
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2022-12-07T14:24:25.114186Z'
                    cancelled_at: null
                    contract: null
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28002'
                    quantity: 10
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: REF1234
                    special_instructions: ''
                    telephone: '0638404040'
                    total_weight: '2.00'
                    total_volume_weight: '10'
                SuccessfullyCreatedUPSPickup:
                  summary: Successfully created a UPS pickup
                  value:
                    id: 2
                    pickup_from: '2023-01-19T13:12:53.992000Z'
                    pickup_until: '2023-01-19T15:12:53.992000Z'
                    country: ES
                    carrier: ups
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2023-01-18T08:28:41.987180Z'
                    cancelled_at: null
                    contract: null
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28001'
                    quantity: 1
                    company_name: Sendcloud
                    name: Mary Doe
                    email: info@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: ''
                    telephone: '+3804342424234'
                    total_weight: '1.00'
                    is_alternate_address: false
                    is_residential: false
                    is_overweight: false
                    floor: ''
                    room: ''
                    items:
                      - quantity: 1
                        shipping_method: '011'
                        destination_country: ES
                        container_code: '01'
                SuccessfullyCreatedDHLParcelIberiaPickup:
                  summary: Successfully created a DHL Parcel Iberia pickup
                  value:
                    id: 1
                    pickup_from: '2023-02-21T11:00:00Z'
                    pickup_until: '2023-02-21T14:00:00Z'
                    country: ES
                    carrier: dhl_parcel_iberia
                    tracking_number: ''
                    pickup_status: Announcing
                    created_at: '2023-02-20T13:15:18.160521Z'
                    cancelled_at: null
                    contract: 1
                    city: Madrid
                    address: Calle de Dinero 30
                    postal_code: '28001'
                    quantity: 4
                    company_name: Sendcloud
                    name: John Doe
                    email: example@sendcloud.com
                    address_2: ''
                    reference: ''
                    special_instructions: Loud dog.
                    telephone: '+34917103021'
                    total_weight: '2.00'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                RequiredField:
                  summary: Missing required field response
                  value:
                    error:
                      code: 400
                      request: api/v2/pickups/
                      message: 'total_weight: "This field is required."'
      requestBody:
        content:
          application/json:
            schema:
              items:
                oneOf:
                  - $ref: '#/components/schemas/DHLExpressPickupCreate'
                  - $ref: '#/components/schemas/FedExPickupCreate'
                  - $ref: '#/components/schemas/CorreosExpressPickupCreate'
                  - $ref: '#/components/schemas/DHLPickupCreate'
                  - $ref: '#/components/schemas/DPDPickupCreate'
                  - $ref: '#/components/schemas/PosteITDeliveryPickupCreate'
                  - $ref: '#/components/schemas/CorreosPickupCreate'
                  - $ref: '#/components/schemas/UPSPickupCreate'
                  - $ref: '#/components/schemas/DHLParcelIberiaPickupCreate'
                discriminator:
                  propertyName: carrier
                  mapping:
                    dhl_express: '#/components/schemas/DHLExpressPickupCreate'
                    fedex: '#/components/schemas/FedExPickupCreate'
                    correos_express: '#/components/schemas/CorreosExpressPickupCreate'
                    dhl: '#/components/schemas/DHLPickupCreate'
                    dpd: '#/components/schemas/DPDPickupCreate'
                    poste_it_delivery: '#/components/schemas/PosteITDeliveryPickupCreate'
                    correos: '#/components/schemas/CorreosPickupCreate'
                    ups: '#/components/schemas/UPSPickupCreate'
                    dhl_parcel_iberia: '#/components/schemas/DHLParcelIberiaPickupCreate'
            examples:
              DHLExpressPickupRequest:
                summary: DHL Express pickup request
                value:
                  city: Eindhoven
                  company_name: Sendcloud
                  name: John Doe
                  country: NL
                  email: example@sendcloud.com
                  address: Stadhuisplein 10
                  address_2: ''
                  pickup_from: '2022-04-06T12:00:00Z'
                  pickup_until: '2022-04-06T17:00:00Z'
                  postal_code: 5611 EM
                  quantity: 20
                  telephone: '0612345678'
                  total_weight: '1'
                  carrier: dhl_express
              FedexExpressPickupRequest:
                summary: Fedex pickup request
                value:
                  pickup_from: '2022-04-06T12:00:00Z'
                  pickup_until: '2022-04-06T17:00:00Z'
                  country: ES
                  carrier: fedex
                  city: Madrid
                  address: Calle de Dinero 30
                  address_2: ''
                  postal_code: '28001'
                  quantity: 1
                  company_name: Sendcloud
                  name: Mary Doe
                  email: example@sendcloud.es
                  telephone: '0638404040'
                  total_weight: '2'
                  origin_detail:
                    building_part: apartment
                    package_location: front
                    company_close_time: '17:00:00'
                    building_part_description: some description
              CorreosExpressPickupRequest:
                summary: Correos Express pickup request
                value:
                  city: Madrid
                  company_name: Sendcloud
                  name: John Doe
                  country: ES
                  email: example@sendcloud.com
                  address: Calle de Dinero 30
                  address_2: ''
                  pickup_from: '2022-11-26T11:00:00Z'
                  pickup_until: '2022-11-26T14:00:00Z'
                  postal_code: '28002'
                  quantity: 1
                  telephone: '0638404040'
                  total_weight: '2.00'
                  carrier: correos_express
              DHLPickupRequest:
                summary: DHL pickup request
                value:
                  city: Eindhoven
                  company_name: Sendcloud
                  name: John Doe
                  country: NL
                  email: ''
                  address: Bogert 1
                  address_2: ''
                  pickup_from: '2022-12-15T11:00:00Z'
                  pickup_until: '2022-12-15T14:00:00Z'
                  postal_code: 5611 LX
                  quantity: 0
                  pallet_quantity: 1
                  telephone: '+31612345678'
                  total_weight: '10.00'
                  carrier: dhl
              DPDPickupRequest:
                summary: DPD pickup request
                value:
                  city: Düsseldorf
                  company_name: Sendcloud
                  name: John Doe
                  country: DE
                  email: ''
                  address: Herzogstraße 58
                  address_2: ''
                  pickup_from: '2022-10-26T11:00:00Z'
                  pickup_until: '2022-10-26T14:00:00Z'
                  postal_code: '40215'
                  quantity: 10
                  telephone: '+4930901820'
                  total_weight: '2.00'
                  carrier: dpd
              PosteITDeliveryPickupRequest:
                summary: Poste Italiane Delivery pickup request
                value:
                  city: Roma
                  company_name: Sendcloud
                  name: John Doe
                  country: IT
                  country-state: IT-RM
                  email: example@sendcloud.com
                  address: Via Domenico Jachino 67
                  address_2: ''
                  pickup_from: '2023-01-02T11:00:00Z'
                  pickup_until: '2023-01-02T14:00:00Z'
                  postal_code: '00144'
                  quantity: 4
                  telephone: '+3912123732'
                  total_weight: '2.00'
                  carrier: poste_it_delivery
              CorreosPickupRequest:
                summary: Correos pickup request
                value:
                  city: Madrid
                  company_name: Sendcloud
                  name: John Doe
                  country: ES
                  email: example@sendcloud.com
                  address: Calle de Dinero 30
                  address_2: ''
                  pickup_from: '2022-12-09T11:00:00Z'
                  pickup_until: '2022-12-09T14:00:00Z'
                  postal_code: '28002'
                  quantity: 10
                  telephone: '0638404040'
                  total_weight: '2.00'
                  total_volume_weight: '10'
                  carrier: correos
                  reference: REF1234
              UPSPickupRequest:
                summary: UPS pickup request
                value:
                  city: Madrid
                  company_name: Sendcloud
                  name: John Doe
                  country: ES
                  email: example@sendcloud.com
                  address: Calle de Dinero 30
                  address_2: ''
                  pickup_from: '2023-01-18T13:00:00Z'
                  pickup_until: '2023-01-18T15:00:00Z'
                  postal_code: '28001'
                  quantity: 1
                  telephone: '+3804342424234'
                  total_weight: '2.00'
                  carrier: ups
                  reference: ''
                  is_alternate_address: false
                  is_residential: false
                  is_overweight: false
                  floor: ''
                  room: ''
                  items:
                    - shipping_method: '011'
                      quantity: '1'
                      destination_country: ES
                      container_code: '01'
              DHLParcelIberiaPickupRequest:
                summary: DHL Parcel Iberia pickup request
                value:
                  city: Madrid
                  company_name: Sendcloud
                  name: John Doe
                  country: ES
                  email: example@sendcloud.com
                  address: Calle de Dinero 30
                  address_2: ''
                  pickup_from: '2023-02-21T11:00:00Z'
                  pickup_until: '2023-02-21T14:00:00Z'
                  postal_code: '28001'
                  quantity: 4
                  telephone: '+34917103021'
                  total_weight: '2.00'
                  carrier: dhl_parcel_iberia
        description: ''
      description: Schedule a pickup with a carrier (note that the carrier must support pickups).
    get:
      summary: Retrieve a list of pickups
      operationId: sc-public-v2-scp-get-all_pickups
      security:
        - HTTPBasicAuth: []
        - OAuth2ClientCreds:
            - read:pickup
      x-sendcloud-paginated: true
      x-sendcloud-paginated-discriminator: pickups
      x-mint:
        href: /api/v2/pickups/retrieve-a-list-of-pickups
        content: |-
          <Info>
            OAuth2 scopes required: `read:pickup`. 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>
          This is limited to the carriers which support pickups via the API. The response includes information about when the pickup was scheduled, the latest status, the parcel tracking number and the time frame in which the pickup is due to take place.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  next:
                    type: string
                    description: Url to retrieve the next page of pickups.
                    nullable: true
                  previous:
                    type: string
                    description: Url to retrieve the previous page of pickups.
                    nullable: true
                  pickups:
                    type: array
                    items:
                      $ref: '#/components/schemas/PickupList'
              examples:
                RetrieveDHLExpressPickups:
                  summary: Retrieve a list of DHL Express pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 1
                        pickup_from: '2022-04-06T12:00:00Z'
                        pickup_until: '2022-04-06T17:00:00Z'
                        country: NL
                        carrier: dhl_express
                        tracking_number: PRG220406003404
                        pickup_status: Cancelled
                        created_at: '2022-03-30T10:57:02.344479Z'
                        cancelled_at: '2022-03-30T10:57:11.656260Z'
                      - id: 2
                        pickup_from: '2022-04-06T12:00:00Z'
                        pickup_until: '2022-04-06T17:00:00Z'
                        country: NL
                        carrier: dhl_express
                        tracking_number: PRG220406002044
                        pickup_status: Cancelled
                        created_at: '2022-03-30T09:20:37.957495Z'
                        cancelled_at: '2022-03-30T09:20:45.433367Z'
                RetrieveFedexPickups:
                  summary: Retrieve a list of Fedex Express pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 1
                        pickup_from: '2022-11-11T10:53:43.533832Z'
                        pickup_until: '2022-11-11T12:53:43.533832Z'
                        country: ES
                        carrier: fedex
                        tracking_number: ''
                        pickup_status: Announcing
                        created_at: '2022-11-10T10:05:02.185445Z'
                        cancelled_at: null
                      - id: 2
                        pickup_from: '2022-11-11T10:53:43.533832Z'
                        pickup_until: '2022-11-11T12:53:43.533832Z'
                        country: ES
                        carrier: fedex
                        tracking_number: '791043498202211103183'
                        pickup_status: Created
                        created_at: '2022-11-10T10:05:02.185445Z'
                        cancelled_at: null
                RetrieveCorreosExpressPickups:
                  summary: Retrieve a list of Correos Express pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2022-11-26T11:00:00Z'
                        pickup_until: '2022-11-26T14:00:00Z'
                        country: ES
                        carrier: correos_express
                        tracking_number: '100113932'
                        pickup_status: Cancelled
                        created_at: '2022-11-25T13:15:18.160521Z'
                        cancelled_at: '2022-11-25T13:17:14.476858Z'
                        contract: 57
                      - id: 1
                        pickup_from: '2022-11-26T11:00:00Z'
                        pickup_until: '2022-11-26T15:00:00Z'
                        country: ES
                        carrier: correos_express
                        tracking_number: '100113931'
                        pickup_status: Cancelled
                        created_at: '2022-11-25T12:53:21.938565Z'
                        cancelled_at: '2022-11-25T12:55:23.543111Z'
                        contract: 57
                RetrieveDHLPickups:
                  summary: Retrieve a list of DHL pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2022-12-14T11:00:00Z'
                        pickup_until: '2022-12-14T14:00:00Z'
                        country: NL
                        carrier: dhl
                        tracking_number: 05931316-DF19B800
                        pickup_status: Created
                        created_at: '2022-12-13T12:11:21.160521Z'
                        cancelled_at: null
                        contract: 8
                      - id: 1
                        pickup_from: '2022-12-15T11:00:00Z'
                        pickup_until: '2022-12-15T14:00:00Z'
                        country: NL
                        carrier: dhl
                        tracking_number: 05931316-DBEA8B58
                        pickup_status: Created
                        created_at: '2022-12-13T13:15:18.160521Z'
                        cancelled_at: null
                        contract: 8
                RetrieveDPDPickups:
                  summary: Retrieve a list of DPD pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2022-11-26T11:00:00Z'
                        pickup_until: '2022-11-26T14:00:00Z'
                        country: DE
                        carrier: dpd
                        tracking_number: '09985053927752'
                        pickup_status: Created
                        created_at: '2022-11-25T13:15:18.160521Z'
                        cancelled_at: '2022-11-25T13:17:14.476858Z'
                        contract: 14
                      - id: 1
                        pickup_from: '2022-10-26T11:00:00Z'
                        pickup_until: '2022-10-26T15:00:00Z'
                        country: DE
                        carrier: dpd
                        tracking_number: '09985053927753'
                        pickup_status: Created
                        created_at: '2022-10-25T12:53:21.938565Z'
                        cancelled_at: null
                        contract: 14
                RetrievePosteITDeliveryPickups:
                  summary: Retrieve a list of Poste Italiane Delivery pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2023-01-03T11:00:00Z'
                        pickup_until: '2023-01-03T14:00:00Z'
                        country: IT
                        carrier: poste_it_delivery
                        tracking_number: '09985053927752'
                        pickup_status: Created
                        created_at: '2022-12-29T13:15:18.160521Z'
                        cancelled_at: '2022-12-30T13:17:14.476858Z'
                        contract: 6
                      - id: 1
                        pickup_from: '2023-01-02T11:00:00Z'
                        pickup_until: '2023-01-02T14:00:00Z'
                        country: IT
                        carrier: poste_it_delivery
                        tracking_number: '09985053927753'
                        pickup_status: Created
                        created_at: '2022-12-28T12:53:21.938565Z'
                        cancelled_at: null
                        contract: 6
                RetrieveCorreosPickups:
                  summary: Retrieve a list of Correos pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2022-12-09T11:00:00Z'
                        pickup_until: '2022-12-09T14:00:00Z'
                        country: ES
                        carrier: correos
                        tracking_number: SR2022120795420EG
                        pickup_status: Cancelled
                        created_at: '2022-12-07T14:27:45.114186Z'
                        cancelled_at: '2022-12-07T14:30:21.711420Z'
                        contract: 1
                      - id: 1
                        pickup_from: '2022-12-09T11:00:00Z'
                        pickup_until: '2022-12-09T14:00:00Z'
                        country: ES
                        carrier: correos
                        tracking_number: SR2022120794694EG
                        pickup_status: Cancelled
                        created_at: '2022-12-07T14:24:25.114186Z'
                        cancelled_at: '2022-12-07T14:26:12.213786Z'
                        contract: 1
                RetrieveUPSPickups:
                  summary: Retrieve a list of UPS pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 2
                        pickup_from: '2023-01-19T13:12:53.992000Z'
                        pickup_until: '2023-01-19T15:12:53.992000Z'
                        country: ES
                        carrier: ups
                        tracking_number: 29QECLQO4D8
                        pickup_status: Cancelled
                        created_at: '2023-01-18T08:28:41.987180Z'
                        cancelled_at: '2023-01-18T08:58:44.509553Z'
                        contract: 33
                      - id: 1
                        pickup_from: '2023-01-19T07:00:00Z'
                        pickup_until: '2023-01-19T15:00:00Z'
                        country: ES
                        carrier: ups
                        tracking_number: 29GECMOG1P4
                        pickup_status: Cancelled
                        created_at: '2023-01-18T08:16:56.761459Z'
                        cancelled_at: '2023-01-18T08:47:00.306231Z'
                        contract: 33
                RetrieveDHLParcelIberiaPickups:
                  summary: Retrieve a list of DHL Parcel Iberia pickups
                  value:
                    next: null
                    previous: null
                    pickups:
                      - id: 1
                        pickup_from: '2023-02-03T11:00:00Z'
                        pickup_until: '2023-02-03T14:00:00Z'
                        country: ES
                        carrier: dhl_parcel_iberia
                        tracking_number: '1785.0'
                        pickup_status: Created
                        created_at: '2023-01-29T13:15:18.160521Z'
                        cancelled_at: null
                        contract: 6
                      - id: 2
                        pickup_from: '2023-02-14T11:00:00Z'
                        pickup_until: '2023-02-14T14:00:00Z'
                        country: ES
                        carrier: dhl_parcel_iberia
                        tracking_number: '09985053927753'
                        pickup_status: Created
                        created_at: '2023-02-08T12:53:21.938565Z'
                        cancelled_at: null
                        contract: 6
                FailedPickups:
                  summary: Retrieve a list of failed pickups
                  value:
                    next: https://panel.sendcloud.sc/api/v2/pickups/?cursor=cD0yOTQzNDQ%3D&limit=1
                    previous: null
                    pickups:
                      - id: 1
                        pickup_from: '2021-04-06T12:00:00Z'
                        pickup_until: '2021-04-06T17:00:00Z'
                        country: NL
                        carrier: dhl_express
                        tracking_number: ''
                        pickup_status: Failed
                        created_at: '2022-03-30T10:58:09.832504Z'
                        cancelled_at: null
      description: Retrieve information about all pickups which have been created from your account.
      tags:
        - Pickups
      parameters:
        - schema:
            type: integer
            minimum: 1
          in: query
          name: limit
          description: Amount of pickups that will be shown per page.
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:
    DHLExpressPickup:
      title: DHL Express Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: dhl_express
        country:
          minLength: 2
          maxLength: 2
          example: NL
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - NL
            - DE
            - ES
            - FR
            - IT
            - AT
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
          nullable: true
        country_state:
          type: string
          minLength: 1
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
          nullable: true
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
          nullable: true
        total_weight:
          type: string
          description: Total weight in kilograms.
          nullable: true
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - address
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
        - cancelled_at
    FedExPickup:
      title: FedEx Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: fedex
        country:
          minLength: 2
          maxLength: 2
          example: NL
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - AT
            - BE
            - DE
            - ES
            - FR
            - GB
            - IT
            - NL
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
          nullable: true
        country_state:
          type: string
          minLength: 1
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
          maxLength: 5
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
          nullable: true
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
        origin_detail:
          description: Array of descriptive data about the origin of the shipment being picked up by FedEx.
          $ref: '#/components/schemas/OriginDetail'
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
        - cancelled_at
        - origin_detail
    CorreosExpressPickup:
      title: Correos Express Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: correos_express
        country:
          minLength: 2
          maxLength: 2
          example: ES
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - ES
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 0
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_until
        - pickup_status
        - created_at
        - cancelled_at
    DHLPickup:
      title: DHL Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: dhl
        country:
          minLength: 2
          maxLength: 2
          example: NL
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - NL
            - BE
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 0
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          maximum: 99
          description: Number of parcels that should be picked up. The number of parcels or the number of pallets must be specified.
        pallet_quantity:
          type: integer
          format: int64
          minimum: 0
          maximum: 5
          description: Number of pallets that should be picked up. The number of parcels or the number of pallets must be specified.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - company_name
        - address
        - postal_code
        - telephone
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
    DPDPickup:
      title: DPD Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: dpd
        country:
          minLength: 2
          maxLength: 2
          example: DE
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - DE
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 0
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up. Minimum amount of parcels is 10 in case of DE.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
    PosteITDeliveryPickup:
      title: Poste Italiane Delivery Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: poste_it_delivery
        country:
          minLength: 2
          maxLength: 2
          example: IT
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - IT
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          maxLength: 5
          description: ISO 3166-2 country state code.
          nullable: false
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up. Minimum amount of parcels is 10 in case of DE.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - country_state
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
    CorreosPickup:
      title: Correos Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: correos_express
        country:
          minLength: 2
          maxLength: 2
          example: ES
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - ES
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 0
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 10
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        total_volume_weight:
          description: The total volumetric weight of the parcel(s) combined.
          $ref: '#/components/schemas/PickupVolumeWeight'
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: false
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - total_volume_weight
        - pickup_from
        - pickup_until
        - pickup_status
        - created_at
        - cancelled_at
        - reference
    UPSPickup:
      title: UPS Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: ups
        country:
          minLength: 2
          maxLength: 2
          example: NL
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - DE
            - NL
            - BE
            - ES
            - FR
            - IT
            - AT
            - GB
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
          nullable: true
        country_state:
          type: string
          minLength: 1
          description: A country state (if applicable).
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
          maxLength: 5
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
          nullable: true
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
        is_alternate_address:
          type: boolean
          description: Indicates if pickup address is a different address than that specified in a customer's profile.
          nullable: true
        is_residential:
          type: boolean
          description: Indicates if the pickup address is commercial or residential.
          nullable: true
        is_overweight:
          type: boolean
          description: Indicates if at least any package is over 70 lbs or 32 kgs.
          nullable: true
        room:
          type: string
          description: Room number.
          example: '1'
          nullable: true
        floor:
          type: string
          description: Floor number.
          example: '2'
          nullable: true
        items:
          type: array
          description: The container providing the information about how many items should be picked up.
          items:
            $ref: '#/components/schemas/UPSItems'
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_status
        - created_at
        - cancelled_at
        - items
    DHLParcelIberiaPickup:
      title: DHL Parcel Iberia Pickup Object
      description: A Sendcloud pickup object
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          description: The user selected carrier code for the pickup.
          example: dhl_parcel_iberia
        country:
          minLength: 2
          maxLength: 2
          example: ES
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - ES
            - PT
          type: string
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 0
          nullable: true
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: false
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - city
        - name
        - address
        - company_name
        - telephone
        - postal_code
        - quantity
        - total_weight
        - pickup_from
        - pickup_until
        - pickup_status
        - created_at
    DHLExpressPickupCreate:
      title: Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
          nullable: true
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
          nullable: true
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: NL
          enum:
            - NL
            - DE
            - ES
            - FR
            - IT
            - AT
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
          nullable: true
        total_weight:
          type: string
          description: Total weight in kilograms.
          nullable: true
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: dhl_express
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - city
        - country
        - address
        - pickup_from
        - postal_code
        - quantity
        - total_weight
    FedExPickupCreate:
      title: FedEx Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: NL
          enum:
            - AT
            - BE
            - DE
            - ES
            - FR
            - GB
            - IT
            - NL
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: fedex
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
        origin_detail:
          description: Array of descriptive data about the origin of the shipment being picked up by FedEx.
          $ref: '#/components/schemas/OriginDetail'
      required:
        - carrier
        - city
        - country
        - address
        - name
        - company_name
        - telephone
        - pickup_from
        - postal_code
        - quantity
        - total_weight
        - origin_detail
    CorreosExpressPickupCreate:
      title: Correos Express Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: ES
          enum:
            - ES
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: correos_express
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - carrier
        - city
        - country
        - address
        - name
        - company_name
        - telephone
        - pickup_from
        - pickup_until
        - postal_code
        - quantity
        - total_weight
    DHLPickupCreate:
      title: DHL Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: NL
          enum:
            - NL
            - BE
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 0
          maximum: 99
          description: Number of parcels that should be picked up. The number of parcels or the number of pallets must be specified.
        pallet_quantity:
          type: integer
          format: int64
          minimum: 0
          maximum: 5
          description: Number of pallets that should be picked up.The number of parcels or the number of pallets must be specified.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: dhl
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - city
        - name
        - company_name
        - country
        - address
        - pickup_from
        - postal_code
        - telephone
        - total_weight
        - carrier
    DPDPickupCreate:
      title: DPD Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: DE
          enum:
            - DE
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up. Minimum amount of parcels is 10 in case of DE.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: dpd
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - city
        - name
        - company_name
        - country
        - address
        - pickup_from
        - postal_code
        - quantity
        - telephone
        - total_weight
        - carrier
    PosteITDeliveryPickupCreate:
      title: Poste Italiane Delivery Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          maxLength: 5
          nullable: false
          example: IT-RM
          description: ISO 3166-2 country state code.
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: IT
          enum:
            - IT
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: true
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up. Minimum amount of parcels is 10 in case of DE.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: poste_it_delivery
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - city
        - name
        - country_state
        - company_name
        - country
        - address
        - pickup_from
        - postal_code
        - quantity
        - telephone
        - total_weight
        - carrier
    CorreosPickupCreate:
      title: Correos Express Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: ES
          enum:
            - ES
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        postal_code:
          type: string
          minLength: 1
          maxLength: 5
        quantity:
          type: integer
          format: int64
          minimum: 10
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        total_volume_weight:
          description: The total volumetric weight of the parcel(s) combined.
          $ref: '#/components/schemas/PickupVolumeWeight'
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: correos
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - carrier
        - city
        - country
        - address
        - name
        - company_name
        - telephone
        - pickup_from
        - pickup_until
        - postal_code
        - quantity
        - total_weight
        - total_volume_weight
        - reference
    UPSPickupCreate:
      title: UPS Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        country_state:
          type: string
          minLength: 1
          nullable: true
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: NL
          enum:
            - DE
            - NL
            - BE
            - ES
            - FR
            - IT
            - AT
            - GB
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: ups
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
        is_alternate_address:
          type: boolean
          description: Indicates if pickup address is a different address than that specified in a customer's profile.
          nullable: true
        is_residential:
          type: boolean
          description: Indicates if the pickup address is commercial or residential.
          nullable: true
        is_overweight:
          type: boolean
          description: Indicates if at least any package is over 70 lbs or 32 kgs.
          nullable: true
        room:
          type: string
          description: Room number.
          nullable: true
          example: '1'
        floor:
          type: string
          description: Floor number.
          nullable: true
          example: '2'
        items:
          type: array
          description: The container providing the information about how many items should be picked up.
          items:
            $ref: '#/components/schemas/UPSItems'
      required:
        - carrier
        - city
        - country
        - address
        - name
        - company_name
        - telephone
        - pickup_from
        - pickup_until
        - postal_code
        - quantity
        - total_weight
        - items
    DHLParcelIberiaPickupCreate:
      title: DHL Parcel Iberia Pickup request
      description: ''
      type: object
      properties:
        city:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
          description: Contact person name.
        company_name:
          type: string
          minLength: 1
          description: Pickup address company name.
        country:
          type: string
          minLength: 2
          description: ISO 3166-1 alpha-2 country code.
          maxLength: 2
          example: ES
          enum:
            - ES
            - PT
        email:
          type: string
          minLength: 1
          format: email
          description: Contact person email.
          nullable: true
        address:
          type: string
          minLength: 1
          description: Address line 1 of the pickup, this should include the house number.
        address_2:
          type: string
          description: Address line 2 of the pickup.
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates from what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime that indicates until what time the pickup can take place. Preferably specified in UTC. When no timezone information is specified, we will use the timezone of the user their invoice address country.
          nullable: false
        postal_code:
          type: string
          minLength: 1
        quantity:
          type: integer
          format: int64
          maximum: 999
          description: Number of parcels that should be picked up.
        telephone:
          type: string
          description: Contact person telephone number.
        total_weight:
          type: string
          description: Total weight in kilograms.
        reference:
          type: string
          description: A reference number for your own administration.
          minLength: 0
          nullable: true
        special_instructions:
          type: string
          description: Special instructions that the driver should take into account.
          minLength: 1
          nullable: true
        carrier:
          type: string
          example: dhl_parcel_iberia
          description: The user selected carrier code for the pickup.
        contract:
          type: integer
          description: Id of the contract you want to be used for pickup request.
          nullable: true
      required:
        - city
        - name
        - company_name
        - country
        - address
        - pickup_from
        - pickup_until
        - postal_code
        - quantity
        - telephone
        - total_weight
        - carrier
    OriginDetail:
      title: Origin Detail Object
      description: Descriptive data about the origin of the shipment being picked up by FedEx.
      type: object
      properties:
        package_location:
          description: Provides a location description where the courier/driver will pick up the package.
          type: string
          enum:
            - front
            - none
            - rear
            - side
        building_part:
          description: Describe package location building part.
          type: string
          enum:
            - apartment
            - building
            - department
            - floor
            - room
            - suite
        building_part_description:
          description: Additional description of package pickup location.
          type: string
        company_close_time:
          description: Identifies the latest time at which the driver can gain access to pick up the package.
          type: string
          format: time
          example: 17:00:00Z
      required:
        - package_location
        - building_part
        - company_close_time
    UPSItems:
      title: Items Object
      description: The container providing the information about how many items should be picked up.
      type: object
      properties:
        quantity:
          type: integer
          format: int64
          minimum: 1
          description: Number of pieces to be picked up.
        destination_country:
          type: string
          minLength: 2
          maxLength: 2
          example: NL
          description: The destination country (ISO 3166-1 alpha-2 country code).
        container_code:
          type: string
          description: |
            Container type combined: * `01` - Package * `03` - Pallet
          enum:
            - '01'
            - '03'
        shipping_method:
          type: string
          description: |
            The Service Codes include: * '007' - UPS Express * '065' - UPS Express Saver * '011' - UPS Standard
          enum:
            - '007'
            - '065'
            - '011'
    PickupVolumeWeight:
      type: string
      description: |
        The total volumetric weight of the parcel(s) combined:
          * `10` - Envelopes
          * `20` - Small (shoe box)
          * `30` - Medium (box packages folios)
          * `40` - Large (box 80x80x80 cm)
          * `50` - Very large (larger than 80x80x80 cm box)
          * `60` - Pallet
      enum:
        - '10'
        - '20'
        - '30'
        - '40'
        - '50'
        - '60'
    PickupList:
      title: Pickup Object (List Item)
      description: A Sendcloud pickup object (returned through a list).
      type: object
      properties:
        id:
          type: integer
          format: int64
          minimum: 1
          description: Unique identifier of the pickup.
        carrier:
          type: string
          minLength: 1
        country:
          type: string
          minLength: 2
          maxLength: 2
          example: NL
          description: ISO 3166-1 alpha-2 country code.
          enum:
            - NL
            - DE
            - ES
            - FR
            - IT
            - AT
        tracking_number:
          type: string
          minLength: 0
          nullable: true
        pickup_from:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime when the pickup should take place.
        pickup_until:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime of the pickup location close time. This could be useful in case the pickup is delayed.
          nullable: true
        pickup_status:
          type: string
          enum:
            - Created
            - Cancelled
            - Failed
            - Announcing
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is created.
        cancelled_at:
          type: string
          minLength: 1
          format: date-time
          description: ISO 8601 DateTime at which the pickup is cancelled.
          nullable: true
        contract:
          type: integer
          description: Id of the contract that is used to create the pickup.
      required:
        - id
        - carrier
        - country
        - pickup_from
        - pickup_status
        - created_at
        - cancelled_at
    Error:
      description: ''
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP status code of the error.
              example: 400
            request:
              type: string
              description: Request path that caused the error.
              example: '"api/v2/pickups"'
            message:
              type: string
              description: Error message which explains what went wrong.
              example: '"country: \"This field is required.\", telephone: \"This field is required.\""'
