openapi: 3.0.1
info:
title: Airspace API Documentation Address Books Quotes API
description: "# Introduction\nAirspace's V2 API is a RESTful API. Our API accepts JSON-encoded request bodies, returns JSON-encoded\nresponses, and uses standard HTTP response codes, authentication, and verbs. With this API you can build\nintegrations for Order Creation, Quote Generation, Label Generation, and Active Shipment Monitoring.\n## Getting started with the Airspace API\n1. Check with your Airspace Account Manager representative if you have an account at Airspace.\n2. Reach out to integrations@airspace.com to get an API token. Once a token is generated for your account it will not expire.\n3. We will configure your account’s access to use our test environment. Use authorization type as **bearer token** before starting to make any requests.\n4. **[Optional]** We can also configure [webhooks](#section/Webhooks) to send status updates back to your system.\n5. Once development is complete reach out to us for end to end testing.\n6. After a few successful rounds of testing we will go live with your integration.\n## Environments\nEnvironment | URL | Description\n---|---|---\nProduction | https://api.airspace.com/api/public/v2 | For production use. Communicates with our production environment. Requires configuration.\nTest | https://apitest.airspace.com/api/public/v2 | For development and testing. Generally behaves the same as production.\n## Example Request\n```\n curl -X POST \"https://apitest.airspace.com/api/public/v2/orders\"\n -H \"accept: application/json\"\n -H \"Content-Type: application/json\"\n -H \"Authorization: Bearer **YOUR_API_KEY_HERE**\"\n -d @api-data.json\n```\n## Response Codes\nAirspace uses conventional HTTP response codes to indicate the success or failure of an API request. In general:\n - Codes in the 2xx range indicate success.\n - Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.).\n - Codes in the 5xx range indicate an error with Airspace's servers (these are rare).\n# Authentication\nYou will need an API key to access the Airspace API. Please contact integrations@airspace.com for your key.\nNote: Once you have a token it will never expire.\n# Webhooks\nAirspace can send webhooks programmatically to inform you about updates to your Order. A webhook is an HTTP request used to provide push notifications rather than making API calls to know the status of your Order. Webhooks can be triggered by an event, for example, a change in order status. When this change occurs, Airspace makes an HTTP request to your URL configured for the webhook.\n\nTo receive Airspace webhooks, set up a dedicated endpoint on your server as a webhook listener that can receive POST requests, then provide this endpoint URL to Airspace. Contact integrations@airspace.com to create or change your subscriptions.\n\n## Webhook Payload Structure\n\nEach webhook notification sent to your endpoint contains a complete payload with order details and event information. The payload structure varies dynamically based on the order state:\n\n- **Regular Status Updates**: Milestone events for normal order progression (picked up, in transit, delivered, etc.)\n- **Order Cancellations**: Problem events with cancellation details and error codes\n- **Order Delays**: Problem events with delay information and updated ETAs\n\n## Example Webhook Payloads\n\n### Regular Status Update\n```json\n{\n \"message\": \"Order status is now in_route_to_destination. Contact integrations@airspace.com to manage webhook subscriptions.\",\n \"events\": [{\n \"milestone\": {},\n \"occurred_at\": \"2026-01-22T15:30:45.123Z\"\n }],\n \"errors\": null,\n \"updated_order_keys\": [\"status\"],\n \"order\": {\n \"tracking_id\": \"ATXYZ123ABC\",\n \"tracking_url\": \"https://apitest.airspace.com/asap/tracking/ATXYZ123ABC\",\n \"order_number\": 9000001,\n \"status\": \"in_route_to_destination\",\n \"current_segment\": \"delivery_drive\",\n \"company_name\": \"Example Company\",\n ...\n }\n}\n```\n\n### Order Delay\n```json\n{\n \"message\": \"Order has encountered a delay.\",\n \"events\": [{\n \"event_type\": \"delay\",\n \"problem\": {\n \"code\": \"2-001\",\n \"description\": \"Changed shipment parameters\",\n \"delivery_eta\": \"2026-01-23T16:00:00.000Z\",\n \"note\": \"\"\n },\n \"occurred_at\": \"2026-01-22T14:25:30.941Z\"\n }],\n \"errors\": null,\n \"updated_order_keys\": [\"estimated_pickup_time\"],\n \"order\": { ... }\n}\n```\n\n### Order Cancellation\n```json\n{\n \"message\": \"Order has been canceled.\",\n \"events\": [{\n \"problem\": {\n \"code\": \"2-007\",\n \"description\": \"Nothing to Pick Up or Shipment Not Ready/Uncontrollable delay at pickup\",\n \"delivery_eta\": null,\n \"note\": \"Shipment no longer needed\"\n },\n \"occurred_at\": \"2026-01-22T16:45:10.525Z\"\n }],\n \"errors\": null,\n \"updated_order_keys\": [\"cancelled_at\", \"status\"],\n \"order\": { ... }\n}\n```\n\n## Webhook Configuration Requirements\n\nTo receive webhook notifications, ensure your endpoint:\n1. Accepts POST requests with JSON payload\n2. Returns a 2xx status code on successful receipt\n3. Can handle the dynamic nature of the payload based on order state\n4. Uses the `order.tracking_id` or `order.order_number` fields to identify orders\n5. Handles all three event types (milestone, cancellation, delay)\nTo configure webhook status updates, we need the following:\n- The endpoints URL to which you want the updates sent.\n- Password to access the environment (test, production, or both).\n- Authentication method, one of:\n - Username-password\n - Bearer token\n - OAuth\n- Content type (eg: JSON).\n- Request Method(PUT or POST).\n## Order Statuses\nThe following are order statues that are available to receive updates for via webhooks:\n\n**Note:** NFO/ Next Flight Out - an order that is scheduled to be shipped using a flight.\n\nStatus Code | Status Description\n---|---\n`will_call` | Creates a will call order which has not been routed and needs to be activated later for fulfillment.
Order has an expiration time, typically 72 hours after creation. The expiration time can be changed as needed.\n`pending` | Creates a Quote which needs to be submitted for fulfillment.\n`customer_completed` | Creates an order in our system for fulfillment.\n`ops_acknowledged` | Our Operations team has acknowledged/reviewed the order.\n`available_for_pickup` | A driver has been assigned to the order.\n`in_route_to_pickup` | The driver is en route to pickup the order.\n`arrived_at_pickup_location` | The driver has arrived at the pickup location.\n`in_route_to_destination` | The driver has picked up the order and is en route to the airport (only for NFO orders).\n`accepted_by_airline` | The order has been successfully delivered to the airport and accepted the by the airline (only for NFO orders).\n`verified_onboard` | The order has been on boarded onto the plane (only for NFO orders).\n`reached_destination_airport` | The order has reached the destination airport (only for NFO orders).\n`available_for_recovery` | A driver has been assigned and the order is available to be picked up from the destination airport (only for for NFO orders).\n`in_route_to_recovery` | The driver is en route to pick up the order from the destination airport (only for NFO orders).\n`arrived_at_recovery_location` | The driver has arrived to pick up the order from the destination airport (only for NFO orders).\n`recovered_from_airline` | The driver has picked up the order from the destination airport and is en route to deliver the order to the destination address (only for NFO orders).\n`arrived_at_destination` / `arrived_at_destination2` | The driver has arrived at the destination address.
**NOTE:** arrived_at_destination is for drive only orders, arrived_at_destination2 is only for NFO orders.\n`delivered` | The order has been delivered.\n`admin_canceled` | The order has been canceled.\n"
version: 2.6.2
x-logo:
url: https://www.airspacetechnologies.com/hubfs/Updated%20logos/Airspace%20horizontal%20logotype%20black%20and%20green%20no%20background%20011321%20(1).png
servers:
- url: https://{environment}.airspace.com/api/public/v2
variables:
environment:
default: apitest
enum:
- api
- apitest
tags:
- name: Quotes
description: We support generating a Quote for a potential Order as well as confirming that Quote to place an Order.
paths:
/quotes:
post:
summary: Create a Quote for a potential Order
parameters: []
security:
- Bearer: []
tags:
- Quotes
operationId: createQuote
description: "If the quote comes back as null then the pieces exceed our weight and/or size limits.\n Please contact our operations team for a quote."
responses:
'201':
description: An estimated arrival time and cost for a potential order
content:
application/json:
example:
quote:
estimated_cost:
amount: '359.56'
currency: USD
estimated_delivery_time: '2022-02-23T00:11:47.389Z'
order_details:
tracking_id: ATGZHEXXCM
tracking_url: https://{environment}.airspace.com/asap/tracking/ATGZHEXXCM
order_number: 1030767
pickup_time: null
pickup_time_local: null
pickup_time_timezone: null
estimated_pickup_time: '2022-04-26T19:30:11.607Z'
estimated_pickup_time_local: '2022-04-26T12:30:11'
estimated_pickup_time_timezone: America/Los_Angeles
status: pending
current_segment: pre_transit
estimated_delivery_time: '2022-02-23T00:11:47.389Z'
estimated_delivery_time_local: '2022-02-22T16:11:47'
estimated_delivery_time_timezone: America/Los_Angeles
company_name: Space Air Inc.
service_type: optimize_for_cost
should_hold_at_airlines: false
has_dangerous_goods: null
delivery_time: null
delivery_time_local: null
delivery_time_timezone: null
pickup_address:
company: PickupsRUs
street: 509 8th Street Southeast
street2: Apt. 1
street3: null
city: Orange City
state: IA
zip: '51041'
country: US
instructions: pick it up
lat: '42.997673'
lng: '-96.052662'
contact:
name: Myles Beier
phone_number: '7503087374'
country_code: '1'
delivery_address:
company: DeliveryCrew
street: 199 Bell Street
street2: Apt. 1
street3: null
city: Reno
state: NV
zip: '89503'
country: US
instructions: deliver it
lat: '39.525378'
lng: '-119.821145'
contact:
name: Lynwood Dietrich
phone_number: '9739405612'
country_code: '1'
references:
- Ref123
- Ref456
- Ref789
pieces:
- id: AT4N3JGKZZ
length: 1.0
width: 1.0
height: 1.0
weight: 1.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: '12345'
barcode_type: qr
commodity: Other - test
- id: ATZCWJ3R2K
length: 2.0
width: 2.0
height: 2.0
weight: 2.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: null
barcode_type: null
commodity: Other - Other - other
created_at: '2022-02-23T23:11:47.477Z'
will_call_activated_at: null
pod:
signature_url: /uploads_test/signature/signature/5/img.png
name: Signature-5
department: Department-5
image_urls: []
documents: []
order_contacts: []
images:
- filename: img.png
attachment_url: /uploads_test/signature/signature/5/img.png
latitude: '32.8961634'
longitude: '-117.1368105'
piece_guid: null
- filename: img.png
attachment_url: /uploads_test/order_picture/picture/9/img.png
latitude: null
longitude: null
piece_guid: null
flight_information:
flights:
- airline_name: American Airlines
airline_iata: AA
flight_number: '1234'
departure_airport: San Diego International Airport
departure_airport_iata: SAN
departure_time: '2022-02-23T18:55:18.734Z'
departure_time_local: '2022-02-23T10:55:18'
departure_time_timezone: America/Los_Angeles
arrival_airport: Tucson International Airport
arrival_airport_iata: TUS
arrival_time: '2022-02-23T19:55:18.734Z'
arrival_time_local: '2022-02-23T12:55:18'
arrival_time_timezone: America/Phoenix
status: Scheduled
air_waybill_numbers: []
cancelled_at: null
required_vehicle_type: car
company_id: ABCD123456
order_source: customer_facing
shipment_viability:
name: Birth Date & Time
started_at: '2024-07-10T16:46:00.000Z'
duration: 72.0
viable_until: '2024-07-13T16:46:00.000Z'
'401':
description: Authentication token is not authorized to complete the request.
content:
application/json:
example:
error: Unauthorized
'422':
description: Piece dimensions cannot be zero
content:
application/json:
example:
errors: 'Validation failed: Order Piece dimensions must be greater than zero'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/quote'
required: true
/quotes/{tracking_id}:
parameters:
- name: tracking_id
in: path
required: true
description: Tracking ID or Order Number of quote
schema:
type: string
get:
summary: Retrieve a Quote
security:
- Bearer: []
tags:
- Quotes
operationId: getQuoteById
description: Returns a potential order.
responses:
'200':
description: Returns a potential order with estimated arrival time and cost
content:
application/json:
example:
quote:
estimated_cost:
amount: '359.56'
currency: USD
estimated_delivery_time: '2022-02-23T00:11:47.389Z'
order_details:
tracking_id: ATGZHEXXCM
tracking_url: https://{environment}.airspace.com/asap/tracking/ATGZHEXXCM
order_number: 1030767
pickup_time: null
pickup_time_local: null
pickup_time_timezone: null
estimated_pickup_time: '2022-04-26T19:30:11.607Z'
estimated_pickup_time_local: '2022-04-26T12:30:11'
estimated_pickup_time_timezone: America/Los_Angeles
status: pending
current_segment: pre_transit
estimated_delivery_time: '2022-02-23T00:11:47.389Z'
estimated_delivery_time_local: '2022-02-22T16:11:47'
estimated_delivery_time_timezone: America/Los_Angeles
company_name: Space Air Inc.
service_type: optimize_for_cost
should_hold_at_airlines: false
has_dangerous_goods: null
delivery_time: null
delivery_time_local: null
delivery_time_timezone: null
pickup_address:
company: PickupsRUs
street: 509 8th Street Southeast
street2: Apt. 1
street3: null
city: Orange City
state: IA
zip: '51041'
country: US
instructions: pick it up
lat: '42.997673'
lng: '-96.052662'
contact:
name: Myles Beier
phone_number: '7503087374'
country_code: '1'
custom_attributes:
- label: Requires Dock High?
option: 'true'
- label: Requires Lift Gate?
option: 'true'
delivery_address:
company: DeliveryCrew
street: 199 Bell Street
street2: Apt. 1
street3: null
city: Reno
state: NV
zip: '89503'
country: US
instructions: deliver it
lat: '39.525378'
lng: '-119.821145'
contact:
name: Lynwood Dietrich
phone_number: '9739405612'
country_code: '1'
custom_attributes:
- label: Requires Dock High?
option: 'true'
- label: Requires Lift Gate?
option: 'true'
references:
- Ref123
- Ref456
- Ref789
pieces:
- id: AT4N3JGKZZ
length: 1.0
width: 1.0
height: 1.0
weight: 1.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: '12345'
barcode_type: qr
commodity: Other - test
- id: ATZCWJ3R2K
length: 2.0
width: 2.0
height: 2.0
weight: 2.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: null
barcode_type: null
commodity: Other - Other - other
created_at: '2022-02-23T23:11:47.477Z'
will_call_activated_at: null
pod:
signature_url: /uploads_test/signature/signature/8/img.png
name: Signature-8
department: Department-8
image_urls: []
documents: []
order_contacts: []
images:
- filename: img.png
attachment_url: /uploads_test/signature/signature/8/img.png
latitude: '32.8961634'
longitude: '-117.1368105'
piece_guid: null
- filename: img.png
attachment_url: /uploads_test/order_picture/picture/12/img.png
latitude: null
longitude: null
piece_guid: null
flight_information:
flights:
- airline_name: American Airlines
airline_iata: AA
flight_number: '1234'
departure_airport: San Diego International Airport
departure_airport_iata: SAN
departure_time: '2022-02-23T18:55:18.734Z'
departure_time_local: '2022-02-23T10:55:18'
departure_time_timezone: America/Los_Angeles
arrival_airport: Tucson International Airport
arrival_airport_iata: TUS
arrival_time: '2022-02-23T19:55:18.734Z'
arrival_time_local: '2022-02-23T12:55:18'
arrival_time_timezone: America/Phoenix
status: Scheduled
air_waybill_numbers: []
cancelled_at: null
required_vehicle_type: car
company_id: ABCD123456
order_source: customer_facing
custom_attributes:
- label: Requires Dry Ice?
option: Customer requests dry ice block from Airspace
weight: '10'
weight_unit: lbs
- label: I'd like to add Airspace Protection Plan to my order
amount: '123.5'
currency_code: USD
shipment_viability:
name: Birth Date & Time
started_at: '2024-07-10T16:46:00.000Z'
duration: 72.0
viable_until: '2024-07-13T16:46:00.000Z'
'401':
description: Authentication token is not authorized to complete the request.
content:
application/json:
example:
error: Unauthorized
'404':
description: The quote could not be found. Please check the id and try again.
content:
application/json:
example:
error: Not Found
/quotes/{tracking_id}/confirm:
parameters:
- name: tracking_id
in: path
required: true
description: Tracking ID or Order Number of quote
schema:
type: string
put:
summary: Confirm a Quote for fulfilment
security:
- Bearer: []
tags:
- Quotes
operationId: confirmQuote
description: Accept the quoted order and submit it for fulfillment
responses:
'200':
description: A confirmed order
content:
application/json:
example:
order:
tracking_id: ATGZHEXXCM
tracking_url: https://{environment}.airspace.com/asap/tracking/ATGZHEXXCM
order_number: 1030767
pickup_time: null
pickup_time_local: null
pickup_time_timezone: null
estimated_pickup_time: '2022-04-26T19:30:11.607Z'
estimated_pickup_time_local: '2022-04-26T12:30:11'
estimated_pickup_time_timezone: America/Los_Angeles
status: customer_completed
current_segment: pre_transit
estimated_delivery_time: '2022-02-23T00:11:47.389Z'
estimated_delivery_time_local: '2022-02-22T16:11:47'
estimated_delivery_time_timezone: America/Los_Angeles
company_name: Space Air Inc.
service_type: optimize_for_cost
should_hold_at_airlines: false
has_dangerous_goods: null
delivery_time: null
delivery_time_local: null
delivery_time_timezone: null
pickup_address:
company: PickupsRUs
street: 509 8th Street Southeast
street2: Apt. 1
street3: null
city: Orange City
state: IA
zip: '51041'
country: US
instructions: pick it up
lat: '42.997673'
lng: '-96.052662'
contact:
name: Myles Beier
phone_number: '7503087374'
country_code: '1'
custom_attributes:
- label: Requires Dock High?
option: 'true'
- label: Requires Lift Gate?
option: 'true'
delivery_address:
company: DeliveryCrew
street: 199 Bell Street
street2: Apt. 1
street3: null
city: Reno
state: NV
zip: '89503'
country: US
instructions: deliver it
lat: '39.525378'
lng: '-119.821145'
contact:
name: Lynwood Dietrich
phone_number: '9739405612'
country_code: '1'
custom_attributes:
- label: Requires Dock High?
option: 'true'
- label: Requires Lift Gate?
option: 'true'
references:
- Ref123
- Ref456
- Ref789
pieces:
- id: AT4N3JGKZZ
length: 1.0
width: 1.0
height: 1.0
weight: 1.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: '12345'
barcode_type: qr
commodity: Other - test
- id: ATZCWJ3R2K
length: 2.0
width: 2.0
height: 2.0
weight: 2.0
weight_unit: lbs
dimension_unit: in
current_location:
lat: '33.4518244'
lng: '-112.0745357'
description: 333 N Central Ave, PHOENIX, AZ, US, 85004
barcode: null
barcode_type: null
commodity: Other - Other - other
created_at: '2022-02-23T23:11:47.477Z'
will_call_activated_at: null
pod:
signature_url: /uploads_test/signature/signature/11/img.png
name: Signature-11
department: Department-11
image_urls: []
documents: []
order_contacts: []
images:
- filename: img.png
attachment_url: /uploads_test/signature/signature/11/img.png
latitude: '32.8961634'
longitude: '-117.1368105'
piece_guid: null
- filename: img.png
attachment_url: /uploads_test/order_picture/picture/15/img.png
latitude: null
longitude: null
piece_guid: null
flight_information:
flights:
- airline_name: American Airlines
airline_iata: AA
flight_number: '1234'
departure_airport: San Diego International Airport
departure_airport_iata: SAN
departure_time: '2022-02-23T18:55:18.734Z'
departure_time_local: '2022-02-23T10:55:18'
departure_time_timezone: America/Los_Angeles
arrival_airport: Tucson International Airport
arrival_airport_iata: TUS
arrival_time: '2022-02-23T19:55:18.734Z'
arrival_time_local: '2022-02-23T12:55:18'
arrival_time_timezone: America/Phoenix
status: Scheduled
air_waybill_numbers: []
cancelled_at: null
required_vehicle_type: car
company_id: ABCD123456
order_source: customer_facing
custom_attributes:
- label: Requires Dry Ice?
option: Customer requests dry ice block from Airspace
weight: '10'
weight_unit: lbs
- label: I'd like to add Airspace Protection Plan to my order
amount: '123.5'
currency_code: USD
shipment_viability:
name: Birth Date & Time
started_at: '2024-07-10T16:46:00.000Z'
duration: 72.0
viable_until: '2024-07-13T16:46:00.000Z'
components:
schemas:
shipment_viability:
type: object
properties:
started_at:
type: string
example: 2024-07-10 09:46:00 -0700
description: 'The start time for the shipment’s viability. If timezone is not provided, the pickup address timezone
is assumed.
'
duration:
type: integer
example: 72
description: 'Viability duration of the shipment in hours. If not provided, the default value on the account
configuration will be used.
'
required:
- started_at
description: 'Viability window for a shipment. This is the time period for which the shipment is viable and we best
ensure for it to be delivered prior to its expiration. This feature is only available if your account is
configured for it. Please contact your Account Manager for details.
'
email_notification:
allOf:
- type: object
description: For each email notification a geofence trigger can be specified for distance from pickup or distance to delivery.
properties:
email:
type: string
example: alerts@airspace.com
description: Email address used to receive email notifications.
phone_number:
type:
- string
- integer
example: 619-867-5309
description: 'Phone number used to receive sms notifications (either string or integer).
Examples:
- 6198675309
- 619-867-5309
- (619)867-5309
- (619) 867-5309
- (619)-867-5309
'
exception_email:
type: boolean
example: true
description: Receive email notifications for exceptions.
statuses:
type: array
items:
type: string
enum:
- customer_completed
- ops_acknowledged
- auto_dispatch_started
- in_route_to_pickup
- arrived_at_pickup_location
- in_route_to_tender
- arrived_at_tender
- accepted_by_airline
- flight_departed
- flight_arrived
- reached_destination_airport
- in_route_to_recovery
- arrived_at_recovery_location
- recovered_from_airline
- in_route_to_destination
- arrived_at_destination
- package_accepted
description: Order statuses to receive updates for.
example:
- customer_completed
- ops_acknowledged
- auto_dispatch_started
required:
- email
oneOf:
- $ref: '#/components/schemas/geofence_miles_delivery'
- $ref: '#/components/schemas/geofence_miles_pickup'
destination_address:
type: object
properties:
company:
type: string
example: TMB
description: Company name
street:
type: string
example: 151 N Main Street
description: Street address
street2:
type: string
example: ''
description: Additional street information
street3:
type: string
example: ''
description: Additional street information (only valid for non-US addresses)
city:
type: string
example: Sheridan
description: City
state:
type: string
example: WY
description: State
zip:
type: string
example: '82801'
description: Zip code
country:
type: string
example: US
description: ISO 3166-1 alpha-2 country abbreviation
enum:
- US
- CA
- AU
- GB
- DE
- BR
- FR
- JP
- RU
- IN
- ID
- IT
- ES
- MX
- 'NO'
- SE
- CO
- CN
- TR
- NZ
instructions:
type: string
example: 'Use Gate Code: B2578*. Park in rear by loading docks.'
description: Special instructions for the driver to execute at the address
contact:
$ref: '#/components/schemas/contact'
custom_attributes:
type: array
items:
$ref: '#/components/schemas/custom_attributes'
example:
- label: Requires Dock High?
option: true
- label: Requires Lift Gate?
option: 'true'
description: "Attributes are custom fields that will allow you to communicate specific requirements about your orders. They can be set up on Order level as well as on Address level. Additional charges may apply for some of the configured attributes, please clarify with your Account Manager.\n\nExamples:\n - If you require ‘Airspace Protection Plan’ we can setup an order level custom attribute that will allow you to specify the dollar amount for the plan on the order.\n - If a TSA Certified Driver is required by any of the address locations, an address level custom attribute will allow you to specify this request on the address.\n\nThis feature is only available if your account is configured for it. Please contact your Account Manager for details.\n"
required:
- street
- city
- company
- contact
description: Destination address for order
pickup_time:
type: string
example: '2022-02-25 02:25:00'
description: 'Send a value in this key only if you want to specify a pickup time.
- For future orders, the value should be at least two hours in the future (in the timezone of the pickup location).
- For immediate pickup, leave blank.
'
reference:
type: object
properties:
reference:
type: string
example: PO-1234
description: Reference number or any additional identifying information
context:
type: string
example: PO number
description: 'Identifying name for the associated reference number.
Note: If you have a preconfigured custom reference, we will match the name to the context here. If the custom reference is a required field this value will become required.
'
required:
- reference
description: null
upid:
type: object
properties:
type:
type: string
example: 'PO #'
description: An identifier specified on the package to verify we are picking up the correct piece when an Airspace label is not used.
value:
type: string
example: PO-12345
description: The value of the specific identifier.
required:
- type
- value
description: An identifier specified on the package to verify we are picking up the correct piece when an Airspace label is not used.
contact:
type: object
properties:
name:
type: string
example: Jenny Jenny
description: Contact name
phone_number:
type:
- string
- integer
example: 619-867-5309
description: 'Phone number (either string or integer).
Examples:
- 6198675309
- 619-867-5309
- (619)867-5309
- (619) 867-5309
- (619)-867-5309
'
phone_country_code:
type: string
example: '1'
description: International country code
required:
- name
- phone_number
description: Location contact
custom_attributes:
type: object
properties:
label:
type: string
description: Label for the custom attribute
option:
type:
- string
- boolean
description: 'Option for the custom attribute. Please contact your account manager for configured options.
'
weight:
type: float
description: Weight for the custom attribute
weight_unit:
type: string
description: Weight unit for the custom attribute. Will default to company configured weight unit if not provided.
enum:
- lbs
- kg
amount:
type: float
description: Amount for the custom attribute
currency_code:
type: string
description: Currency code for the custom attribute. Will default to company configured currency code if not provided.
enum:
- USD
- CAD
- EUR
- GBP
- AUD
- NZD
- CHF
- DKK
- NOK
- SEK
- SGD
- CNY
required:
- label
description: null
piece:
type: object
properties:
piece_library_guid:
type: string
example: ATM94JAWEI
description: The GUID of a PieceLibrary record from which to optionally pull stored piece attributes.
do_not_rotate:
type: boolean
example: false
description: Optional attribute to specify if a piece should not be rotated
length:
type: string
example: '4'
description: Length of a piece
width:
type: string
example: '4'
description: Width of a piece
height:
type: string
example: '11'
description: Height of a piece
weight:
type: string
example: '7'
description: Weight of a piece
weight_unit:
type: string
example: lbs
description: Weight unit
enum:
- lb
- kg
dimension_unit:
type: string
example: in
description: Dimension unit
enum:
- in
- cm
commodity:
type: string
example: Test commodity
description: The item or material to be transported. Please check with your account management representative for a full list.
upids:
type: array
items:
$ref: '#/components/schemas/upid'
description: 'UPIDs, or Unique Piece Identifiers, are mainly used to identify the pieces when there is no shipping label on them.
They can also be used for pieces with non-Airspace labels. A single piece can have multiple UPIDs.
Please check with your account management representative to know more.
'
barcode:
type: string
example: '1234567890'
description: Barcode value of a piece.
barcode_type:
type: string
example: code_128
description: Barcode type of a piece.
enum:
- upc_e
- ean_13
- ean_8
- code_39
- code_93
- code_128
- itf
- qr
- data_matrix
- pdf_417
required:
- height
- length
- width
- weight
- weight_unit
- dimension_unit
- commodity
description: null
geofence_miles_pickup:
type: object
properties:
geofence_miles_pickup:
type: integer
example: 25
description: Mileage range to trigger notifications.
required: []
description: null
pickup_address:
type: object
properties:
company:
type: string
example: TMB
description: Company name
street:
type: string
example: 151 N Main Street
description: Street address
street2:
type: string
example: ''
description: Additional street information
street3:
type: string
example: ''
description: Additional street information (only valid for non-US addresses)
city:
type: string
example: Sheridan
description: City
state:
type: string
example: WY
description: State
zip:
type: string
example: '82801'
description: Zip code
country:
type: string
example: US
description: ISO 3166-1 alpha-2 country abbreviation
enum:
- US
- CA
- AU
- GB
- DE
- BR
- FR
- JP
- RU
- IN
- ID
- IT
- ES
- MX
- 'NO'
- SE
- CO
- CN
- TR
- NZ
instructions:
type: string
example: 'Use Gate Code: B2578*. Park in rear by loading docks.'
description: Special instructions for the driver to execute at the address
contact:
$ref: '#/components/schemas/contact'
custom_attributes:
type: array
items:
$ref: '#/components/schemas/custom_attributes'
example:
- label: Requires Dock High?
option: true
- label: Requires Lift Gate?
option: 'true'
description: "Attributes are custom fields that will allow you to communicate specific requirements about your orders. They can be set up on Order level as well as on Address level. Additional charges may apply for some of the configured attributes, please clarify with your Account Manager.\n\nExamples:\n - If you require ‘Airspace Protection Plan’ we can setup an order level custom attribute that will allow you to specify the dollar amount for the plan on the order.\n - If a TSA Certified Driver is required by any of the address locations, an address level custom attribute will allow you to specify this request on the address.\n\nThis feature is only available if your account is configured for it. Please contact your Account Manager for details.\n"
required:
- street
- city
- company
- contact
description: Pickup address for order
geofence_miles_delivery:
type: object
properties:
geofence_miles_delivery:
type: integer
example: 10
description: Mileage range to trigger notifications.
required: []
description: null
quote:
type: object
properties:
company_id:
type: string
example: ATG1U2I3D4
description: Optional Company ID of a child company that will be used to create an Order
pickup_time:
$ref: '#/components/schemas/pickup_time'
pickup_address:
$ref: '#/components/schemas/pickup_address'
destination_address:
$ref: '#/components/schemas/destination_address'
references:
type: array
items:
$ref: '#/components/schemas/reference'
description: 'References can contain any additional identifying or related information about the piece(s) or the order.
Some references may be required for your account. Please check with your account management representative to know more.
'
pieces:
type: array
items:
$ref: '#/components/schemas/piece'
description: Pieces in order
service_type:
type: string
example: recommended
default: optimize_for_time
description: 'Requested delivery type.
- recommended - Route is selected based on your unique preferences and history.
- optimize_for_time - Route with fastest delivery time is prioritized over cost.
- optimize_for_cost - Most economical route prioritizes cost over delivery time.
- optimize_for_green - Route is selected based on environmental impact.
- drive_only - A drive only route which is adjusted for real time traffic and weather conditions.
'
enum:
- recommended
- optimize_for_time
- optimize_for_cost
- drive_only
- optimize_for_green
should_hold_at_airlines:
type: boolean
example: false
default: false
description: Hold the package for pickup at the airline
has_dangerous_goods:
type: boolean
example: false
default: false
description: Contains hazardous or dangerous goods
email_notifications:
type: array
items:
$ref: '#/components/schemas/email_notification'
description: Receive notifications with updates for this order
airtrace_assignment_override:
type: boolean
example: false
description: Override tracker assignment. If you try to assign an AirTrace Tacker to an order that already has it assigned, you may see an error. You may override this assignment if you have API access to this order. If the value is true, the AirTrace tracker will be removed from tracking its current assigned order. By continuing, you are acknowledging that you understand the risks. See [AirTrace](https://www.airspace.com/airtrace) for more information.
required_vehicle_type:
type: string
example: van
enum:
- car
- van
- truck
- flatbed
description: 'Choose a vehicle for your order
- This feature is only available if your account is configured for it. Please contact your account manager for details.
- If a bigger vehicle type value is sent than required, additional charges may apply.
- If a smaller vehicle type value is sent, we will override with system determined vehicle based on piece count, dimensions and weight.
'
custom_attributes:
type: array
items:
$ref: '#/components/schemas/custom_attributes'
example:
- label: I'd like to add Airspace Protection Plan to my order
amount: 123.5
currency_code: USD
- label: Requires Dry Ice?
option: Customer requests dry ice block from Airspace
weight: 10
weight_unit: lbs
description: "Attributes are custom fields that will allow you to communicate specific requirements about your orders. They can be set up on Order level as well as on Address level. Additional charges may apply for some of the configured attributes, please clarify with your Account Manager.\n\nExamples:\n - If you require ‘Airspace Protection Plan’ we can setup an order level custom attribute that will allow you to specify the dollar amount for the plan on the order.\n - If a TSA Certified Driver is required by any of the address locations, an address level custom attribute will allow you to specify this request on the address.\n\nThis feature is only available if your account is configured for it. Please contact your Account Manager for details.\n"
shipment_viability:
$ref: '#/components/schemas/shipment_viability'
required:
- destination_address
- pickup_address
- pieces
- references
description: null
securitySchemes:
Bearer:
description: Unique API key necessary to make API requests.
type: http
scheme: bearer
name: Authorization
in: header