Download OpenAPI specification:Download
1.0.1 : changed error response format on every v5 endpoint
1.0.1 : added optional render_zpl field in body request for [v5] Create Label and removed the accept:application/zpl header option that was used in previous create label endpoints
1.0.2 : changed [v5] Delete label 200 response format from text/html to application/json
1.0.2 : added optional render_zpl field in body request for [v5] GET label request
1.0.3: simplified [v5] Tracking status 200 response body
1.0.3: added format field in [v5] Print Label request body
1.0.3: added ability to [v5] Print Label return zpl and pdf format. Response header content-type will be application/zpl or application/pdf
1.0.4: added rate_card_type in RateV5 object
1.0.5: added optional service_add_ons field in request and response body [v5] Create Label and response in [v5] Get Label
Sway is a middle/last-mile delivery service that offers same and next-day shipping to customers at affordable rates. The Sway technology platform with its network of warehouses and delivery companies provides merchants and their customers the best delivery experience possible.
Welcome to the API documentation!
To use our API, make sure to set up your Swyft account by contacting your Merchant Success Manager or by contacting Swyft Support. Most user actions that can be done in our Merchant Dashboard can be done though our REST API.
Fetch rates for given destination, dimensions and pickup location (required only if merchant has more than one pickup location).
required | object (Address) Address of the package's destination |
required | object Package dimensions. |
pickup_location_slug | string Identifier for the pickup location of the packages. Required if merchant contains more than one pickup location. |
{- "destination": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}, - "dimensions": {
- "length": 10,
- "width": 8,
- "height": 12,
- "weight": 0.5
}, - "pickup_location_slug": "string"
}
{- "rates": [
- {
- "service_type": "EXPEDITED",
- "currency": "USD",
- "tnt": 1,
- "options": [
- {
- "name": "SIGNATURE_REQUIRED",
- "price": 2
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}
], - "options_total_price": 18,
- "delivery_price": 10,
- "total_price": 28,
- "rate_card_type": "rateCardV3"
}
], - "errors": [
- {
- "code": "InvalidValue",
- "msg": "dimensions"
}
]
}
Fetch a single label by id.
id required | string Label id. |
render_zpl | boolean Default: false flag to indicate if zpl should be rendered and returned on response payload. |
{- "id": "bqofiflh5s5id0diioug"
}
{- "id": "bqofiflh5s5id0diioug",
- "client_id": "acme_corp",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Los Angeles",
- "postal_code": "90211",
- "province": "CA",
- "country": "US"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "service_type": "SAMEDAY",
- "currency": "USD",
- "tnt": 1,
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z",
- "service_add_ons": [
- "CHECK_ID"
]
}
Create label for specific service type.
service_type required | string Enum: "SAMEDAY" "EXPEDITED" One of the service types returned when fetching rates. |
required | object (Dimensions) Package dimensions |
required | object (Recipient with Phone) An individual receiving or sending a package. |
required | Recipient with Phone (object) or Recipient with Email (object) (Recipient) An individual receiving or sending a package. |
business_name | string Business name on whose behalf package is being delivered. In the case of a 3PL this would be the merchant business name. Is used in communication with client via SMS, etc. |
notes | string Specific notes about delivery location for driver. |
order_number | string Order number from client's system. |
shipment_id | string Shipment id for a group of orders from client's system. |
reference | string Reference # or ID on the client side in case of any issues. Primarily to be used by our dispatcher to reach out to client but can also be used by client to attach specific metadata to label. |
reference2 | string Secondary reference # or ID on the client side in case of any issues. Can be used by client to attach specific metadata to label. |
tracking_number | string Optional unique tracking number. If provided, then the tracking number will be set to the given value. Otherwise it will be randomly generated. |
pickup_location_slug | string Identifier for the pickup location of this package. Required if merchant has multiple pickup locations |
render_zpl | boolean Default: false flag to indicate if zpl should be rendered and returned on response payload. |
service_add_ons | Array of strings (ServiceAddOns) Items Enum: "SIGNATURE" "CHECK_ID" A string representing extra service requirements of the label.
|
{- "service_type": "SAMEDAY",
- "dimensions": {
- "length": 1,
- "height": 2,
- "width": 3,
- "weight": 0.5
}, - "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "1313 Disneyland Dr",
- "city": "Anaheim",
- "postal_code": "92802",
- "province": "CA",
- "country": "US"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}
}, - "notes": "Ask concierge for elevator access",
- "order_number": "12345ABC",
- "shipment_id": "567890ABC",
- "reference": "order #9000",
- "reference2": "order #9000"
}
{- "id": "bqofiflh5s5id0diioug",
- "client_id": "acme_corp",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Los Angeles",
- "postal_code": "90211",
- "province": "CA",
- "country": "US"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "service_type": "SAMEDAY",
- "currency": "USD",
- "tnt": 1,
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z",
- "service_add_ons": [
- "CHECK_ID"
]
}
Cancel a recently created label. This will cause the label to not be scheduled for delivery but can still be fetched later for auditing. Can only cancel a label before the package reaches our warehouse, if successful then the label will not be billed for. To cancel after a pickup contact Swyft so that we tell the driver not to deliver.
id required | string Label id returned on create. |
{- "id": "string"
}
{- "msg": "string"
}
Fetch printable PDF or ZPL format for single label by id.
id required | string Label id. |
format required | string Enum: "zpl" "pdf" desired format to render printable label. if zlp format is selected, response header will return content-type=application/zpl. if pdf format is selected, response header will return with content-type=application/pdf |
{- "id": "bqofiflh5s5id0diioug",
- "foramt": "pdf"
}
{- "code": "InvalidValue",
- "msg": "dimensions"
}
Fetch the delivery status of a label by id or tracking number. The list is returned by descending order of timestamp.
Here are a couple of examples on why a delivery attempt may fail:
id required | string Label id returned on create. |
{- "id": "string"
}
[- {
- "state": "PENDING",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "timezone": "string",
- "proof_of_delivery": [
- "string"
]
}
]
Labels (deprecated):
Label API endpoints provide a way to create, delete, fetch and print labels in Swyft's system.
Package size matrix:
Swyft Size Code | Max Vol (cuft) | Max Weight (lbs) | Max Length on any side (in) |
---|---|---|---|
Small | 0.5 | 5 | 26 |
Medium | 1 | 10 | 26 |
Large | 2 | 20 | 26 |
Extra Large | 3.3 | 35 | 26 |
Rates (deprecated): Rate API endpoints return the delivery prices for the different package sizes and service types for packages given an origin and destination. Rates will differ depending on the package size and service type, in addition to the options that are configured for it.
Package size matrix:
Swyft Size Code | Max Vol (cuft) | Max Weight (lbs) | Max Length on any side (in) |
---|---|---|---|
Small | 0.5 | 5 | 26 |
Medium | 1 | 10 | 26 |
Large | 2 | 20 | 26 |
Extra Large | 3.3 | 35 | 26 |
Fetch rates for given origin and destination.
required | object (Address) Address where the package will be picked up |
required | object (Address) Address of the package's destination |
signature_required | boolean (signatureRequired) The customer must provide their signature on delivery through the driver phone application. Requiring a signature will affect the rate for the delivery For condos:
|
pickup_location_slug | string Identifier for the pickup location of the packages. |
package_count | number (Package Count) Default: 1 Number of packages to be delivered to a single location. |
object Package dimensions. |
{- "origin": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}, - "destination": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}, - "signature_required": true,
- "pickup_location_slug": "string",
- "package_count": 1,
- "dimensions": {
- "length_inches": 10,
- "width_inches": 8,
- "height_inches": 12,
- "weight_pounds": 0.5
}
}
{- "rates": [
- {
- "rate": {
- "package_type": "SMALL",
- "service_type": "NEXTDAY",
- "currency": "CAD",
- "options": [
- {
- "name": "SIGNATURE_REQUIRED",
- "price": 2
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}
], - "options_total_price": 18,
- "delivery_price": 10,
- "total_price": 28
}, - "estimate_from": "2020-05-06T21:00:00.000Z",
- "estimate_to": "2020-05-07T03:00:00.000Z"
}
]
}
Fetch rates for a bulk list of origins and destinations. Request can only either Dimensions or Package Type.
Array of objects |
{- "rates": [
- {
- "origin": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}, - "destination": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}, - "pickup_location_slug": "string",
- "package_type": "LARGE"
}
]
}
{- "created_at": "2021-09-21T13:23:15.000Z",
- "rates": [
- {
- "status": "SUCCEEDED",
- "failure_reasons": null,
- "data": {
- "package_type": "SMALL",
- "currency": "CAD",
- "services": [
- {
- "delivery_price": 10,
- "valid_until": "2021-09-21T16:00:00.000Z",
- "type": "SAMEDAY"
}, - {
- "delivery_price": 8,
- "valid_until": "2021-09-22T04:00:00.000Z",
- "type": "NEXTDAY"
}
]
}
}, - {
- "status": "FAILED",
- "failure_reasons": [
- {
- "code": "DESTINATION_OUT_OF_SERVICE_AREA",
- "message": "Destination P3E 5S9 is not within delivery network."
}, - {
- "code": "MISSING_DIMENSIONS",
- "message": "Dimensions must be specified."
}
], - "data": null
}
]
}
Create label with specific package and service type.
package_type required | string Enum: "SMALL" "MEDIUM" "LARGE" "EXTRA_LARGE" One of the package types returned when fetching rates. |
service_type required | string Enum: "SAMEDAY" "NEXTDAY" One of the service types returned when fetching rates. |
business_name | string Business name on whose behalf package is being delivered. In the case of a 3PL this would be the merchant business name. Is used in communication with client via SMS, etc. |
required | object (Recipient with Phone) An individual receiving or sending a package. |
required | Recipient with Phone (object) or Recipient with Email (object) (Recipient) An individual receiving or sending a package. |
signature_required | boolean (signatureRequired) The customer must provide their signature on delivery through the driver phone application. Requiring a signature will affect the rate for the delivery For condos:
|
notes | string Specific notes about delivery location for driver. |
order_number | string Order number from client's system. |
shipment_id | string Shipment id for a group of orders from client's system. |
reference | string Reference # or ID on the client side in case of any issues. Primarily to be used by our dispatcher to reach out to client but can also be used by client to attach specific metadata to label. |
reference2 | string Secondary reference # or ID on the client side in case of any issues. Can be used by client to attach specific metadata to label. |
tracking_number | string Optional unique tracking number. If provided, then the tracking number will be set to the given value. Otherwise it will be randomly generated. |
pickup_location_slug | string Identifier for the pickup location of this package. |
{- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "notes": "Ask concierge for elevator access",
- "order_number": "12345ABC",
- "shipment_id": "567890ABC",
- "reference": "order #9000",
- "reference2": "order #9000"
}
{- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
Cancel a recently created label. This will cause the label to not be scheduled for delivery but can still be fetched later for auditing. Can only cancel a label before the package reaches our warehouse, if successful then the label will not be billed for. To cancel after a pickup contact Swyft so that we tell the driver not to deliver.
id required | string Label id returned on create. |
{- "id": "string"
}
OK
Fetch printable PDF for single label by id or Shopify order number.
id required | string Label id returned on create. |
{- "id": "bqofiflh5s5id0diioug"
}
Invalid request
Fetch the delivery status of a label by id or tracking number. Here are a couple of examples on why a delivery attempt may fail:
signature_required
is set but no one is available to sign. id required | string Label id returned on create. |
{- "id": "string"
}
{- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "line2": "Apt 810",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}, - "validated_address_v2": {
- "label": "222 Bay St Apt 810 Toronto ON M5J 2W4",
- "postal_code": "M5J 2W4",
- "line2": "Apt 810",
- "address_precision": "Premise",
- "building_number": 45,
- "city": "Toronto",
- "country": "CA",
- "geocode": {
- "latitude": 43.66138,
- "longitude": -79.3804
}, - "province": "ON,",
- "geocode_precision": "Premise",
- "street": "Bay St"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Toronto",
- "postal_code": 90210,
- "province": "ON",
- "country": "CA"
}, - "validated_address_v2": {
- "label": "188 University Ave Unit 4303 Los Angeles CA 90210",
- "postal_code": 90210,
- "line2": "Unit 4303",
- "address_precision": "Premise",
- "building_number": 83,
- "city": "Toronto",
- "country": "CA",
- "geocode": {
- "latitude": 49.68724,
- "longitude": -41.1053
}, - "province": "ON,",
- "geocode_precision": "Premise",
- "street": "University Ave"
}
}, - "signature_required": "false,",
- "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z",
- "status": {
- "state": "DELIVERED",
- "details": "Your package has been delivered to the destination.",
- "timestamp": "2020-05-06T20:29:19.472Z",
- "local_timestamp": "2020-05-06T16:29:19.472963-04:00",
- "local_timezone_abbr": "EDT",
}, - "status_history": [
- {
- "state": "DELIVERED",
- "details": "Your package has been delivered to the destination.",
- "timestamp": "2020-05-06T20:29:19.472Z",
- "local_timestamp": "2020-05-06T16:29:19.472963-04:00",
- "local_timezone_abbr": "EDT",
}, - {
- "state": "CONFIRMED",
- "details": "Your package has been confirmed and is awaiting pickup by our driver.",
- "timestamp": "2020-05-06T14:29:19.472Z",
- "local_timestamp": "2020-05-06T10:29:19.472963-04:00",
- "local_timezone_abbr": "EDT"
}, - {
- "state": "IN_TRANSIT",
- "details": "Your package has been picked up and is in transit to it's destination.",
- "timestamp": "2020-05-06T20:29:19.472Z",
- "local_timestamp": "2020-05-06T16:29:19.472963-04:00",
- "local_timezone_abbr": "EDT"
}, - {
- "state": "ARRIVING",
- "details": "Your package is near it's destination, please be ready to accept it's delivery.",
- "timestamp": "2020-05-06T20:29:19.472Z",
- "local_timestamp": "2020-05-06T16:29:19.472963-04:00",
- "local_timezone_abbr": "EDT"
}
], - "associated_crossdock_id": "WslSjuF9iREfEyoF2ySH",
- "pickup_location_id": "AM6Mz5nTsQqfODPiNdbm",
- "manually_approved": "true,",
- "original_ship_date": "2020-05-04,",
- "ship_date": "2020-05-06,",
- "state": "DELIVERED,",
- "merchant_id": "u1BrVSwwgWEAyAZheVE2,",
- "merchant_slug": "acme-corporation,",
- "received": "true,",
- "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "delivery_price": 10,
- "signature_price": 0.12,
- "options": [ ],
- "total_price": 10,
- "options_total_price": 0
}, - "organization_slug": "acme-corporation,",
- "client_id": "acme-corporation"
}
Subscribe to label updates by providing a url that swyft can respond to. The server should reply with a status of 200, if that is not the case then the webhook will unsubscribe after 300 failed attempts. The notification_url must be an https endpoint or will fail with status 400. Swyft uses HMAC with the SHA-512 hash function for additional authentication, and each request comes with a X-Swyft-Signature
header. To authenticate compare the header with the API Token
in an HMAC hexadecimal format.
notification_url required | string <uri> (Notification Url) The https endpoint to receive label update notifications. |
{
}
{- "status": "ACTIVE"
}
{- "id": "string",
- "tracking_number": "string",
- "state": "PENDING",
- "timestamp": "2019-08-24T14:15:22Z"
}
Fetch rates for a bulk list of origins and destinations.
Array of objects |
{- "rates": [
- {
- "origin": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}, - "destination": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": "90210",
- "province": "CA",
- "country": "US"
}, - "signature_required": true,
- "package_count": 1
}
]
}
{- "rates": [
- {
- "rates": [
- {
- "rate": {
- "package_type": "SMALL",
- "service_type": "NEXTDAY",
- "currency": "CAD",
- "options": [
- {
- "name": "SIGNATURE_REQUIRED",
- "price": 2
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}, - {
- "name": "ADDITIONAL_PACKAGE",
- "price": 8
}
], - "options_total_price": 18,
- "delivery_price": 10,
- "total_price": 28
}, - "estimate_from": "2020-05-06T21:00:00.000Z",
- "estimate_to": "2020-05-07T03:00:00.000Z"
}
]
}
]
}
Create a bulk number of labels with a single request. Accepts a maximum of 100 labels per request. Each label will be validated against the label schema, if any do not validate then the request will fail returning the index of the invalid label from the array. If the schema is successful, the labels will be generated and returned as an array of labels, if any of these labels failed to be created due to issues such as address validation, then that row in the returned array will be an error object instead.
Array of objects (CreateLabelsWithPackageType) |
{- "labels": [
- {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "notes": "Ask concierge for elevator access",
- "order_number": "12345ABC",
- "shipment_id": "567890ABC",
- "reference": "order #9000",
- "reference2": "order #9000"
}
]
}
[- {
- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
]
Create label with specific package and service type.
package_type required | string Enum: "SMALL" "MEDIUM" "LARGE" "EXTRA_LARGE" One of the package types returned when fetching rates. |
service_type required | string Enum: "SAMEDAY" "NEXTDAY" One of the service types returned when fetching rates. |
business_name | string Business name on whose behalf package is being delivered. In the case of a 3PL this would be the merchant business name. Is used in communication with client via SMS, etc. |
required | object (Recipient with Phone) An individual receiving or sending a package. |
required | Recipient with Phone (object) or Recipient with Email (object) (Recipient) An individual receiving or sending a package. |
signature_required | boolean (signatureRequired) The customer must provide their signature on delivery through the driver phone application. Requiring a signature will affect the rate for the delivery For condos:
|
notes | string Specific notes about delivery location for driver. |
order_number | string Order number from client's system. |
shipment_id | string Shipment id for a group of orders from client's system. |
reference | string Reference # or ID on the client side in case of any issues. Primarily to be used by our dispatcher to reach out to client but can also be used by client to attach specific metadata to label. |
reference2 | string Secondary reference # or ID on the client side in case of any issues. Can be used by client to attach specific metadata to label. |
tracking_number | string Optional unique tracking number. If provided, then the tracking number will be set to the given value. Otherwise it will be randomly generated. |
pickup_location_slug | string Identifier for the pickup location of this package. |
{- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "notes": "Ask concierge for elevator access",
- "order_number": "12345ABC",
- "shipment_id": "567890ABC",
- "reference": "order #9000",
- "reference2": "order #9000"
}
{- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
Fetch a label encoded in JSON.
id required | string Label id returned on create. |
{- "id": "bqofiflh5s5id0diioug"
}
{- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
Create a bulk number of labels with a single request. Accepts a maximum of 100 labels per request. Each label will be validated against the label schema, if any do not validate then the request will fail returning the index of the invalid label from the array. If the schema is successful, the labels will be generated and returned as an array of labels, if any of these labels failed to be created due to issues such as address validation, then that row in the returned array will be an error object instead.
Array of objects (CreateLabelsWithPackageType) |
{- "labels": [
- {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "notes": "Ask concierge for elevator access",
- "order_number": "12345ABC",
- "shipment_id": "567890ABC",
- "reference": "order #9000",
- "reference2": "order #9000"
}
]
}
[- {
- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
]
Fetch a single label by id.
id required | string Label id returned on create. |
{- "id": "bqofiflh5s5id0diioug"
}
{- "id": "bqofiflh5s5id0diioug",
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "business_name": "Acme Corporation",
- "origin": {
- "first_name": "Bob",
- "last_name": "Dylan",
- "phone": "416 647 8888",
- "address": {
- "line1": "222 Bay St",
- "city": "Toronto",
- "postal_code": "M5J 2W4",
- "province": "ON",
- "country": "CA"
}
}, - "destination": {
- "first_name": "Elton",
- "last_name": "John",
- "phone": "647 416 8888",
- "address": {
- "line1": "188 University Ave",
- "line2": "Unit 4303",
- "city": "Los Angeles",
- "postal_code": 90210,
- "province": "CA",
- "country": "US"
}
}, - "rate": {
- "package_type": "SMALL",
- "service_type": "SAMEDAY",
- "currency": "CAD",
- "options": [ ],
- "options_total_price": 0,
- "delivery_price": 10,
- "total_price": 10
}, - "notes": "Ask concierge for elevator access",
- "reference": "order #9000",
- "reference2": "order #9000",
- "tracking_number": "9m4e2mr0ui3e8a215n4g",
- "complete_after": "2020-05-06T21:00:00.000Z",
- "complete_before": "2020-05-07T03:00:00.000Z",
- "created_at": "2020-05-06T05:29:19.472Z",
- "updated_at": "2020-05-06T05:29:19.472Z"
}
Get availability of a zip/postal code for delivery based on a pickup location.
pickup_location_slug required | string Identifier for the pickup location |
postal_code required | string Postal/Zip code |
{- "availability": true
}
Get coverage list of zip/postal codes based on a pickup location.
pickup_location_slug required | string Identifier for the pickup location |
{- "coverage_areas": [
- "01730",
- "01731"
]
}