API Docs
Customers need to quickly change and add carriers without incurring costly and
restrictive technical debt. Every carrier has different integration methods, requiring
a new development project for every new or updated carrier. This workload compounds as
you expand globally and work with a larger number of carriers.
The Zenkraft API integrates directly with shipping carriers such as
FedEx, UPS, and
DHL through a single platform. Integrate with Zenkraft’s
developer-friendly API and let Zenkraft handle the complexities of global carrier
integration.
This page includes examples of the Zenkraft API’s structure and parameters. Select a
carrier from the dropdown list in the navigation menu to access API reference
documentation listing their required and accepted parameters.
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_numberwhich can be used to track the shipments in the track endpointlabelfor 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())
/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())
/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 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())
/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())
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 | |
| 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 | |
| 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 | |
| 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 | - | - |
| 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 | - | - |
| 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 | |
| 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 | |
| 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 | - | - |