# Get a list of available delivery options at checkout

Endpoint: POST /api/2.0.0/company/{company-slug}/delivery_options/
Version: 2025.1
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `company-slug` (string, required)

## Request fields (application/json):

  - `package_type` (string)
    the package type of the shipment
    Example: Parcel

  - `shipping_method` (string)
    the shipment method of the shipment, mainly used to match certain rules
    Example: My Mapped Rule

  - `order_number` (string)
    the order number of the shipment
    Example: Order-123

  - `warehouse_id` (string, required)
    the warehouse external identifier
    Example: company-slug|Warehouse Name

  - `recipient` (object, required)

  - `recipient.name` (string)
    the full name for the destination address
    Example: John Doe

  - `recipient.first_name` (string)
    the first name for the destination address
    Example: John

  - `recipient.last_name` (string)
    the last name for the destination address
    Example: Doe

  - `recipient.company_name` (string)
    the company name for the destination address
    Example: The Fake Company

  - `recipient.email_address` (string)
    the email address for the destination address
    Example: the_fake_company@scurri.com

  - `recipient.contact_number` (string)
    the phone or mobile number for the destination address
    Example: 021 123 4567

  - `recipient.address` (object, required)

  - `recipient.address.address1` (string)
    the first line of the address
    Example: 123 Fake Street

  - `recipient.address.address2` (string)
    the second line of the address
    Example: 6th Floor

  - `recipient.address.address3` (string)
    the third line of the address
    Example: Apartment 2C

  - `recipient.address.city` (string)
    the city of the address
    Example: Dublin

  - `recipient.address.state` (string)
    the state of the address
    Example: Dublin 2

  - `recipient.address.postcode` (string)
    the postcode of the address
    Example: Y31 XP20

  - `recipient.address.country` (string)
    the ISO code of the country
    Example: IE

  - `recipient.address.latitude` (number)
    the latitude of the address
    Example: 0

  - `recipient.address.longitude` (number)
    the longitude of the address
    Example: 0

  - `packages` (array)

  - `packages.width` (number)
    the width of the package in centimeters
    Example: 12

  - `packages.height` (number)
    the height of the package in centimeters
    Example: 10

  - `packages.length` (number)
    the length of the package in centimeters
    Example: 8

  - `packages.weight` (number, required)
    the weight of the package in kilograms
    Example: 0.5

  - `packages.description` (string)
    the description of the items in the package
    Example: Toys

  - `packages.items` (array)

  - `packages.items.weight` (number, required)
    the weight of a single item in kilograms
    Example: 0.5

  - `packages.items.value` (number, required)
    the value of a single item
    Example: 5.99

  - `packages.items.name` (string)
    the name of the item
    Example: Toy

  - `packages.items.quantity` (integer)
    the number of items of this type within the package
    Example: 1

  - `packages.items.sku` (string)
    the stock keeping unit of the item
    Example: SKU123

  - `packages.items.country_of_origin` (string)
    the ISO code of the country
    Example: IE

  - `packages.items.harmonisation_code` (string)
    the harmonisation code of the item
    Example: 1234567890

  - `packages.items.taric_condition` (string)
    the taric condition of the item
    Example: Taric123

  - `packages.items.vat_rate` (string)
    the VAT rate of the item
    Example: 23

  - `packages.items.import_type` (string)
    the import type of the item
    Example: Gift

  - `packages.items.fabric_content` (string)
    the fabric content of the item
    Example: Plastic

  - `invoice` (object)

  - `invoice.incoterm` (string)
    the incoterm rule: DAP or DDP
    Example: DAP

  - `options` (object)

  - `options.Signed` (string)
    this is an example of a shipment enhancement
    Example: Yes

  - `currency` (string)
    the ISO code for the currency
    Example: EUR

  - `order_value` (number)
    the value of the order
    Example: 19.99

  - `rules_package_type` (string)
    the rules package type, mainly used to match certain rules
    Example: My Mapped Package Type Rule

  - `shipping_date` (string)
    the shipping date in ISO format, it is required to get estimated delivery data
    Example: 2025-07-28

  - `custom_field_1` (string)
    a custom field to store anything
    Example: My Custom Value 1

  - `custom_field_2` (string)
    a custom field to store anything
    Example: My Custom Value 2

  - `custom_field_3` (string)
    a custom field to store anything
    Example: My Custom Value 3

  - `custom_field_4` (string)
    a custom field to store anything
    Example: My Custom Value 4

  - `custom_field_5` (string)
    a custom field to store anything
    Example: My Custom Value 5

  - `settings` (object)

  - `settings.delivery_type` (string)
    the setting for delivery type: ALL, HOME or LOCATION
    Example: ALL

## Response 200:

  - `200` (unknown)
    the standard response when the request succeeds

## Response 200 fields (application/json):

  - `delivery_options` (array)

  - `delivery_options.name` (string)
    the delivery option rule name
    Example: My Rule

  - `delivery_options.service_id` (string)
    the external service identifier
    Example: Generic Carrier|Generic Domestic Service GDOM

  - `delivery_options.invoice` (object)

  - `delivery_options.invoice.incoterm` (string)
    the incoterm rule: DAP or DDP
    Example: DAP

  - `delivery_options.options` (object)

  - `delivery_options.options.Signed` (string)
    this is an example of a shipment enhancement
    Example: Yes

  - `delivery_options.warehouse` (string)
    the warehouse external identifier
    Example: company-slug|Warehouse Name

  - `delivery_options.delivery_price` (object)

  - `delivery_options.delivery_price.value` (string)
    the delivery price value
    Example: 29.99

  - `delivery_options.delivery_price.currency` (string)
    the ISO code for the currency
    Example: EUR

  - `delivery_options.description` (string)
    the description of the delivery options rule
    Example: Rule for heavy items

  - `delivery_options.locations` (object)

  - `delivery_options.locations.radius` (string)
    the radius in kilometers of the location
    Example: 2.06

  - `delivery_options.locations.limit` (string)
    the maximum number of points returned
    Example: 10

  - `delivery_options.locations.lookup_url` (string)
    the locations API URL
    Example: https://sandbox.scurri.co.uk/locations/api/company/company-slug/service-slug/

  - `delivery_options.locations.categories` (array)
    the categories included in the lookup for locations
    Example: ["locker"]

  - `delivery_options.estimated_delivery_data` (object)

  - `delivery_options.estimated_delivery_data.dates` (array)

  - `delivery_options.estimated_delivery_data.times` (array)

## Response 401:

  - `401` (unknown)
    standard error response

## Response 401 fields (application/json):

  - `error` (string)
    Example: Unauthorized

## Response 404:

  - `404` (unknown)
    standard error response

## Response 404 fields (application/json):

  - `error` (string)
    Example: Resource not found

