USPS Overview

Please find the documentation for the USPS below.

Supported Methods
Shipping Account  âœ” Ship  âœ” Rate  âœ” Track  âœ” Cancel  âœ” Pickup  âœ” Dopu  âœ” Manifest  âœ” Webhook  âœ”


Authentication

The Zenkraft API uses a bearer token to authenticate. If you do not have one, please contact support.

zkkey : your_api_key
Base URL
https://api.zenkraft.com

/shippingaccount POST

The /shippingaccount endpoint enables you to use your carrier account credentials to create a Shipping Acccount ID in the Zenkraft system. This is used for all future API calls listed below.

POST Request Parameters
Field Possible Values Example
shipping_account object required
auth object Carrier credentials which are specific to each carrier {'client_id': 'Client ID', 'customer_registration_id': 'CRID', 'mailer_id': 'Mailer ID', 'client_secret': 'Client secret', 'manifest_mid': 'Manifest MID', 'account_type': 'Account Type', 'account_number': 'Account Number', 'user_id': 'User ID', 'password': 'Password'}
account_number string Account Number required Account Number
account_type string Account Type Account Type
client_id string Client ID required Client ID
client_secret string Client secret required Client secret
customer_registration_id string CRID required CRID
mailer_id string Mailer ID required Mailer ID
manifest_mid string Manifest MID required Manifest MID
password string Password Password
user_id string User ID User ID
billing_address object
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN BW FJ GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF HK NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL MR US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
carrier string Carrier slug required usps
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
defaults object
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF ERN NPR TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF GEL MYR BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP UGX BDT HRK NOK LAK NAD GGP TWD BHD HTG GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB SAR
dim_units string Dimension units of the packages, inches or centimeters IN CM IN
label_type string Label Type ZPL PDF PNG PDF
packaging_type string Packaging Type your_packaging 3_digit 3_digit_dimensional_rectangular 3_digit_dimensional_nonrectangular 5_digit basic mixed_ndc cubic_pricing_tier_1 cubic_pricing_tier_2 cubic_pricing_tier_3 cubic_pricing_tier_4 cubic_pricing_tier_5 cubic_parcel connect_local_mail ndc scf 5_digit dimensional_nonrectangular dimensional_rectangular priority_mail_express_flat_rate_envelope_post_office_to_addressee priority_mail_express_legal_flat_rate_envelope priority_mail_express_legal_flat_rate_envelope_sunday_holiday legal_flat_rate_envelope medium_flat_rate_box_or_large_flat_rate_bag flat_rate_envelope padded_flat_rate_envelope small_flat_rate_box connect_local_single_piece flat_rate_box large_flat_rate_bag connect_local_oversized small_flat_rate_bag non_presorted oversized cubic_soft_pack_tier_1 cubic_soft_pack_tier_2 cubic_soft_pack_tier_3 cubic_soft_pack_tier_4 cubic_soft_pack_tier_5 cubic_soft_pack_tier_6 cubic_soft_pack_tier_7 cubic_soft_pack_tier_8 cubic_soft_pack_tier_9 cubic_soft_pack_tier_10 priority_mail_express_single_piece large_flat_rate_box large_flat_rate_box_apo_fpo_dpo presorted scf_dimensional_nonrectangular scf_dimensional_rectangular your_packaging
service string Service Type parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
weight_units string Weight units of the packages, pounds or kilograms KG LB LB
location_id string Location ID 0d349ee54a8c4d0dbc61b1a3ac1ab1f4
name string Account name My usps test account
parent_shipping_account string Shipping account key to link this account to. This is useful when you want to create a sub-account
test boolean If you specify test flag and omit `auth` key, we'll try to create a shipping account with our test credentials for the carrier/country combination specified


Successful Response
Field Possible Values Example
shipping_account object
auth object Carrier credentials which are specific to each carrier {'client_id': 'Client ID', 'customer_registration_id': 'CRID', 'mailer_id': 'Mailer ID', 'client_secret': 'Client secret', 'manifest_mid': 'Manifest MID', 'account_type': 'Account Type', 'account_number': 'Account Number', 'user_id': 'User ID', 'password': 'Password'}
account_number string Account Number required Account Number
account_type string Account Type Account Type
client_id string Client ID required Client ID
client_secret string Client secret required Client secret
customer_registration_id string CRID required CRID
mailer_id string Mailer ID required Mailer ID
manifest_mid string Manifest MID required Manifest MID
password string Password Password
user_id string User ID User ID
carrier string Carrier slug required usps
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
defaults object required
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF ERN NPR TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF GEL MYR BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP UGX BDT HRK NOK LAK NAD GGP TWD BHD HTG GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB SAR
dim_units string Dimension units of the packages, inches or centimeters IN CM IN
label_type string Label Type ZPL PDF PNG PDF
packaging_type string Packaging Type your_packaging 3_digit 3_digit_dimensional_rectangular 3_digit_dimensional_nonrectangular 5_digit basic mixed_ndc cubic_pricing_tier_1 cubic_pricing_tier_2 cubic_pricing_tier_3 cubic_pricing_tier_4 cubic_pricing_tier_5 cubic_parcel connect_local_mail ndc scf 5_digit dimensional_nonrectangular dimensional_rectangular priority_mail_express_flat_rate_envelope_post_office_to_addressee priority_mail_express_legal_flat_rate_envelope priority_mail_express_legal_flat_rate_envelope_sunday_holiday legal_flat_rate_envelope medium_flat_rate_box_or_large_flat_rate_bag flat_rate_envelope padded_flat_rate_envelope small_flat_rate_box connect_local_single_piece flat_rate_box large_flat_rate_bag connect_local_oversized small_flat_rate_bag non_presorted oversized cubic_soft_pack_tier_1 cubic_soft_pack_tier_2 cubic_soft_pack_tier_3 cubic_soft_pack_tier_4 cubic_soft_pack_tier_5 cubic_soft_pack_tier_6 cubic_soft_pack_tier_7 cubic_soft_pack_tier_8 cubic_soft_pack_tier_9 cubic_soft_pack_tier_10 priority_mail_express_single_piece large_flat_rate_box large_flat_rate_box_apo_fpo_dpo presorted scf_dimensional_nonrectangular scf_dimensional_rectangular your_packaging
service string Service Type parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
weight_units string Weight units of the packages, pounds or kilograms KG LB LB
id string Shipping account number required 5190163571408896
location_id string Location ID 0d349ee54a8c4d0dbc61b1a3ac1ab1f4
name string Account name My usps test account
parent_shipping_account string Shipping account key to link this account to. This is useful when you want to create a sub-account
test boolean If you specify test flag and omit `auth` key, we'll try to create a shipping account with our test credentials for the carrier/country combination specified


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required shipping_account_not_found shipping_account_wrong_carrier wrong_api_key schema_validation_error unexpected_exception master_test_shipping_account_not_found missing_api_key master_test_shipping_account_not_found
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required Master shipping account for fedex in US does not exist
Example Request / Response
{
    "shipping_account": {
        "name": "Test",
        "carrier": "usps",
        "auth": {
            "client_id": "Client ID",
            "customer_registration_id": "CRID",
            "mailer_id": "Mailer ID",
            "client_secret": "Client secret",
            "manifest_mid": "Manifest MID",
            "account_type": "Account Type",
            "account_number": "Account Number",
            "user_id": "User ID",
            "password": "Password"
        },
        "country": "US",
        "test" : true
    }
}
                curl --request POST \
--url https://api.zenkraft.com/shippingaccount \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "shipping_account": {
        "name": "Test",
        "carrier": "usps",
        "auth": {
            "client_id": "Client ID",
            "customer_registration_id": "CRID",
            "mailer_id": "Mailer ID",
            "client_secret": "Client secret",
            "manifest_mid": "Manifest MID",
            "account_type": "Account Type",
            "account_number": "Account Number",
            "user_id": "User ID",
            "password": "Password"
        },
        "country": "US",
        "test" : true
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "shipping_account": {
        "name": "Test",
        "carrier": "usps",
        "auth": {
            "client_id": "Client ID",
            "customer_registration_id": "CRID",
            "mailer_id": "Mailer ID",
            "client_secret": "Client secret",
            "manifest_mid": "Manifest MID",
            "account_type": "Account Type",
            "account_number": "Account Number",
            "user_id": "User ID",
            "password": "Password"
        },
        "country": "US",
        "test" : true
    }
}
url = "https://api.zenkraft.com/shippingaccount"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
    "shipping_account": {
        "name": "My FedEx test account",
        "carrier": "usps",
        "country": "US",
        "auth": {
            "client_id": "Client ID",
            "customer_registration_id": "CRID",
            "mailer_id": "Mailer ID",
            "client_secret": "Client secret",
            "manifest_mid": "Manifest MID",
            "account_type": "Account Type",
            "account_number": "Account Number",
            "user_id": "User ID",
            "password": "Password"
        },
        "test": false,
        "id": "567293923024"
    }
}

/ship POST

The shipping endpoint is used to book shipments with USPS. It will return a shipping label and tracking number in the response.

POST Request Parameters
Field Possible Values Example
shipment object Definition of the shipment payload required
carrier string the carrier name required usps
combined_labels boolean Optional flag indicating whether package labels should be combined
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF ERN NPR TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF GEL MYR BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP UGX BDT HRK NOK LAK NAD GGP TWD BHD HTG GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB SAR
debug boolean calls with debug=true will be logged
dim_units string Dimension units of the packages, inches or centimeters required IN CM IN
documents array
document string document content
document_type string file format of the document pdf
id string uploaded document ID
include_base64_label boolean If this is enabled, base64 label is returned
label_size string
label_type string the label format of the shipping labels required ZPL PDF PNG PDF
notifications array
type string type of the notification needed email sms email
value string value of the notification notification1@example.com
packages array required
height number height of the package according to units specified under dim_units 5
length number length of the package according to units specified under dim_units. ususally the length needs to be the largest of length, width, height 11
value number value of the package according to currency specified 25
weight number weight of the package according to units specified under weight_units 4.2
width number width of the package according to units specified under dim_units 8.5
packaging string the packaging type required your_packaging your_packaging
recipient object required
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
references array
type string type of reference customer_reference
value string value of the reference ABC-000123
sender object required
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
service string the service type required parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
ship_date string shipping date 2021-06-07
shipping_account string Shipping account number required 5190163571408896
special_services array ship_from_store print_and_deliver_label tracking_plus_6_months tracking_plus_1_year tracking_plus_3_years tracking_plus_5_years tracking_plus_7_years tracking_plus_10_years tracking_plus_signature_3_years tracking_plus_signature_5_years tracking_plus_signature_7_years tracking_plus_signature_10_years hazardous_materials_air_eligible_ethanol hazardous_materials_class_1_toy_propellant_safety_fuse_package hazardous_materials_class_3_flammable_and_combustible_liquids hazardous_materials_class_7_radioactive_materials hazardous_materials_class_8_air_eligible_corrosive_materials hazardous_materials_class_8_nonspillable_wet_batteries hazardous_materials_class_9_lithium_battery_marked_ground_only hazardous_materials_class_9_lithium_battery_returns hazardous_materials_class_9_marked_lithium_batteries hazardous_materials_class_9_dry_ice hazardous_materials_class_9_unmarked_lithium_batteries hazardous_materials_class_9_magnetized_materials hazardous_materials_division_4_1_mailable_flammable_solids_and_safety_matches hazardous_materials_division_5_1_oxidizers hazardous_materials_division_5_2_organic_peroxides hazardous_materials_division_6_1_toxic_materials hazardous_materials_division_6_2_biological_materials hazardous_materials_excepted_quantity_provision hazardous_materials_ground_only_hazardous_materials hazardous_materials_air_eligible_id_8000_consumer_commodity hazardous_materials_lighters hazardous_materials_limited_quantity_ground hazardous_materials_small_quantity_provision_markings_required hazardous_materials certified_mail certified_mail_restricted_delivery certified_mail_adult_signature_required certified_mail_adult_signature_restricted_delivery usps_tracking_electronic signature_confirmation adult_signature adult_signature_restricted_delivery signature_confirmation_restricted_delivery insurance insurance_restricted_delivery return_receipt return_receipt_electronic signature_requested po_to_addressee [ship_from_store ]
test boolean calls created with test = true will be directed to the carrier test servers
type string outbound or return shipments outbound return outbound
weight_units string Weight units of the packages, pounds or kilograms required KG LB LB


Successful Response
Most important parts of the response:
  • tracking_number which can be used to track the shipments in the track endpoint
  • label for each package which needs to be printed and attached to the shipment
Field Possible Values Example
shipment object
context object this object can contain custom data returned by the carrier
costs object Additional information about packages
base_charge number gross amount 100
discounts number the cost of discounts applied 0
net_charge number net amount 80
surcharges number additional fees 0
taxes number the cost of taxes 20
id string shipment ID 1f02d12868a54ed88b6cb4dafaad325d
label_size string
packages array
height number height of the package according to units specified under dim_units 5
label string base64 label if you specify include_base64_label flag in your request or an URL to the generated label
length number length of the package according to units specified under dim_units. ususally the length needs to be the largest of length, width, height 11
tracking_number string Tracking number of shipment 567293923024
value number value of the package according to currency specified 25
weight number weight of the package according to units specified under weight_units 4.2
width number width of the package according to units specified under dim_units 8.5
shipping_documents object Additional information about packages
description string description of this customs item required Commercial Invoice
document string base64 document contents required
document_type string file format of the document required PDF
special_services object ship_from_store print_and_deliver_label tracking_plus_6_months tracking_plus_1_year tracking_plus_3_years tracking_plus_5_years tracking_plus_7_years tracking_plus_10_years tracking_plus_signature_3_years tracking_plus_signature_5_years tracking_plus_signature_7_years tracking_plus_signature_10_years hazardous_materials_air_eligible_ethanol hazardous_materials_class_1_toy_propellant_safety_fuse_package hazardous_materials_class_3_flammable_and_combustible_liquids hazardous_materials_class_7_radioactive_materials hazardous_materials_class_8_air_eligible_corrosive_materials hazardous_materials_class_8_nonspillable_wet_batteries hazardous_materials_class_9_lithium_battery_marked_ground_only hazardous_materials_class_9_lithium_battery_returns hazardous_materials_class_9_marked_lithium_batteries hazardous_materials_class_9_dry_ice hazardous_materials_class_9_unmarked_lithium_batteries hazardous_materials_class_9_magnetized_materials hazardous_materials_division_4_1_mailable_flammable_solids_and_safety_matches hazardous_materials_division_5_1_oxidizers hazardous_materials_division_5_2_organic_peroxides hazardous_materials_division_6_1_toxic_materials hazardous_materials_division_6_2_biological_materials hazardous_materials_excepted_quantity_provision hazardous_materials_ground_only_hazardous_materials hazardous_materials_air_eligible_id_8000_consumer_commodity hazardous_materials_lighters hazardous_materials_limited_quantity_ground hazardous_materials_small_quantity_provision_markings_required hazardous_materials certified_mail certified_mail_restricted_delivery certified_mail_adult_signature_required certified_mail_adult_signature_restricted_delivery usps_tracking_electronic signature_confirmation adult_signature adult_signature_restricted_delivery signature_confirmation_restricted_delivery insurance insurance_restricted_delivery return_receipt return_receipt_electronic signature_requested po_to_addressee [ship_from_store ]
tracking_number string Tracking number of shipment 567293923024


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found invalid_phone_number shipping_account_wrong_carrier wrong_api_key carrier_label_generation_failed carrier_exception ship_date_past schema_validation_error carrier_timeout carrier_shipment_generation_failed carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required FedEx API: The origin country code XX could not be found. Please check the country code.
Service Types
Name API value Code Domestic / international
Parcel Select parcel_select âžž PARCEL_SELECT
USPS Ground Advantage usps_ground_advantage âžž USPS_GROUND_ADVANTAGE
Parcel Select Lightweight parcel_select_lightweight âžž PARCEL_SELECT_LIGHTWEIGHT
Usps Connect Local usps_connect_local âžž USPS_CONNECT_LOCAL
Usps Connect Regional usps_connect_regional âžž USPS_CONNECT_REGIONAL
Usps Connect Mail usps_connect_mail âžž USPS_CONNECT_MAIL
Priority Mail Express priority_mail_express âžž PRIORITY_MAIL_EXPRESS
Priority Mail priority_mail âžž PRIORITY_MAIL
First Class Package Service first_class_package_service âžž FIRST-CLASS_PACKAGE_SERVICE
Library Mail library_mail âžž LIBRARY_MAIL
Media Mail media_mail âžž MEDIA_MAIL
Bound Printed Matter bound_printed_matter âžž BOUND_PRINTED_MATTER
First Class Package International Service first_class_package_international_service âžž FIRST-CLASS_PACKAGE_INTERNATIONAL_SERVICE
Priority Mail International priority_mail_international âžž PRIORITY_MAIL_INTERNATIONAL
Priority Mail Express International priority_mail_express_international âžž PRIORITY_MAIL_EXPRESS_INTERNATIONAL
USPS Ground Advantage Machinable Cubic Soft Pack Tier 2 usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none âžž USPS_GROUND_ADVANTAGE
Parcel Select Machinable DDU Single-piece parcel_select|your_packaging|machinable|ddu âžž PARCEL_SELECT
Parcel Select Machinable DNDC Single-piece parcel_select|your_packaging|machinable|dndc âžž PARCEL_SELECT
Parcel Select Machinable DSCF SCF parcel_select|your_packaging|machinable|dscf âžž PARCEL_SELECT
Parcel Select Machinable DHUB Single-piece parcel_select|your_packaging|machinable|dhub âžž PARCEL_SELECT
Connect Local Machinable DDU Small Flat Rate Bag connect_local|small_flat_rate_bag|machinable|ddu âžž CONNECT_LOCAL
Connect Local Machinable DDU Large Flat Rate Bag connect_local|large_flat_rate_bag|machinable|ddu âžž CONNECT_LOCAL
Connect Local Machinable DDU Flat Rate Box connect_local|flat_rate_box|machinable|ddu âžž CONNECT_LOCAL
Connect Local Machinable DDU connect_local|your_packaging|machinable|ddu âžž CONNECT_LOCAL
Bound Printed Matter Machinable DNDC Presorted bound_printed_matter|presorted|machinable|dndc âžž BOUND_PRINTED_MATTER
Bound Printed Matter Machinable DDU Presorted bound_printed_matter|presorted|machinable|ddu âžž BOUND_PRINTED_MATTER
Bound Printed Matter Machinable Presorted bound_printed_matter|presorted|machinable|none âžž BOUND_PRINTED_MATTER
Bound Printed Matter Machinable DSCF Presorted bound_printed_matter|presorted|machinable|dscf âžž BOUND_PRINTED_MATTER
Bound Printed Matter Irregular DNDC Presorted bound_printed_matter|presorted|irregular|dndc âžž BOUND_PRINTED_MATTER
Bound Printed Matter Irregular DDU Presorted bound_printed_matter|presorted|irregular|ddu âžž BOUND_PRINTED_MATTER
Bound Printed Matter Irregular Presorted bound_printed_matter|presorted|irregular|none âžž BOUND_PRINTED_MATTER
Bound Printed Matter Irregular DSCF Presorted bound_printed_matter|presorted|irregular|dscf âžž BOUND_PRINTED_MATTER
Library Mail Machinable Basic library_mail|basic|machinable|none âžž LIBRARY_MAIL
Library Mail Irregular Basic library_mail|basic|irregular|none âžž LIBRARY_MAIL
Media Mail Machinable Basic media_mail|basic|machinable|none âžž MEDIA_MAIL
Media Mail Machinable 5-digit media_mail|5_digit|machinable|none âžž MEDIA_MAIL
Media Mail Irregular Basic media_mail|basic|irregular|none âžž MEDIA_MAIL
Media Mail Irregular 5-digit media_mail|5_digit|irregular|none âžž MEDIA_MAIL
Priority Mail Flat Rate Envelope priority_mail|flat_rate_envelope|machinable|none âžž PRIORITY_MAIL
Priority Mail Padded Flat Rate Envelope priority_mail|padded_flat_rate_envelope|machinable|none âžž PRIORITY_MAIL
Priority Mail Legal Flat Rate Envelope priority_mail|legal_flat_rate_envelope|machinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Flat Rate Envelope priority_mail|flat_rate_envelope|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Padded Flat Rate Envelope priority_mail|padded_flat_rate_envelope|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Small Flat Rate Box priority_mail|small_flat_rate_box|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Medium Flat Rate Box priority_mail|flat_rate_box|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Large Flat Rate Box priority_mail|large_flat_rate_box|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Nonmachinable Single-piece priority_mail|your_packaging|nonmachinable|none âžž PRIORITY_MAIL
Priority Mail Machinable Cubic Soft Pack Tier 1 priority_mail|cubic_soft_pack_tier_1|machinable|none âžž PRIORITY_MAIL
Priority Mail Express Flat Rate Envelope priority_mail_express|flat_rate_envelope|machinable|none âžž PRIORITY_MAIL_EXPRESS
Priority Mail Express Padded Flat Rate Envelope priority_mail_express|padded_flat_rate_envelope|machinable|none âžž PRIORITY_MAIL_EXPRESS
Priority Mail Express Legal Flat Rate Envelope priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none âžž PRIORITY_MAIL_EXPRESS
Priority Mail Express Nonmachinable Flat Rate Envelope priority_mail_express|flat_rate_envelope|nonmachinable|none âžž PRIORITY_MAIL_EXPRESS
Priority Mail Express Nonmachinable Padded Flat Rate Envelope priority_mail_express|padded_flat_rate_envelope|nonmachinable|none âžž PRIORITY_MAIL_EXPRESS
Priority Mail Express Nonmachinable Single-piece priority_mail_express|your_packaging|nonmachinable|none âžž PRIORITY_MAIL_EXPRESS
USPS Ground Advantage Nonmachinable Single-piece usps_ground_advantage|your_packaging|nonmachinable|none âžž USPS_GROUND_ADVANTAGE
USPS Ground Advantage Machinable Cubic Soft Pack Tier 1 usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none âžž USPS_GROUND_ADVANTAGE
Parcel Select Nonmachinable DDU Single-piece parcel_select|your_packaging|nonmachinable|ddu âžž PARCEL_SELECT
Parcel Select Nonmachinable DNDC Single-piece parcel_select|your_packaging|nonmachinable|dndc âžž PARCEL_SELECT
Parcel Select Nonmachinable DSCF SCF parcel_select|your_packaging|nonmachinable|dscf âžž PARCEL_SELECT
Parcel Select Nonmachinable DHUB Single-piece parcel_select|your_packaging|nonmachinable|dhub âžž PARCEL_SELECT
Connect Local Nonmachinable DDU connect_local|your_packaging|nonmachinable|ddu âžž CONNECT_LOCAL
Bound Printed Matter Nonmachinable DNDC Presorted bound_printed_matter|presorted|nonmachinable|dndc âžž BOUND_PRINTED_MATTER
Bound Printed Matter Nonmachinable DDU Presorted bound_printed_matter|presorted|nonmachinable|ddu âžž BOUND_PRINTED_MATTER
Bound Printed Matter Nonmachinable Presorted bound_printed_matter|presorted|nonmachinable|none âžž BOUND_PRINTED_MATTER
Bound Printed Matter Nonmachinable DSCF Presorted bound_printed_matter|presorted|nonmachinable|dscf âžž BOUND_PRINTED_MATTER
Library Mail Nonmachinable Basic library_mail|basic|nonmachinable|none âžž LIBRARY_MAIL
Media Mail Nonmachinable Basic media_mail|basic|nonmachinable|none âžž MEDIA_MAIL
Media Mail Nonmachinable 5-digit media_mail|5_digit|nonmachinable|none âžž MEDIA_MAIL
Show more

Packaging Types
Name API value Domestic / international
Single Piece your_packaging âžž
3-Digit 3_digit âžž
3-Digit Dimensional Rectangular 3_digit_dimensional_rectangular âžž
3-Digit Dimensional Nonrectangular 3_digit_dimensional_nonrectangular âžž
5-Digit 5_digit âžž
Basic basic âžž
Mixed NDC mixed_ndc âžž
Cubic Pricing Tier 1 cubic_pricing_tier_1 âžž
Cubic Pricing Tier 2 cubic_pricing_tier_2 âžž
Cubic Pricing Tier 3 cubic_pricing_tier_3 âžž
Cubic Pricing Tier 4 cubic_pricing_tier_4 âžž
Cubic Pricing Tier 5 cubic_pricing_tier_5 âžž
Cubic Parcel cubic_parcel âžž
Connect Local Mail connect_local_mail âžž
NDC ndc âžž
SCF scf âžž
5-Digit 5_digit âžž
Dimensional Nonrectangular dimensional_nonrectangular âžž
Dimensional Rectangular dimensional_rectangular âžž
Priority Mail Express Flat Rate Envelope - Post Office To Addressee priority_mail_express_flat_rate_envelope_post_office_to_addressee âžž
Priority Mail Express Legal Flat Rate Envelope priority_mail_express_legal_flat_rate_envelope âžž
Priority Mail Express Legal Flat Rate Envelope Sunday / Holiday priority_mail_express_legal_flat_rate_envelope_sunday_holiday âžž
Legal Flat Rate Envelope legal_flat_rate_envelope âžž
Medium Flat Rate Box/Large Flat Rate Bag medium_flat_rate_box_or_large_flat_rate_bag âžž
Flat Rate Envelope flat_rate_envelope âžž
Padded Flat Rate Envelope padded_flat_rate_envelope âžž
Small Flat Rate Box small_flat_rate_box âžž
Connect Local Single Piece connect_local_single_piece âžž
Flat Rate Box flat_rate_box âžž
Large Flat Rate Bag large_flat_rate_bag âžž
Connect Local Oversized connect_local_oversized âžž
Small Flat Rate Bag small_flat_rate_bag âžž
Non-Presorted non_presorted âžž
Oversized oversized âžž
Cubic Soft Pack Tier 1 cubic_soft_pack_tier_1 âžž
Cubic Soft Pack Tier 2 cubic_soft_pack_tier_2 âžž
Cubic Soft Pack Tier 3 cubic_soft_pack_tier_3 âžž
Cubic Soft Pack Tier 4 cubic_soft_pack_tier_4 âžž
Cubic Soft Pack Tier 5 cubic_soft_pack_tier_5 âžž
Cubic Soft Pack Tier 6 cubic_soft_pack_tier_6 âžž
Cubic Soft Pack Tier 7 cubic_soft_pack_tier_7 âžž
Cubic Soft Pack Tier 8 cubic_soft_pack_tier_8 âžž
Cubic Soft Pack Tier 9 cubic_soft_pack_tier_9 âžž
Cubic Soft Pack Tier 10 cubic_soft_pack_tier_10 âžž
Priority Mail Express Single Piece priority_mail_express_single_piece âžž
Large Flat Rate Box large_flat_rate_box âžž
Large Flat Rate Box APO/FPO/DPO large_flat_rate_box_apo_fpo_dpo âžž
Presorted presorted âžž
SCF Dimensional Nonrectangular scf_dimensional_nonrectangular âžž
SCF Dimensional Rectangular scf_dimensional_rectangular âžž

Billing Fields
Name API value Domestic / international

Special Services
Name API value Code
Ship from Store ship_from_store ship_from_store
Print and Deliver Label print_and_deliver_label 415
Tracking Plus 6 Months tracking_plus_6_months 480
Tracking Plus 1 Year tracking_plus_1_year 481
Tracking Plus 3 Years tracking_plus_3_years 482
Tracking Plus 5 Years tracking_plus_5_years 483
Tracking Plus 7 Years tracking_plus_7_years 484
Tracking Plus 10 Years tracking_plus_10_years 485
Tracking Plus Signature 3 Years tracking_plus_signature_3_years 486
Tracking Plus Signature 5 Years tracking_plus_signature_5_years 487
Tracking Plus Signature 7 Years tracking_plus_signature_7_years 488
Tracking Plus Signature 10 Years tracking_plus_signature_10_years 489
Hazardous Materials - Air Eligible Ethanol hazardous_materials_air_eligible_ethanol 810
Hazardous Materials - Class 1 - Toy Propellant/Safety Fuse Package hazardous_materials_class_1_toy_propellant_safety_fuse_package 811
Hazardous Materials - Class 3 - Flammable and Combustible Liquids hazardous_materials_class_3_flammable_and_combustible_liquids 812
Hazardous Materials - Class 7 - Radioactive Materials hazardous_materials_class_7_radioactive_materials 813
Hazardous Materials - Class 8 - Air Eligible Corrosive Materials hazardous_materials_class_8_air_eligible_corrosive_materials 814
Hazardous Materials - Class 8 - Nonspillable Wet Batteries hazardous_materials_class_8_nonspillable_wet_batteries 815
Hazardous Materials - Class 9 - Lithium Battery Marked Ground Only hazardous_materials_class_9_lithium_battery_marked_ground_only 816
Hazardous Materials - Class 9 - Lithium Battery Returns hazardous_materials_class_9_lithium_battery_returns 817
Hazardous Materials - Class 9 - Marked Lithium Batteries hazardous_materials_class_9_marked_lithium_batteries 818
Hazardous Materials - Class 9 - Dry Ice hazardous_materials_class_9_dry_ice 819
Hazardous Materials - Class 9 - Unmarked Lithium Batteries hazardous_materials_class_9_unmarked_lithium_batteries 820
Hazardous Materials - Class 9 - Magnetized Materials hazardous_materials_class_9_magnetized_materials 821
Hazardous Materials - Division 4.1 - Mailable Flammable Solids and Safety Matches hazardous_materials_division_4_1_mailable_flammable_solids_and_safety_matches 822
Hazardous Materials - Division 5.1 - Oxidizers hazardous_materials_division_5_1_oxidizers 823
Hazardous Materials - Division 5.2 - Organic Peroxides hazardous_materials_division_5_2_organic_peroxides 824
Hazardous Materials - Division 6.1 - Toxic Materials hazardous_materials_division_6_1_toxic_materials 825
Hazardous Materials - Division 6.2 Biological Materials hazardous_materials_division_6_2_biological_materials 826
Hazardous Materials - Excepted Quantity Provision hazardous_materials_excepted_quantity_provision 827
Hazardous Materials - Ground Only Hazardous Materials hazardous_materials_ground_only_hazardous_materials 828
Hazardous Materials - Air Eligible ID8000 Consumer Commodity hazardous_materials_air_eligible_id_8000_consumer_commodity 829
Hazardous Materials - Lighters hazardous_materials_lighters 830
Hazardous Materials - Limited Quantity Ground hazardous_materials_limited_quantity_ground 831
Hazardous Materials - Small Quantity Provision (Markings Required) hazardous_materials_small_quantity_provision_markings_required 832
Hazardous Materials hazardous_materials 857
Certified Mail certified_mail 910
Certified Mail Restricted Delivery certified_mail_restricted_delivery 911
Certified Mail Adult Signature Required certified_mail_adult_signature_required 912
Certified Mail Adult Signature Restricted Delivery certified_mail_adult_signature_restricted_delivery 913
USPS Tracking Electronic usps_tracking_electronic 920
Signature Confirmation signature_confirmation 921
Adult Signature adult_signature 922
Adult Signature Restricted Delivery adult_signature_restricted_delivery 923
Signature Confirmation Restricted Delivery signature_confirmation_restricted_delivery 924
Insurance insurance 930
Insurance Restricted Delivery insurance_restricted_delivery 934
Return Receipt return_receipt 955
Return Receipt Electronic return_receipt_electronic 957
Signature Requested signature_requested 981
PO to Addressee po_to_addressee 986

Package Special Services
Name API value Code
Please contact us for package special services.

Custom Fields
Name API value Possible Values Required
Ignore Address Validation ignore_address_validation False
Customer ID customer_id False
Destination Entry Facility Type destination_entry_facility_type none, destination_network_distribution_center, destination_sectional_center_facility, destination_delivery_unit, destination_service_hub False
Processing Category processing_category flats, machinable, irregular, nonmachinable False
Price Type price_type retail, commercial, commercial_plus, nsa False

Customs
Name API value Possible Values Node Required
AESITN aesitn shipment True
Certificate Number certificate_number shipment False
Customs Content Type customs_content_type merchandise, gift, document, commercial_sample, returned_goods, other, humanitarian_donations, dangerous_goods, cremated_remains, non_negotiable_document, medical_supplies, pharmaceuticals shipment True
Invoice Number invoice_number shipment False
License Number license_number shipment False
Restriction Type restriction_type quarantine, sanitary_inspection, phytosanitary_inspection, other shipment False
Manufacture Country Code manufacture_country_code customs_item True
Description description customs_item True
Weight weight customs_item True
Value value customs_item False

References
Name API value Code
Customer Reference 1 customer_reference_1 customer_reference_1
Customer Reference 2 customer_reference_2 customer_reference_2
Example Request / Response
{
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}
                curl --request POST \
--url https://api.zenkraft.com/ship \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}
url = "https://api.zenkraft.com/ship"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "shipment": {
    "carrier": "usps",
    "shipping_account": "5190163571408896",
    "test": true,
    "debug": false,
    "ship_date": "2026-02-12",
    "type": "outbound",
    "combined_labels": false,
    "service": "parcel_select",
    "special_services": [
      "saturday_delivery"
    ],
    "packaging": "your_packaging",
    "dim_units": "IN",
    "weight_units": "LB",
    "currency": "USD",
    "sender": {
      "name": "Jack O'Rogers",
      "company": "Burlington Textiles Corp of America",
      "street1": "525 S. ZENKRAFT Ave",
      "street2": "suite 120",
      "email": "jrogers@example.com",
      "phone": "(336) 222-7000",
      "city": "Burlington",
      "state": "NC",
      "postal_code": "27215",
      "country": "US"
    },
    "recipient": {
      "name": "Jack O'Rogers",
      "company": "Burlington Textiles Corp of America",
      "street1": "525 S. ZENKRAFT Ave",
      "street2": "suite 120",
      "email": "jrogers@example.com",
      "phone": "(336) 222-7000",
      "city": "Burlington",
      "state": "NC",
      "postal_code": "27215",
      "country": "US"
    },
    "packages": [
      {
        "weight": 4.2,
        "value": 25,
        "length": 11,
        "width": 8.5,
        "height": 5,
        "tracking_number": "567293923024",
        "label": "string"
      }
    ],
    "label_type": "PDF",
    "include_base64_label": false,
    "references": [
      {
        "type": "customer_reference",
        "value": "ABC-000123"
      }
    ],
    "notifications": [
      {
        "type": "email",
        "value": "notification1@example.com"
      }
    ],
    "costs": {
      "base_charge": 100,
      "net_charge": 80,
      "taxes": 20,
      "surcharges": 0,
      "discounts": 0
    },
    "id": "1f02d12868a54ed88b6cb4dafaad325d",
    "tracking_number": "567293923024",
    "shipping_documents": [{
      "description": "Commercial Invoice",
      "document_type": "PDF",
      "document": "string"
    }],
    "context": {}
  }
}

/ship GET

This endpoint allows you to retrieve previously created shipments

GET Request Parameters
Field Possible Values Example
shipment_id object ID of the previously created shipment returned from POST on /ship required


Successful Response
Field Possible Values Example
shipment object
carrier string the carrier name usps
created string when was this object created 2021-06-02T07:22:43.000
id string shipment ID 1f02d12868a54ed88b6cb4dafaad325d
label string base64 label
label_type string the label format of the shipping labels ZPL PDF PNG PDF
shipping_account string Shipping account number 5190163571408896
status string Standardized shipment status pending success success
tracking_number string Tracking number of shipment 567293923024
updated string when was this object updated 2021-06-02T13:10:02.000


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found carrier_no_shipment_found shipping_account_wrong_carrier wrong_api_key carrier_label_generation_failed carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required DHL Global Forwarding API: Your shipment was rejected due to an unpaid invoice on your previous shipment. Contact DHL support to resolve the issue.
Example Request / Response
https://api.zenkraft.com/ship/b87ff34556ec4dba9e724963216d2dd7
                curl --request GET \
--url https://api.zenkraft.com/ship/b87ff34556ec4dba9e724963216d2dd7 \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = None
url = "https://api.zenkraft.com/ship/b87ff34556ec4dba9e724963216d2dd7"

response = requests.request(url=url, method='GET', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "shipment": {
    "carrier": "usps",
    "shipping_account": "5190163571408896",
    "test": true,
    "debug": false,
    "ship_date": "2026-02-12",
    "type": "outbound",
    "combined_labels": false,
    "service": "parcel_select",
    "special_services": [
      "saturday_delivery"
    ],
    "packaging": "your_packaging",
    "dim_units": "IN",
    "weight_units": "LB",
    "currency": "USD",
    "sender": {
      "name": "Jack O'Rogers",
      "company": "Burlington Textiles Corp of America",
      "street1": "525 S. ZENKRAFT Ave",
      "street2": "suite 120",
      "email": "jrogers@example.com",
      "phone": "(336) 222-7000",
      "city": "Burlington",
      "state": "NC",
      "postal_code": "27215",
      "country": "US"
    },
    "recipient": {
      "name": "Jack O'Rogers",
      "company": "Burlington Textiles Corp of America",
      "street1": "525 S. ZENKRAFT Ave",
      "street2": "suite 120",
      "email": "jrogers@example.com",
      "phone": "(336) 222-7000",
      "city": "Burlington",
      "state": "NC",
      "postal_code": "27215",
      "country": "US"
    },
    "packages": [
      {
        "weight": 4.2,
        "value": 25,
        "length": 11,
        "width": 8.5,
        "height": 5,
        "tracking_number": "567293923024",
        "label": "string"
      }
    ],
    "label_type": "PDF",
    "include_base64_label": false,
    "references": [
      {
        "type": "customer_reference",
        "value": "ABC-000123"
      }
    ],
    "notifications": [
      {
        "type": "email",
        "value": "notification1@example.com"
      }
    ],
    "costs": {
      "base_charge": 100,
      "net_charge": 80,
      "taxes": 20,
      "surcharges": 0,
      "discounts": 0
    },
    "id": "1f02d12868a54ed88b6cb4dafaad325d",
    "tracking_number": "567293923024",
    "shipping_documents": [{
      "description": "Commercial Invoice",
      "document_type": "PDF",
      "document": "string"
    }],
    "context": {}
  }
}

/rate POST

The rating endpoint is used to return estimated costs & time in transit data from the carrier. Zenkraft normalize this data across carriers providing a standardized date and cost format from the carriers (where the functionality is supported).

POST Request Parameters
Field Possible Values Example
shipment object Definition of the shipment payload required
carrier string the carrier name required usps
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF ERN NPR TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF GEL MYR BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP UGX BDT HRK NOK LAK NAD GGP TWD BHD HTG GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB SAR
debug boolean calls with debug=true will be logged
dim_units string Dimension units of the packages, inches or centimeters required IN CM IN
packages array required
height number height of the package according to units specified under dim_units 5
length number length of the package according to units specified under dim_units. ususally the length needs to be the largest of length, width, height 11
value number value of the package according to currency specified 25
weight number weight of the package according to units specified under weight_units 4.2
width number width of the package according to units specified under dim_units 8.5
packaging string the packaging type required your_packaging your_packaging
recipient object required
city string the city of the recipient Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
sender object required
city string the city of the recipient Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
service string if you specify the service type, you'll get rates only for this service parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
ship_date string shipping date 2021-06-07
shipping_account string Shipping account number required 5190163571408896
special_services array ship_from_store print_and_deliver_label tracking_plus_6_months tracking_plus_1_year tracking_plus_3_years tracking_plus_5_years tracking_plus_7_years tracking_plus_10_years tracking_plus_signature_3_years tracking_plus_signature_5_years tracking_plus_signature_7_years tracking_plus_signature_10_years hazardous_materials_air_eligible_ethanol hazardous_materials_class_1_toy_propellant_safety_fuse_package hazardous_materials_class_3_flammable_and_combustible_liquids hazardous_materials_class_7_radioactive_materials hazardous_materials_class_8_air_eligible_corrosive_materials hazardous_materials_class_8_nonspillable_wet_batteries hazardous_materials_class_9_lithium_battery_marked_ground_only hazardous_materials_class_9_lithium_battery_returns hazardous_materials_class_9_marked_lithium_batteries hazardous_materials_class_9_dry_ice hazardous_materials_class_9_unmarked_lithium_batteries hazardous_materials_class_9_magnetized_materials hazardous_materials_division_4_1_mailable_flammable_solids_and_safety_matches hazardous_materials_division_5_1_oxidizers hazardous_materials_division_5_2_organic_peroxides hazardous_materials_division_6_1_toxic_materials hazardous_materials_division_6_2_biological_materials hazardous_materials_excepted_quantity_provision hazardous_materials_ground_only_hazardous_materials hazardous_materials_air_eligible_id_8000_consumer_commodity hazardous_materials_lighters hazardous_materials_limited_quantity_ground hazardous_materials_small_quantity_provision_markings_required hazardous_materials certified_mail certified_mail_restricted_delivery certified_mail_adult_signature_required certified_mail_adult_signature_restricted_delivery usps_tracking_electronic signature_confirmation adult_signature adult_signature_restricted_delivery signature_confirmation_restricted_delivery insurance insurance_restricted_delivery return_receipt return_receipt_electronic signature_requested po_to_addressee [ship_from_store ]
test boolean calls created with test = true will be directed to the carrier test servers
type string outbound or return shipments outbound return outbound
weight_units string Weight units of the packages, pounds or kilograms required KG LB LB


Successful Response
Field Possible Values Example
rates array
currency string USD AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BRL BSD BTN BWP BYN BZD CAD CDF CHF CLP CNY COP CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GGP GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS IMP INR IQD IRR ISK JEP JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SPL SRD STN SVC SYP SZL THB TJS TMT TND TOP TRY TTD TVD TWD TZS UAH UGX UYU UZS VEF VND VUV WST XAF XCD XDR XOF XPF YER ZAR ZMW ZWD
delivery_day string Day of the week of the delivery. This field is optional depending on the carrier Mon
estimated_date string Number of days to ship. This field is optional depending on the carrier 2021-06-04
service_name string carrier supplied name of this service FedEx Freight
service_type string service slug which can be used when selecting a service in /ship parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
total_cost string total estimated price for this shipment 192.16
transit_days integer Number of days to ship. This field is optional depending on the carrier 3


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found shipping_account_wrong_carrier wrong_api_key ship_date_past carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required FedEx API: The origin country code XX could not be found. Please check the country code.
Example Request / Response
{
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}
                curl --request POST \
--url https://api.zenkraft.com/rate \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "shipment": {
        "carrier": "usps",
        "currency": "GBP",
        "debug": true,
        "dim_units": "CM",
        "include_base64_label": true,
        "label_type": "ZPL",
        "packages": [
            {
                "height": 1,
                "length": 1,
                "value": 1,
                "weight": 1,
                "width": 1
            }
        ],
        "packaging": "your_packaging",
        "recipient": {
            "city": "london",
            "company": "Zenkraft User",
            "country": "GB",
            "email": "testexample@gmail.com",
            "name": "Test User",
            "phone": "01222 555 555",
            "postal_code": "EC1R 4UG",
            "state": "",
            "street1": "1 Hardwick Street"
        },
        "sender": {
            "city": "Bath",
            "company": "TestCompany",
            "country": "GB",
            "email": "uk@testing.com",
            "name": "TestCompany Name",
            "phone": "",
            "postal_code": "EC2R 6PJ",
            "street1": "30 Moorgate"
        },
        "service": "parcel_select",
        "ship_date": "2026-02-12",
        "shipping_account": "811195730",
        "test": true,
        "type": "outbound",
        "weight_units": "KG",
        "aesitn": "AESITN",
        "certificate_number": "Certificate Number",
        "customs_content_type": "merchandise",
        "invoice_number": "Invoice Number",
        "license_number": "License Number",
        "restriction_type": "quarantine",
        "customs_items": [
            {
                "manufacture_country_code": "Manufacture Country Code",
                "description": "Description",
                "weight": 10.1,
                "value": 10.1
            }
        ],
        "references": [
            {
                "type": "customer_reference_1",
                "value": "Customer Reference 1"
            },
            {
                "type": "customer_reference_2",
                "value": "Customer Reference 2"
            }
        ],
        "special_services": [
            "ship_from_store"
        ]
    }
}
url = "https://api.zenkraft.com/rate"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "rates": [
    {
      "currency": "USD",
      "service_name": "Express",
      "service_type": "parcel_select",
      "total_cost": "192.16",
      "estimated_date": "2026-02-12",
      "delivery_day": "Mon",
      
      "transit_days": 3
    }
  ]
}

/track POST

The track endpoint is used to track shipment status as it's being delivered.

POST Request Parameters
Field Possible Values Example
track object required
carrier string the carrier name required usps
checkpoints boolean whether to include checkpoint events in the response or not
debug boolean calls with debug=true will be logged
refresh boolean whether to force calling live carrier API. By default, we might return a fresh result from the cache
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers
tracking_number string Tracking number of shipment required 567293923024
webhooks boolean whether to allow webhook functionality for this shipment


Successful Response
Field Possible Values Example
carrier string the carrier name usps
checkpoints array
description string Delivered to a mailbox
status string the most recent important status description Delivered to a mailbox
time string 2021-06-07T10:46:07.000+1000
tracking_stage string the most recent important status standardized shipment stage CREATION_PENDING CREATED PICKED_UP IN_TRANSIT OUT_FOR_DELIVERY DRIVER_ASSIGNED CHECKED_IN DELIVERED SHIPMENT_VOIDED EXCEPTION DELIVERED
delivered boolean whether the shipment was successfully delivered
delivery_date string delivery date of this shipment 2021-06-07T00:00:00.000Z
estimated_delivery string estimated delivery date of this shipment 2021-06-07T00:00:00.000Z
status string the most recent important status description Delivered to a mailbox
tracking_number string Tracking number of shipment 567293923024
tracking_stage string the most recent important status standardized shipment stage CREATION_PENDING CREATED PICKED_UP IN_TRANSIT OUT_FOR_DELIVERY DRIVER_ASSIGNED CHECKED_IN DELIVERED SHIPMENT_VOIDED EXCEPTION DELIVERED


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found carrier_no_shipment_found shipping_account_wrong_carrier wrong_api_key carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_no_shipment_found
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required FedEx API: No shipment found with tracking number: 567293923024
Example Request / Response
{
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
}
                curl --request POST \
--url https://api.zenkraft.com/track \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
}
url = "https://api.zenkraft.com/track"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "carrier": "usps",
  "delivered": true,
  "estimated_delivery": "2021-06-07T00:00:00.000Z",
  "delivery_date": "2021-06-07T00:00:00.000Z",
  "tracking_number": "567293923024",
  "status": "Delivered to a mailbox",
  "tracking_stage": "DELIVERED",
  "checkpoints": [
    {
      "description": "Delivered to a mailbox",
      "status": "Delivered to a mailbox",
      "tracking_stage": "DELIVERED",
      "time": "2021-06-07T10:46:07.000+1000"
    }
  ]
}

Batch tracking

You can pass several track objects into your API request to get results.
Request and response details are the same and can be checked here.

Example Request / Response
[
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  },
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  }
]
                curl --request POST \
--url https://api.zenkraft.com/track \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '[
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  },
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  }
]'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = [
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  },
  {
    "track": {
      "test":false,
      "carrier": "usps",
      "shipping_account": 00000000000000,
      "tracking_number": "1Z7881280399212000"
    }
  }
]
url = "https://api.zenkraft.com/track"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
[
  {
    "carrier": "usps",
    "delivered": true,
    "estimated_delivery": "2021-06-07T00:00:00.000Z",
    "delivery_date": "2021-06-07T00:00:00.000Z",
    "tracking_number": "567293923024",
    "status": "Delivered to a mailbox",
    "tracking_stage": "DELIVERED",
    "checkpoints": [
      {
        "description": "Delivered to a mailbox",
        "status": "Delivered to a mailbox",
        "tracking_stage": "DELIVERED",
        "time": "2021-06-07T10:46:07.000+1000"
      }
    ]
  },
  {
    "carrier": "usps",
    "delivered": true,
    "estimated_delivery": "2021-06-07T00:00:00.000Z",
    "delivery_date": "2021-06-07T00:00:00.000Z",
    "tracking_number": "567293923024",
    "status": "Delivered to a mailbox",
    "tracking_stage": "DELIVERED",
    "checkpoints": [
      {
        "description": "Delivered to a mailbox",
        "status": "Delivered to a mailbox",
        "tracking_stage": "DELIVERED",
        "time": "2021-06-07T10:46:07.000+1000"
      }
    ]
  }
]

/cancel POST

The cancel endpoint allows you to cancel shipments with the carrier.

POST Request Parameters
Field Possible Values Example
cancel object required
carrier string the carrier name required usps
checkpoints boolean whether to include checkpoint events in the response or not
debug boolean calls with debug=true will be logged
locale string language used in the checkpoint response. Not all carriers support different languages ro_MD mfe_MU gu_IN bez_TZ id_ID mer_KE ml_IN ar_MA om_ET so_DJ cs_CZ ti_ET ar_QA mk_MK fr_MC es_VE fr_BF seh_MZ zh_Hans_CN luy_KE fa_IR shi_Latn_MA tzm_Latn rwk_TZ en_BZ fr_MQ en_VI pt_MZ et_EE hu_HU mas_TZ fr_ML ka_GE mt_MT sr_Cyrl en_UM om_KE fr_NE so_ET ses_ML zh_Hans_HK uz_Arab en_TT uz_Arab_AF bn_IN en_IL en_BW en_MP en_US fr_CF fr_FR de_DE es_PY kl_GL zh_Hant_HK kln_KE am_ET ig_NG zu_ZA az_Cyrl_AZ bm_ML fr_GQ bs_BA es_ES nl_NL zh_Hans_SG es_US so_SO ar_YE fr_RE tzm_Latn_MA ar_BH saq_KE fi_FI bo_CN ar_LY ar_TN fr_GA it_CH en_ZA de_LI fr_BL sq_AL fr_RW sr_Cyrl_ME fr_MF sg_CF sv_SE bo_IN fa_AF guz_KE khq_ML sv_FI zh_Hans_MO en_NZ fr_TD pl_PL sk_SK ar_KW fr_CM ee_GH my_MM yue_Hant_HK en_PH es_MX asa_TZ vi_VN teo_KE ar_OM az_Latn fr_BE es_CR nyn_UG kea_CV kk_Cyrl kab_DZ it_IT ar_LB nd_ZW es_CL ur_PK az_Latn_AZ teo_UG ur_IN xog_UG yo_NG ta_IN el_CY ja_JP de_BE gl_ES ms_MY naq_NA bn_BD ms_BN ga_IE mas_KE es_BO en_HK ko_KR pa_Guru ar_SD nn_NO si_LK gsw_CH ta_LK kk_Cyrl_KZ pt_PT es_NI fr_DJ en_MU fo_FO fr_CA en_NA ne_IN pa_Arab chr_US zh_Hant_TW hr_HR fr_CD ha_Latn_GH es_419 lag_TZ nl_BE ar_SA ha_Latn_NG hi_IN kam_KE ru_RU sr_Latn sn_ZW ii_CN es_DO cy_GB en_MT af_ZA fil_PH ro_RO ha_Latn_NE sr_Latn_RS bem_ZM rw_RW zh_Hant shi_Tfng_MA so_KE sr_Latn_BA ha_Latn fr_KM kok_IN pt_BR ff_SN uz_Latn zh_Hant_MO luo_KE fr_CI es_AR sw_KE shi_Latn ee_TG en_JM sl_SI ca_ES en_MH fr_CG sr_Cyrl_RS sr_Latn_ME tr_TR en_AU ar_SY sr_Cyrl_BA de_LU mr_IN ne_NP es_EC az_Cyrl or_IN lt_LT kn_IN gv_GB cgg_UG ebu_KE fr_GN hy_AM th_TH en_SG te_IN nb_NO de_AT es_GQ rm_CH bg_BG en_AS en_BE pt_GW pa_Guru_IN es_CO lg_UG de_CH es_SV ak_GH ki_KE fr_TG en_IE km_KH ar_DZ en_CA fr_CH pa_Arab_PK es_GT ru_UA fr_BI ar_JO ps_AF vun_TZ zh_Hans to_TO lv_LV da_DK ar_AE el_GR ru_MD ar_EG as_IN haw_US he_IL uk_UA uz_Cyrl_UZ fr_LU fr_GP uz_Latn_UZ ti_ER en_IN en_GU en_ZW shi_Tfng es_PR fr_MG dav_KE en_GB mg_MG fr_SN fr_BJ ar_IQ is_IS jmc_TZ uz_Cyrl kw_GB en_PK es_PE af_NA sw_TZ es_UY be_BY es_HN es_PA kde_TZ rof_TZ eu_ES en_US
refresh boolean whether to force calling live carrier API. By default, we might return a fresh result from the cache
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers
tracking_number string Tracking number of shipment required 567293923024
webhooks boolean whether to allow webhook functionality for this shipment


Successful Response
Field Possible Values Example
success object
message string Message describing the action was performed successfully Success!


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found carrier_no_shipment_found shipping_account_wrong_carrier wrong_api_key carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_no_shipment_found
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required FedEx API: No shipment found with tracking number: 567293923024
Example Request / Response
{
    "cancel": {
        "shipping_account": "00000000000000",
        "carrier": "ups",
        "tracking_number": "1Z168R020399800319"
    }
}
                curl --request POST \
--url https://api.zenkraft.com/cancel \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "cancel": {
        "shipping_account": "00000000000000",
        "carrier": "ups",
        "tracking_number": "1Z168R020399800319"
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "cancel": {
        "shipping_account": "00000000000000",
        "carrier": "ups",
        "tracking_number": "1Z168R020399800319"
    }
}
url = "https://api.zenkraft.com/cancel"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "success": {
    "message": "The shipment has been canceled successfully"
  }
}

/pickup POST

The pickup endpoint allows you to schedule pickups for one or more shipments.

POST Request Parameters
Field Possible Values Example
pickup object required
carrier string the carrier name required usps
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF ERN NPR TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF GEL MYR BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP UGX BDT HRK NOK LAK NAD GGP TWD BHD HTG GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB SAR
debug boolean calls with debug=true will be logged
description string
dim_units string Dimension units of the packages, inches or centimeters required IN CM IN
location object required
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
location_type string description of the pickup location required front
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient required (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
shipments array required
packages array required
height number height of the package according to units specified under dim_units 5
length number length of the package according to units specified under dim_units. ususally the length needs to be the largest of length, width, height 11
value number value of the package according to currency specified 25
weight number weight of the package according to units specified under weight_units 4.2
width number width of the package according to units specified under dim_units 8.5
recipient object
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN BW FJ GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF HK NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL MR US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
service string the service type parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers
time object the date and time you want to create the pickup for. required
close_time string end of pickup time required 19:00
date string the date you want to create pickup for. required 2021-06-07
ready_time string start of pickup time required 12:30
weight_units string Weight units of the packages, pounds or kilograms required KG LB LB


Successful Response
Field Possible Values Example
pickup object
carrier string the carrier name required usps
confirmation_number string reference number of this pickup. It can be used to cancel the pickup if the carrier allows it 123456789
currency string ZMW BOB CUC XAF MXN KYD HNL RWF SLL VEF NPR ERN TZS CAD PGK MAD MNT RON QAR ARS BYN MOP PLN UZS TTD BZD TOP KWD PYG RSD MKD BTN LBP SGD DZD ALL CUP USD SYP HKD GMD OMR STN YER SOS XOF MYR GEL BRL MUR LSL IRR BND DJF NIO KGS MZN CRC MGA KPW FJD ETB GNF JMD TRY PHP VND PAB SVC KRW CHF IMP BDT HRK NOK LAK NAD GGP TWD BHD HTG SAR GYD XCD AED MVR TVD BBD MWK ILS JEP EUR HUF MRU SHP NGN GIP XPF BMD BWP ISK MDL ZWD AMD BSD RUB VUV JOD CNY KZT ZAR TJS BAM LKR INR TMT AUD AWG IQD SZL XDR JPY LRD IDR COP UAH SPL DKK GBP CZK KES SEK GTQ BIF KMF SBD TND BGN CLP MMK LYD ANG KHR GHS FKP WST AFN UYU PKR CDF SCR CVE AZN AOA SDG PEN NZD EGP DOP SRD THB UGX
debug boolean calls with debug=true will be logged
description string
dim_units string Dimension units of the packages, inches or centimeters required IN CM IN
id string internal pickup ID cf8a402288034fd9941dc1efe22b0680
location object required
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN BW FJ GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF HK NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL MR US
email string the email address of the recipient jrogers@example.com
location_type string description of the pickup location required front
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient required (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
shipments array required
packages array required
height number height of the package according to units specified under dim_units 5
length number length of the package according to units specified under dim_units. ususally the length needs to be the largest of length, width, height 11
value number value of the package according to currency specified 25
weight number weight of the package according to units specified under weight_units 4.2
width number width of the package according to units specified under dim_units 8.5
recipient object
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN FJ BW GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG MR JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL HK US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
service string the service type parcel_select usps_ground_advantage parcel_select_lightweight usps_connect_local usps_connect_regional usps_connect_mail priority_mail_express priority_mail first_class_package_service library_mail media_mail bound_printed_matter first_class_package_international_service priority_mail_international priority_mail_express_international usps_ground_advantage|cubic_soft_pack_tier_2|machinable|none parcel_select|your_packaging|machinable|ddu parcel_select|your_packaging|machinable|dndc parcel_select|your_packaging|machinable|dscf parcel_select|your_packaging|machinable|dhub connect_local|small_flat_rate_bag|machinable|ddu connect_local|large_flat_rate_bag|machinable|ddu connect_local|flat_rate_box|machinable|ddu connect_local|your_packaging|machinable|ddu bound_printed_matter|presorted|machinable|dndc bound_printed_matter|presorted|machinable|ddu bound_printed_matter|presorted|machinable|none bound_printed_matter|presorted|machinable|dscf bound_printed_matter|presorted|irregular|dndc bound_printed_matter|presorted|irregular|ddu bound_printed_matter|presorted|irregular|none bound_printed_matter|presorted|irregular|dscf library_mail|basic|machinable|none library_mail|basic|irregular|none media_mail|basic|machinable|none media_mail|5_digit|machinable|none media_mail|basic|irregular|none media_mail|5_digit|irregular|none priority_mail|flat_rate_envelope|machinable|none priority_mail|padded_flat_rate_envelope|machinable|none priority_mail|legal_flat_rate_envelope|machinable|none priority_mail|flat_rate_envelope|nonmachinable|none priority_mail|padded_flat_rate_envelope|nonmachinable|none priority_mail|small_flat_rate_box|nonmachinable|none priority_mail|flat_rate_box|nonmachinable|none priority_mail|large_flat_rate_box|nonmachinable|none priority_mail|your_packaging|nonmachinable|none priority_mail|cubic_soft_pack_tier_1|machinable|none priority_mail_express|flat_rate_envelope|machinable|none priority_mail_express|padded_flat_rate_envelope|machinable|none priority_mail_express|priority_mail_express_legal_flat_rate_envelope|machinable|none priority_mail_express|flat_rate_envelope|nonmachinable|none priority_mail_express|padded_flat_rate_envelope|nonmachinable|none priority_mail_express|your_packaging|nonmachinable|none usps_ground_advantage|your_packaging|nonmachinable|none usps_ground_advantage|cubic_soft_pack_tier_1|machinable|none parcel_select|your_packaging|nonmachinable|ddu parcel_select|your_packaging|nonmachinable|dndc parcel_select|your_packaging|nonmachinable|dscf parcel_select|your_packaging|nonmachinable|dhub connect_local|your_packaging|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|dndc bound_printed_matter|presorted|nonmachinable|ddu bound_printed_matter|presorted|nonmachinable|none bound_printed_matter|presorted|nonmachinable|dscf library_mail|basic|nonmachinable|none media_mail|basic|nonmachinable|none media_mail|5_digit|nonmachinable|none parcel_select
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers
time object the date and time you want to create the pickup for. required
close_time string end of pickup time required 19:00
date string the date you want to create pickup for. required 2021-06-07
ready_time string start of pickup time required 12:30
weight_units string Weight units of the packages, pounds or kilograms required KG LB LB


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found invalid_phone_number shipping_account_wrong_carrier wrong_api_key ship_date_past carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message object Error message required FedEx API: The origin country code XX could not be found. Please check the country code.
Example Request / Response
{
    "pickup": {
        "carrier": "usps",
        "debug": true,
        "dim_units": "IN",
        "location": {
            "city": "San Francisco",
            "company": "Test Company",
            "country": "US",
            "email": "test@example.com",
            "location_type": "business",
            "name": "Test Name",
            "phone": "+1 201-333-4444",
            "postal_code": "94105",
            "state": "NJ",
            "street1": "1 Market Street"
        },
        "shipments": [
            {
                "packages": [
                    {
                        "quantity": 1,
                        "weight": 3
                    }
                ],
                "recipient": {
                    "country": "US"
                },
                "service": "express_worldwide_p"
            }
        ],
        "shipping_account": 197299590,
        "test": true,
        "time": {
            "ready_time": "09:45",
            "close_time": "16:45",
            "date": "2021-05-20"
        },
        "weight_units": "LB"
    }
}
                curl --request POST \
--url https://api.zenkraft.com/pickup \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "pickup": {
        "carrier": "usps",
        "debug": true,
        "dim_units": "IN",
        "location": {
            "city": "San Francisco",
            "company": "Test Company",
            "country": "US",
            "email": "test@example.com",
            "location_type": "business",
            "name": "Test Name",
            "phone": "+1 201-333-4444",
            "postal_code": "94105",
            "state": "NJ",
            "street1": "1 Market Street"
        },
        "shipments": [
            {
                "packages": [
                    {
                        "quantity": 1,
                        "weight": 3
                    }
                ],
                "recipient": {
                    "country": "US"
                },
                "service": "express_worldwide_p"
            }
        ],
        "shipping_account": 197299590,
        "test": true,
        "time": {
            "ready_time": "09:45",
            "close_time": "16:45",
            "date": "2021-05-20"
        },
        "weight_units": "LB"
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "pickup": {
        "carrier": "usps",
        "debug": true,
        "dim_units": "IN",
        "location": {
            "city": "San Francisco",
            "company": "Test Company",
            "country": "US",
            "email": "test@example.com",
            "location_type": "business",
            "name": "Test Name",
            "phone": "+1 201-333-4444",
            "postal_code": "94105",
            "state": "NJ",
            "street1": "1 Market Street"
        },
        "shipments": [
            {
                "packages": [
                    {
                        "quantity": 1,
                        "weight": 3
                    }
                ],
                "recipient": {
                    "country": "US"
                },
                "service": "express_worldwide_p"
            }
        ],
        "shipping_account": 197299590,
        "test": true,
        "time": {
            "ready_time": "09:45",
            "close_time": "16:45",
            "date": "2021-05-20"
        },
        "weight_units": "LB"
    }
}
url = "https://api.zenkraft.com/pickup"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "pickup": {
    "confirmation_number": "123456789",
    "id": "cf8a402288034fd9941dc1efe22b0680",
    "carrier": "usps",
    "shipping_account": "5190163571408896",
    "test": true,
    "debug": false,
    "description": "string",
    "currency": "USD",
    "dim_units": "IN",
    "weight_units": "LB",
    "location": {
      "name": "Jack O'Rogers",
      "company": "Burlington Textiles Corp of America",
      "street1": "525 S. ZENKRAFT Ave",
      "street2": "suite 120",
      "email": "jrogers@example.com",
      "phone": "(336) 222-7000",
      "city": "Burlington",
      "state": "NC",
      "postal_code": "27215",
      "country": "US",
      "location_type": "front"
    },
    "shipments": [
      {
        "recipient": {
          "name": "Jack O'Rogers",
          "company": "Burlington Textiles Corp of America",
          "street1": "525 S. ZENKRAFT Ave",
          "street2": "suite 120",
          "email": "jrogers@example.com",
          "phone": "(336) 222-7000",
          "city": "Burlington",
          "state": "NC",
          "postal_code": "27215",
          "country": "US"
        },
        "packages": [
          {
            "weight": 4.2,
            "value": 25,
            "length": 11,
            "width": 8.5,
            "height": 5
          }
        ],
        "service": "fedex_ground"
      }
    ],
    "time": {
      "close_time": "19:00",
      "ready_time": "12:30",
      "date": "2021-06-07"
    }
  }
}

/dopu POST

The dopu endpoint is used to retrieve the list of possible drop off locations nearby.

POST Request Parameters
Field Possible Values Example
dopu object required
carrier string the carrier name required usps
debug boolean calls with debug=true will be logged
location object required
city string the city of the recipient required Burlington
company string the company name of the recipient Burlington Textiles Corp of America
country string required BJ BY KZ DJ AI KN PM AX LS TC UG ER IN GD RW FM DE PS MT SH IQ DM MY SB BH RE CW AM AT YE MK GQ GH KP NF RS DZ BZ ET SD IM GL TZ IO VU IR BD MF PW UZ WS NU PN BW FJ GP WF BF BQ GG KY JE TM RO TL SR FI PF ZM MO PR TD BG VA SI MH TR CH BR IL BE KG SO CM SE SS AQ MA ZW CR PH CZ AU HM NO TK NZ US UM HR CF AL GY LV PY KR GS BB ID NA CO HT ME GI KH CD AR EC FO DK GE GW LR LU NE ZA TN GM MC CA IS GA SZ BL CY MU KI GU TV IE KM NI BS SG JO VE MM PL VC BN PK RU TO HN TW MS MZ OM AW MW MV MP BV GF HU EH BO IT MD FR ML MQ DO PT SN SM LI AD CC FK MX SC SX TJ VG PG LB BI VI SK MG NC EG LK BA GT MN ST NG LA AS CN SJ AG LT CV JP TF HK NP AE GR AF NR SV ES TG CL AZ SA EE BT VN CI CX NL CG CU JM PA LY TT PE TH UA GN QA BM LC AO YT CK KE GB KW UY SY SL MR US
email string the email address of the recipient jrogers@example.com
name string the name of the recipient required Jack O'Rogers
phone string the phone number of the recipient (336) 222-7000
postal_code string the postal code / zip number of the recipient. Specific format depends on the country 27215
state string the state of the recipient NC
street1 string the first line of the street address of the recipient required 525 S. ZENKRAFT Ave
street2 string the second line of the street address of the recipient suite 120
street3 string the third line of the street address of the recipient suite 120
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers


Successful Response
Field Possible Values Example
locations array
city string Burlington
country string AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW US
distance number how far is it from the location described in the request to this pickup location 1.3
distance_units string km
lat string latitude -79.43575121732864
lng string longitude 36.089788917096016
location_code string carrier assigned location ID A4415567
location_name string name of the business/post office United States Postal Service
location_type string the type of this pickup location post_office
postal_code string 27215
state string NC
street1 string 405 Maple Ave


Error Response
Field Possible Values Example
error object
code string Standardized error code required schema_field_required carrier_authentication carrier_throttling carrier_failed_connection shipping_account_not_found shipping_account_wrong_carrier wrong_api_key carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required FedEx API: Postal code specified is not in the correct format
Example Request / Response
{
    "dopu": {
        "carrier": "usps",
        "location": {
            "city": "San Diego",
            "country": "US",
            "postal_code": "92131",
            "state": "CA",
            "street1": "1 Market Street"
        },
        "shipping_account": "673603996",
        "test": true
    }
}
                curl --request POST \
--url https://api.zenkraft.com/dopu \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "dopu": {
        "carrier": "usps",
        "location": {
            "city": "San Diego",
            "country": "US",
            "postal_code": "92131",
            "state": "CA",
            "street1": "1 Market Street"
        },
        "shipping_account": "673603996",
        "test": true
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "dopu": {
        "carrier": "usps",
        "location": {
            "city": "San Diego",
            "country": "US",
            "postal_code": "92131",
            "state": "CA",
            "street1": "1 Market Street"
        },
        "shipping_account": "673603996",
        "test": true
    }
}
url = "https://api.zenkraft.com/dopu"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "locations": [
    {
      "location_type": "post_office",
      "distance": 1.3,
      "distance_units": "km",
      "location_name": "United States Postal Service",
      "location_code": "A4415567",
      "city": "Burlington",
      "street1": "405 Maple Ave",
      "state": "NC",
      "postal_code": "27215",
      "country": "US",
      "lng": "36.089788917096016",
      "lat": "-79.43575121732864"
    }
  ]
}

/manifest POST

Manifesting allows you to notify the carrier that your shipments are ready for shipping/pickup.

POST Request Parameters
Field Possible Values Example
manifest object required
carrier string the carrier name required usps
debug boolean calls with debug=true will be logged
shipping_account string Shipping account number required 5190163571408896
test boolean calls created with test = true will be directed to the carrier test servers


Successful Response
Field Possible Values Example
manifest object
costs object Additional information about packages
base_charge number gross amount 100
discounts number the cost of discounts applied
net_charge number net amount 80
surcharges number additional fees
taxes number the cost of taxes 20
id string carrier ID of this manifest which can be used in GET on /manifest/<manifest_id> 963681622636173689
shipping_documents object Additional information about packages
description string description of this customs item required Manifest
document string base64 document contents required
document_type string file format of the document required PDF


Error Response
Field Possible Values Example
error object
code string Standardized error code. If the code equals `carrier_large_manifest` you might retrieve manifest_id from the error detail required schema_field_required carrier_authentication carrier_throttling carrier_large_manifest carrier_failed_connection shipping_account_not_found shipping_account_wrong_carrier wrong_api_key carrier_exception schema_validation_error carrier_timeout carrier_unsupported_method unexpected_exception carrier_http_exception missing_api_key carrier_large_manifest
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required 963681622636173689
message string Error message required The manifest is too large and it's going to take around 15 to generate. Retry again later please
Example Request / Response
{
    "manifest": {
        "carrier": "usps",
        "debug": true,
        "shipping_account": 40910738,
        "test": true,
        "tracking_numbers": [
            "33GKB500127801000961509",
            "111JD575508301000961502",
            "111JD575511501000961500"
        ]
    }
}
                curl --request POST \
--url https://api.zenkraft.com/manifest \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "manifest": {
        "carrier": "usps",
        "debug": true,
        "shipping_account": 40910738,
        "test": true,
        "tracking_numbers": [
            "33GKB500127801000961509",
            "111JD575508301000961502",
            "111JD575511501000961500"
        ]
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "manifest": {
        "carrier": "usps",
        "debug": true,
        "shipping_account": 40910738,
        "test": true,
        "tracking_numbers": [
            "33GKB500127801000961509",
            "111JD575508301000961502",
            "111JD575511501000961500"
        ]
    }
}
url = "https://api.zenkraft.com/manifest"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "manifest": {
    "id": "963681622636173689",
    "shipping_documents": [{
      "description": "Manifest",
      "document_type": "PDF",
      "document": "string"
    }],
    "costs": {
      "base_charge": 100,
      "net_charge": 80,
      "taxes": 20,
      "surcharges": 0,
      "discounts": 0
    }
  }
}

/manifest GET

This endpoint allows you to retrieve previously created manifests.

Successful Response
Field Possible Values Example
manifests array
carrier string the carrier name usps
created string when was this object created 2021-06-02T07:22:43.000
id string carrier ID of this manifest which can be used in GET on /manifest/<manifest_id> 963681622636173689
shipping_account string Shipping account number 5190163571408896


Error Response
Field Possible Values Example
error object
code string Standardized error code required missing_api_key wrong_api_key shipping_account_not_found shipping_account_wrong_carrier schema_validation_error schema_field_required unexpected_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required Missing zkkey HTTP header containing your Zenkraft API key
Example Request / Response
https://api.zenkraft.com/manifest
                curl --request GET \
--url https://api.zenkraft.com/manifest \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = None
url = "https://api.zenkraft.com/manifest"

response = requests.request(url=url, method='GET', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "manifests": [
    {
      "carrier": "usps",
      "created": "2021-06-02T07:22:43.000",
      "id": "963681622636173689",
      "shipping_account": "5190163571408896"
    }
  ]
}

/webhook POST

Webhooks provide you with a real-time view of your shipments.

1. Create a webhook configuration

In order to start using webhooks, you need to create a webhook configuration. You can find an example payload on the right side.

2. Receive a webhook

Now we will start sending tracking event updates as POST requests to your chosen address. The request will be formatted the same way as our track response

3. Verify a webhook

Webhooks can be verified by calculating a digital signature. Each webhook request includes a base64-encoded X-Zenkraft-Hmac-SHA256 header, which is generated using your API key along with the data sent in the request. Once you verify this signature, you can be sure the request came from us and you can continue your processing.

4. Response to a webhook

Your endpoint acknowledges that it received data by sending a 200 response. Any response outside of 200-range is considered an error. On our side, we have set a 5 second timeout. Any errors will be retried in a staggered manner over the course of the day.

Testing a Webhook

To test a webhook, run a local server or use a publicly available service such as Beeceptor. If you decide to run a server locally, then you need to make it publicly available using a service such as Pagekite or ngrok. The following URLs can't be endpoints for a webhook:

  • Localhost
  • Any URL ending in the word "internal"
  • Domains like www.example.com
  • Zenkraft domains such as api.zenkraft.com

POST Request Parameters
Field Possible Values Example
webhook object required
api_version string The webhook version. Used for future compatibility v1
callback string URL of the receiving endpoint required https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508
debug boolean calls with debug=true will be logged
description string Webhook description
events array Events to receive. If left empty, it's assumed you want to receive all the events shipment.exception return.in_transit shipment.creation_pending return.picked_up shipment.driver_assigned return.delivered shipment.delivered shipment.picked_up return.out_for_delivery return.driver_assigned return.checked_in shipment.created return.exception shipment.checked_in shipment.in_transit return.created shipment.out_for_delivery shipment.shipment_voided return.creation_pending return.shipment_voided shipment.delivered
format string Currently only JSON is supported. Used for future compatibility json
headers array Headers that will be sent to the webhook callback.
name string Authorization
value string api_key
name string Webhook name
shipping_account_id integer 123
trigger_mode string stage checkpoint


Successful Response
Field Possible Values Example
webhook object
api_version string The webhook version. Used for future compatibility v1
callback string URL of the receiving endpoint required https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508
debug boolean calls with debug=true will be logged
description string Webhook description
events array Events to receive. If left empty, it's assumed you want to receive all the events shipment.exception return.in_transit shipment.creation_pending return.picked_up shipment.driver_assigned return.delivered shipment.delivered shipment.picked_up return.out_for_delivery return.driver_assigned return.checked_in shipment.created return.exception shipment.checked_in shipment.in_transit return.created shipment.out_for_delivery shipment.shipment_voided return.creation_pending return.shipment_voided shipment.delivered
format string Currently only JSON is supported. Used for future compatibility json
headers array Headers that will be sent to the webhook callback.
name string Authorization
value string api_key
id string ID of the subscription 484fe753dcda47a1b817456f3a10e38e
name string Webhook name
shipping_account_id integer 123
trigger_mode string stage checkpoint


Error Response
Field Possible Values Example
error object
code string Standardized error code required missing_api_key wrong_api_key shipping_account_not_found shipping_account_wrong_carrier schema_validation_error schema_field_required unexpected_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required Missing zkkey HTTP header containing your Zenkraft API key
Example Request / Response
{
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}
                curl --request POST \
--url https://api.zenkraft.com/webhook \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = {
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}
url = "https://api.zenkraft.com/webhook"

response = requests.request(url=url, method='POST', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "webhook": {
    "name": "Test Webhook",
    "description": "Send delivery notifications",
    "events": ["shipment.out_for_delivery", "shipment.delivered"],
    "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
    "debug": false,
    "api_version": "v1",
    "format": "json",
    "id": "484fe753dcda47a1b817456f3a10e38e",
    "headers": [
      {
        "name": "Authorization",
        "value": "api_key"
      }
    ],
    "shipping_account_id": 123,
    "trigger_mode": "checkpoint"
  }
}


/webhook GET

This endpoint allows you to retrieve previously created webhooks.



Successful Response
Field Possible Values Example
webhooks array
api_version string The webhook version. Used for future compatibility v1
callback string URL of the receiving endpoint https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508
debug boolean calls with debug=true will be logged
description string Webhook description
events array Events to receive. If left empty, it's assumed you want to receive all the events shipment.exception return.in_transit shipment.creation_pending return.picked_up shipment.driver_assigned return.delivered shipment.delivered shipment.picked_up return.out_for_delivery return.driver_assigned return.checked_in shipment.created return.exception shipment.checked_in shipment.in_transit return.created shipment.out_for_delivery shipment.shipment_voided return.creation_pending return.shipment_voided shipment.delivered
format string Currently only JSON is supported. Used for future compatibility json
headers array Headers that will be sent to the webhook callback.
name string Authorization
value string api_key
id string ID of the subscription 484fe753dcda47a1b817456f3a10e38e
name string Webhook name
shipping_account_id integer 123
trigger_mode string stage checkpoint


Error Response
Field Possible Values Example
error object
code string Standardized error code required missing_api_key wrong_api_key shipping_account_not_found shipping_account_wrong_carrier schema_validation_error schema_field_required unexpected_exception
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required Missing zkkey HTTP header containing your Zenkraft API key
Example Request / Response
https://api.zenkraft.com/webhook
                curl --request GET \
--url https://api.zenkraft.com/webhook \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = None
url = "https://api.zenkraft.com/webhook"

response = requests.request(url=url, method='GET', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "webhooks": [
    {
      "name": "Test Webhook",
      "description": "Send delivery notifications",
      "debug": false,
      "api_version": "v1",
      "format": "json",
      "events": [
        "shipment.delivered"
      ],
      "callback": "https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508",
      "headers": [
        {
          "name": "Authorization",
          "value": "api_key"
        }
      ],
      "shipping_account_id": 123,
      "trigger_mode": "checkpoint",
      "id": "484fe753dcda47a1b817456f3a10e38e"
    }
  ]
}


/webhook/{webhook_id} PUT

This endpoint allows you to put the webhook.

PUT Request Parameters
Field Possible Values Example
webhook object
api_version string The webhook version. Used for future compatibility v1
callback string URL of the receiving endpoint required https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508
debug boolean calls with debug=true will be logged
description string Webhook description
events array Events to receive. If left empty, it's assumed you want to receive all the events shipment.exception return.in_transit shipment.creation_pending return.picked_up shipment.driver_assigned return.delivered shipment.delivered shipment.picked_up return.out_for_delivery return.driver_assigned return.checked_in shipment.created return.exception shipment.checked_in shipment.in_transit return.created shipment.out_for_delivery shipment.shipment_voided return.creation_pending return.shipment_voided shipment.delivered
format string Currently only JSON is supported. Used for future compatibility json
headers array Headers that will be sent to the webhook callback.
name string Authorization
value string api_key
name string Webhook name
shipping_account_id integer 123
trigger_mode string stage checkpoint


Successful Response
Field Possible Values Example
webhook object
api_version string The webhook version. Used for future compatibility v1
callback string URL of the receiving endpoint required https://webhook.site/3a788dd3-bd7c-44a8-bae0-297e3b68b508
debug boolean calls with debug=true will be logged
description string Webhook description
events array Events to receive. If left empty, it's assumed you want to receive all the events shipment.exception return.in_transit shipment.creation_pending return.picked_up shipment.driver_assigned return.delivered shipment.delivered shipment.picked_up return.out_for_delivery return.driver_assigned return.checked_in shipment.created return.exception shipment.checked_in shipment.in_transit return.created shipment.out_for_delivery shipment.shipment_voided return.creation_pending return.shipment_voided shipment.delivered
format string Currently only JSON is supported. Used for future compatibility json
headers array Headers that will be sent to the webhook callback.
name string Authorization
value string api_key
id string ID of the subscription 484fe753dcda47a1b817456f3a10e38e
name string Webhook name
shipping_account_id integer 123
trigger_mode string stage checkpoint


Error Response
Field Possible Values Example
error object
code string Standardized error code. If the code equals `carrier_large_manifest` you might retrieve manifest_id from the error detail required schema_field_required shipping_account_not_found shipping_account_wrong_carrier wrong_api_key schema_validation_error unexpected_exception missing_api_key webhook_not_found
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required No webhook exists with that ID
Example Request / Response
{
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}
                curl --request PUT \
--url https://api.zenkraft.com/webhook \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = None
url = "{
    "webhook": {
        "name": "Test Webhook",
        "description": "Send delivery notifications",
        "events": ["shipment.out_for_delivery", "shipment.delivered"],
        "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
        "debug": false,
        "api_version": "v1",
        "format": "json",
        "headers": [
          {
            "name": "Authorization",
            "value": "api_key"
          }
        ],
        "shipping_account_id": 123,
        "trigger_mode": "checkpoint"
    }
}"

response = requests.request(url=url, method='PUT', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "webhook": {
    "name": "Test Webhook",
    "description": "Send delivery notifications",
    "events": ["shipment.out_for_delivery", "shipment.delivered"],
    "callback": "https://webhook.site/f263f99d-e822-4185-9ff8-f56789bc78c6",
    "debug": false,
    "api_version": "v1",
    "format": "json",
    "id": "484fe753dcda47a1b817456f3a10e38e",
    "headers": [
      {
        "name": "Authorization",
        "value": "api_key"
      }
    ],
    "shipping_account_id": 123,
    "trigger_mode": "checkpoint"
  }
}


/webhook/{webhook_id} DELETE

This endpoint allows you to delete the specific webhook.

DELETE Request Parameters
Field Possible Values Example
webhook_id object ID of the previously created webhook returned from POST on /webhook required


Successful Response
Field Possible Values Example
success object required
message string Message describing the action was performed successfully Success!


Error Response
Field Possible Values Example
error object
code string Standardized error code. If the code equals `carrier_large_manifest` you might retrieve manifest_id from the error detail required schema_field_required shipping_account_not_found shipping_account_wrong_carrier wrong_api_key schema_validation_error unexpected_exception missing_api_key webhook_not_found
detail string This field can contain additional information about the error. This field is not meant to be shown to the end-user required
message string Error message required No webhook exists with that ID
Example Request / Response
https://api.zenkraft.com/webhook/7acd186c4bad4197ad36b918eff71c03
                curl --request GET \
--url https://api.zenkraft.com/webhook/7acd186c4bad4197ad36b918eff71c03 \
--header 'content-type: application/json' \
--header 'zkkey: XXXXXXXXXXXXXXXXXXXXXXX'
            

import requests

headers = {
"zkkey": "XXXXXXXXXXXXXXXXXXXXXXX"
}

payload = None
url = "https://api.zenkraft.com/webhook/7acd186c4bad4197ad36b918eff71c03"

response = requests.request(url=url, method='GET', json=payload, headers=headers)

print(response.json())
            
                
            
{
  "success": {
    "message": "Success!"
  }
}

Object References

currencies

Field Type Required Min Length Max Length

locale

requested locale

Field Type Required Min Length Max Length

countries

Field Type Required Min Length Max Length

location_base

Field Type Required Min Length Max Length
name string - 35
company string - 35
street1 string - 50
street2 string - 50
street3 string - 50
email string - 100
phone string - 35
city string - 50
state string - 35
postal_code string - 15
country string - -

location

Field Type Required Min Length Max Length
name string True - 35
company string - 35
street1 string True - 50
street2 string - 50
street3 string - 50
email string - 100
phone string - 35
city string True - 50
state string - 35
postal_code string - 15
country string True - -

location_rate

Field Type Required Min Length Max Length
name string - 35
company string - 35
street1 string - 50
street2 string - 50
street3 string - 50
email string - 100
phone string - 35
city string - 50
state string - 35
postal_code string - 15
country string True - -

packages

We need to know the size and dimensions of your packages.

Field Type Required Min Length Max Length
weight number True - -
value number - -
length number - -
width number - -
height number - -

references

For carriers that allow you to add reference information to your shipment.

Field Type Required Min Length Max Length
type string True - -
value string True - -

tracking_number

Tracking number of shipment

Field Type Required Min Length Max Length

reference_number

some carriers allow you to track either by the tracking number or the reference number

Field Type Required Min Length Max Length

confirmation_number

reference number of this pickup. It can be used to cancel the pickup if the carrier allows it

Field Type Required Min Length Max Length

shipping_account

Shipping account number

Field Type Required Min Length Max Length

special_services

Specific special services (e.g. COD or a Required Signature) depend on a carrier, so go through our documentation to find which those are

Field Type Required Min Length Max Length

notifications

For carriers that allow you to set email/sms for notifications to your shippers.

Field Type Required Min Length Max Length
type string True - -
value string True - -

customs_items

Additional information about packages

Field Type Required Min Length Max Length
description string True - -
quantity integer True - -
value number True - -
weight number True - -

costs

Additional information about packages

Field Type Required Min Length Max Length
base_charge number - -
net_charge number - -
taxes number - -
surcharges number - -
discounts number - -

shipping_documents

Additional information about packages

Field Type Required Min Length Max Length
description string True - -
document_type string True - -
document string True - -

carrier

the carrier name

Field Type Required Min Length Max Length

status

the most recent important status description

Field Type Required Min Length Max Length

tracking_stage

the most recent important status standardized shipment stage

Field Type Required Min Length Max Length

label_type

the label format of the shipping labels

Field Type Required Min Length Max Length

label_size

the shipping labels size

Field Type Required Min Length Max Length

service

the service type

Field Type Required Min Length Max Length

dim_units

Dimension units of the packages, inches or centimeters

Field Type Required Min Length Max Length

weight_units

Weight units of the packages, pounds or kilograms

Field Type Required Min Length Max Length

created

when was this object created

Field Type Required Min Length Max Length

updated

when was this object updated

Field Type Required Min Length Max Length

debug

calls with debug=true will be logged

Field Type Required Min Length Max Length

base_shipment

Definition of the shipment payload

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
ship_date string - -
type string - -
service string - -
special_services array - -
packaging string True - -
dim_units string True - -
weight_units string True - -
currency string - -
packages array True - -

shipment

Definition of the shipment payload

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
ship_date string - -
type string - -
service string True - -
special_services array - -
packaging string True - -
dim_units string True - -
weight_units string True - -
currency string - -
packages array True - -
label_type string True - -
label_size string - -
include_base64_label boolean - -
references array - -
notifications array - -
sender object True - -
recipient object True - -

shipment_id

shipment ID

Field Type Required Min Length Max Length

shipment_status

Standardized shipment status

Field Type Required Min Length Max Length

ship_response

Field Type Required Min Length Max Length
shipment True - -

_shipment_status_response

Field Type Required Min Length Max Length
shipment True - -

shipment_status_pending_response

Field Type Required Min Length Max Length
shipment True - -

shipment_status_success_response

Field Type Required Min Length Max Length
shipment True - -

rate

Definition of the shipment payload

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
ship_date string - -
type string - -
service string - -
special_services array - -
packaging string True - -
dim_units string True - -
weight_units string True - -
currency string - -
packages array True - -
sender object True - -
recipient object True - -

rate_response

Field Type Required Min Length Max Length
rates array True - -

pickup_response

Field Type Required Min Length Max Length
pickup object True - -

cancel_pickup_response

Field Type Required Min Length Max Length
cancel object True - -

pickup_availability_response

Field Type Required Min Length Max Length
pickup_availability object True - -

cancel_pickup

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
confirmation_number string True - -

_pickup

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
description string - -
currency string - -
dim_units string True - -
weight_units string True - -
location object True - -
shipments array True - -
time object True - -

__pickup

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
description string - -
currency string - -
dim_units string True - -
weight_units string True - -
location object True - -
shipments array True - -

__track

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
checkpoints boolean - -
refresh boolean - -
webhooks boolean - -
locale string - -

track_by_tracking_number

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
checkpoints boolean - -
refresh boolean - -
webhooks boolean - -
locale string - -
tracking_number string True - -

track_by_reference_number

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
checkpoints boolean - -
refresh boolean - -
webhooks boolean - -
locale string - -
reference_number string True - -

track

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
checkpoints boolean - -
refresh boolean - -
webhooks boolean - -
locale string - -
tracking_number string True - -

estimated_delivery

estimated delivery date of this shipment

Field Type Required Min Length Max Length

track_response

Field Type Required Min Length Max Length
carrier string - -
delivered boolean - -
estimated_delivery string - -
delivery_date string - -
tracking_number string - -
status string - -
tracking_stage string - -
locale string - -
checkpoints array - -

manifest_id

carrier ID of this manifest which can be used in GET on /manifest/<manifest_id>

Field Type Required Min Length Max Length

manifest_post_response

Field Type Required Min Length Max Length
manifest True - -

manifest_get_response

Field Type Required Min Length Max Length
manifest True - -

manifest_list_response

Field Type Required Min Length Max Length
manifests array True - -

webhook

Field Type Required Min Length Max Length
name string - -
description string - -
debug boolean - -
api_version string - -
format string - -
events array - -
callback string True - -
headers array - -
shipping_account_id integer - -
trigger_mode string - -

webhook_list_response

Field Type Required Min Length Max Length
webhooks array True - -

webhook_id

ID of the subscription

Field Type Required Min Length Max Length

_webhook_response

Field Type Required Min Length Max Length
name string - -
description string - -
debug boolean - -
api_version string - -
format string - -
events array - -
callback string True - -
headers array - -
shipping_account_id integer - -
trigger_mode string - -
id string - -

webhook_response

Field Type Required Min Length Max Length
webhook object - -

dopu

Field Type Required Min Length Max Length
carrier string True - -
shipping_account string True - -
test boolean - -
debug boolean - -
location object True - -

dopu_response

Field Type Required Min Length Max Length
locations array True - -

shippingaccount_response

Carrier credentials

Field Type Required Min Length Max Length
shipping_account object True - -

error

Field Type Required Min Length Max Length
error object True - -

ship_error

Field Type Required Min Length Max Length
error object True - -

shipment_status_error

Field Type Required Min Length Max Length
error object True - -

rate_error

Field Type Required Min Length Max Length
error object True - -

shippingaccount_error

Field Type Required Min Length Max Length
error object True - -

track_error

Field Type Required Min Length Max Length
error object True - -

dopu_error

Field Type Required Min Length Max Length
error object True - -

pickup_error

Field Type Required Min Length Max Length
error object True - -

pickup_availability_error

Field Type Required Min Length Max Length
error object True - -

manifest_error

Field Type Required Min Length Max Length
error object True - -

webhook_error

Field Type Required Min Length Max Length
error object True - -

location_error

Field Type Required Min Length Max Length
error object True - -

successful_response

Field Type Required Min Length Max Length
success object True - -

UserBase

Field Type Required Min Length Max Length
name string True - -
email string True - -

UserDetails

Field Type Required Min Length Max Length
total_1_day integer True - -
total_7_days integer True - -
total_28_days integer True - -
api_key string True - -
user_token string True - -
company string True - -
created string True - -
mfa boolean True - -

User

Field Type Required Min Length Max Length
name string True - -
email string True - -
total_1_day integer True - -
total_7_days integer True - -
total_28_days integer True - -
api_key string True - -
user_token string True - -
company string True - -
created string True - -
mfa boolean True - -

log_item

Field Type Required Min Length Max Length
id string - -
created string - -
status_code number - -
url string - -
ip_address string - -

LogDetails

Field Type Required Min Length Max Length
id string - -
created string - -
status_code number - -
url string - -
ip_address string - -
http_method string True - -
user_agent string True - -
content_type string True - -
request object True - -
response object True - -

ShipmentCheckpoint

Field Type Required Min Length Max Length
time string True - -
status string True - -
description string True - -

ShipmentItem

Field Type Required Min Length Max Length
id string True - -
tracking_number string True - -
reference_number string True - -
carrier string True - -
status string True - -
created string True - -
is_return boolean True - -

ShipmentDetails

Field Type Required Min Length Max Length
id string True - -
tracking_number string True - -
reference_number string True - -
carrier string True - -
status string True - -
created string True - -
is_return boolean True - -
shipping_account_id integer True - -
updated string True - -
estimated_delivery string True - -
checkpoints array True - -

LocationBase

Field Type Required Min Length Max Length
name string True - 35
company string True - 35
street1 string True - 50
street2 string - 50
street3 string - 50
email string True - 100
phone string True - 35
city string True - 50
state string True - 35
postal_code string True - 15
country string True - -
type string True - -
timezone string - -
cutoff_hours integer - -
cutoff_minutes integer - -

Location

Field Type Required Min Length Max Length
name string True - 35
company string True - 35
street1 string True - 50
street2 string - 50
street3 string - 50
email string True - 100
phone string True - 35
city string True - 50
state string True - 35
postal_code string True - 15
country string True - -
type string True - -
timezone string - -
cutoff_hours integer - -
cutoff_minutes integer - -
id string True - -
updated string - -

return_method_type

Field Type Required Min Length Max Length

return_line

Field Type Required Min Length Max Length
quantity integer True - -
value number True - -
weight number True - -
product_name string True - -
line_id string True - -
hs_code string True - -
sku string True - -
country_of_manufacture string True - -
reasons array True - -

operational_hours

Field Type Required Min Length Max Length
open string True - -
close string True - -

return_cost

Field Type Required Min Length Max Length
carrier_charge number True - -
customer_charge number True - -

ReturnMethodBase

Field Type Required Min Length Max Length
position integer True - -
method_name string True 1 50
display_name string True 1 50
type string True - -
shipping_account_id integer True - -
location_id string True - -
sf_shipping_preference_id string - -
service_type string True - -
return_charge string True - -
filters array True - -

ReturnMethodCountryFilter

Field Type Required Min Length Max Length
field string True - -
operator string True - -
value string True - -

ReturnMethodNumberFilter

Field Type Required Min Length Max Length
field string True - -
operator string True - -
value string True - -

ReturnMethodCustomFilter

Field Type Required Min Length Max Length
field string True - -
operator string True - -
name string True - 50
value string True - -

ReturnMethod

Field Type Required Min Length Max Length
position integer True - -
method_name string True 1 50
display_name string True 1 50
type string True - -
shipping_account_id integer True - -
location_id string True - -
sf_shipping_preference_id string - -
service_type string True - -
return_charge string True - -
filters array True - -
id string True - -

ReturnMethodShortDetails

Field Type Required Min Length Max Length
id string True - -
carrier string True - -
carrier_logo string True - -
carrier_name string True - -
method_name string True - -
type string True - -

return_pickup

Field Type Required Min Length Max Length
id string True - -
confirmation_number string True - -
reference_number string True - -

return_shipment

Field Type Required Min Length Max Length
id string True - -
tracking_number string True - -
reference_number string True - -
status string True - -
label string True - -

ReturnItem

Field Type Required Min Length Max Length
id string True - -
customer_id string True - -
order_id string - -
created string True - -
return_lines array True - -
return_method object True - -
pickup object - -
shipment object True - -
custom array - -

return_method_error

Field Type Required Min Length Max Length
error object True - -

ShipmentEvent

Field Type Required Min Length Max Length
carrier string True - -
tracking_number string True - -
from_country string True - -
to_country string True - -
service string True - -
is_outbound boolean True - -
total_costs number True - -
currency string True - -
created string True - -

FtpConnectedAccountCredentials

Field Type Required Min Length Max Length
ftp_username string True - -
ftp_password string True - -

FtpConnectedAccount

Field Type Required Min Length Max Length
ftp_username string True - -
ftp_password string True - -
shipping_account_id integer True - -
name string True - -
service integer True - -

QuantumViewConnectedAccount

Field Type Required Min Length Max Length
shipping_account_id integer True - -
name string True - -
service integer True - -

ShopifyConnectedAccount

Field Type Required Min Length Max Length
shop_url string True - -
shipping_account array True - -
name string True - -
service integer True - -

custom_context

Custom context attached to the return

Field Type Required Min Length Max Length

NewstoreConnectedAccount

Field Type Required Min Length Max Length
shipping_account_id string True - -
shipping_account_key integer True - -
name string True - -
service integer True - -

SalesforceCore

Field Type Required Min Length Max Length
service integer True - -
environment string True - -
custom_domain string True - -
client_id string - -
client_secret string - -

SalesforceCommerceCloud

Field Type Required Min Length Max Length
url string True - -
service integer True - -

ConnectedAccountBase

Field Type Required Min Length Max Length
id string True - -
status string True - -

ItemConnectedAccount

Field Type Required Min Length Max Length
id string True - -
status string True - -
ftp_username string True - -
ftp_password string True - -
shipping_account_id integer True - -
name string True - -
service integer True - -

CreateConnectedAccount

Field Type Required Min Length Max Length
id string True - -
status string True - -
ftp_username string True - -
ftp_password string True - -
shipping_account_id integer True - -
name string True - -
service integer True - -

UpdateConnectedAccount

Field Type Required Min Length Max Length
id string True - -
status string True - -
ftp_username string True - -
ftp_password string True - -
shipping_account_id integer True - -
name string True - -
service integer True - -

connected_account_error

Field Type Required Min Length Max Length
error object True - -