Airpost
Promotion! Sign up and get discounts on your shipments.

API

Connect your own ERP, online store or system with our services through our API. If you prefer, you can also use our apps to connect your e-Commerce, marketplace or website and synchronize your orders.



Track a Shipment

Enter your tracking, ticket or shipment number.

Imagen Airpost
We are your best ally in logistics.
Imagen Airpost
ADVANCED TECHNOLOGY FOR YOUR BUSINESS

API Documentation



Overview

The Airpost API is following the REST architectural style and uses resource-oriented URLs as well as HTTP response codes to communicate any API error. All API responses return JSON and property names are pascal-cased, ascii strings.

In the right sidebar, you can find examples that work as they are. You only need to fill the ApiKey variable with your personal API key. You can find it under your user configuration on https://www.airpostgroup.com/UserPanel/MyAccount/MyAccounts

Sandbox Endpoint:
https://www.sandbox.airpostgroup.com/Api/

Production Endpoint:
https://www.airpostgroup.com/Api/


                            

Authentication

In order to authenticate you need to use your User Name used to access to your account and your API key. You can find it under your profile. Authentication to our API is performed using HTTP Basic Auth. Please be sure to keep your API key secret so nobody else will create shipments with your account and without your authorization.

Basic Auth

UserName:
string The username used to access to your account.
ApiKey:
string The assigned API Key.


Notification

Notification Object

Code:
string Unique code.
Message:
string Notification message.
Severity:
int FAILURE = 0
WARNING = 1
INFO = 2
SUCCESS = 3

# Example Object
{
    "Notification": {
        "Code": "0",
        "Message": "La solicitud ha sido procesada exitosamente.",
        "Severity": 3
    }
}

Contact

Contact Object

ContactName:
string Name of the person. Both name and company can be included. Required. Maximum length: 35.
Company:
string Name of the organization. Both name and company can be included. Maximum length: 35.
StreetLine1:
string First line of the address. Required. Minimum length: 3. Maximum length: 35.
StreetLine2:
string Second line of the address. Required. Maximum length: 35.
ZipCode:
string ZIP or postal code the address is located in. Required. Maximum length: 15.
City:
string City the address is located in. Required. Maximum length: 35.
County:
string County the address is located in. Required. Maximum length: 35.
State:
string State the address is located in. Required. Minimum length: 3. Maximum length: 35.
Country:
string Country the address is located in. Required. Maximum length: 35.
StateCode:
string The state code is only needed for directions within Mexico, USA or Canada. If no state code is provided, we will try to determine it.
CountryCode:
string ISO 3166 country code for the country the address is located in.
Phone1:
string Phone number to reach the person or organization. Required. Minimum length: 10. Maximum length: 13.
Ext1:
string Phone number extension. Maximum length: 5.
Phone2:
string Phone number to reach the person or organization. Maximum length: 13.
Ext2:
string Phone number extension. Maximum length: 5.
MobilePhone:
string Mobile number to reach the person or organization. Maximum length: 13.
Email:
string Email to reach the person or organization. Maximum length: 50.
Notes:
string Additional notes (these notes will not be included in the shipping label). Maximum length: 500.

# Example Object
{
    "Contact": {
        "ContactName": "Luis Pérez",
        "Company": "Airpost Group",
        "StreetLine1": "Av. Patria #3117 O",
        "StreetLine2": "Col. Loma Bonita",
        "ZipCode": "45086",
        "City": "Zapopan",
        "County": "Zapopan",
        "State": "Jalisco",
        "Country": "México",
        "StateCode": "JA",
        "CountryCode": "MX",
        "Phone1": "3326378499",
        "Ext1": "",
        "Phone2": "",
        "Ext2": "",
        "MobilePhone": "",
        "Email": "contacto@airpost.mx",
        "Notes": ""
    }
}

Carrier

Carrier Object

CarrierId:
int AEROFLASH = 1
AMPM = 2
DHL = 3
ESTAFETA = 4
FEDEX = 5
REGIONAL = 6
REDPACK = 7
SENDEX = 8
AIRPOST = 9
UPS = 10
ENVÍA = 11
TUFESA = 12
MÁXIMA = 13
MEXPOST_SEPOMEX = 14
VENCEDOR = 15
DASPACK = 16
VALLARTA_PLUS = 17
AEROMÉXICO = 18
FLECHA AMARILLA = 19
PAQUETEXPRESS = 20
TRAVISA = 21
POTOSINOS = 22
CarrierName:
string Carrier Name
IsSuggestedProvider:
bool Is Suggested Provider

# Example Object
{
    "Carrier": {
        "CarrierId": 9,
        "CarrierName": "AIRPOST",
        "IsSuggestedProvider": true
    }
}

Service

Service Object

ServiceId:
int NATIONAL_ECONOMY = 10
NATIONAL_TWO_DAYS = 11
NATIONAL_EXPRESS = 13
NATIONAL_EXPRESS_PRIORITY = 18
NATIONAL_EXPRESS_PLUS = 19
INTERNATIONAL_ECONOMY = 21
INTERNATIONAL_EXPRESS_PRIORITY = 22
INTERNATIONAL_EXPRESS_PLUS = 23
NATIONAL_SATURDAY_DELIVERY = 24
NATIONAL_ECONOMY_FREIGHT = 29
NATIONAL_EXPRESS_FREIGHT = 30
INTERNATIONAL_ECONOMY_FREIGHT = 31
INTERNATIONAL_EXPRESS_FREIGHT = 32
NATIONAL_SAME_DAY = 38
Carrier:
Carrier Object Carrier
ServiceName:
string Service Name
Unit:
string Unit
PublicPrice:
decimal Public Price
TaxRate:
decimal Tax Rate
Currency:
string MXN
USD
EstimatedDeliveryDate:
string Estimated Delivery Date
IsExtendedArea:
bool Is Extended Area
IncludesPickup:
nullable bool Indicates whether pickup at the sender address is included. For Tres Guerras and Paquetexpress, send true or false from the selected rate when creating the shipment. If omitted or null, the legacy API behavior is preserved. A shipment created with false cannot schedule a pickup later: drop it off at a carrier branch.

# Example Object
{
    "Service": {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 4,
                "CarrierName": "ESTAFETA",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": null,
            "PublicPrice": 0,
            "TaxRate": 0,
            "Currency": null,
            "EstimatedDeliveryDate": null,
            "IsExtendedArea": false,
            "IncludesPickup": null
        }
}

Label

Label Object

ShippingLabelBase64:
string Shipping Label Base64 Format.

# Example Object
{
    "Label": {
        "ShippingLabelBase64": ""
    }
}

Event

Event Object

Code:
string Code.
Description:
string Description
Date:
DateTime Date
Location:
Contact Location
Comments:
string Comments

# Example Object
{
    "Event": 
    {
        "Code": null,
        "Description": "En proceso de entrega Irapuato",
        "Date": "2017-11-08T17:48:00Z",
        "Location": {
            "StreetLine1": null,
            "StreetLine2": null,
            "ZipCode": null,
            "City": "IRAPUATO",
            "County": null,
            "State": "",
            "Country": null,
            "StateCode": null,
            "CountryCode": "MX"
        },
        "Comments": null
    }
}

Package

Package Object

PackageId:
long Unique code.
Service:
Service Service Object
Label:
Label Label Object
TrackingNumber:
string Depending on each parcel, sometimes the TrackingNumber field will be the same as the ShipmentId field, this is because not all parcels handle web services and the documentation process is carried out by these carriers manually, so the label is loaded later or once the package is collected (for example, with Travisa, Potosinos, etc.). In this sense, it is recommended that shipments be tracked by the ShipmentId, since this value never changes and is available immediately when the shipment is generated.
Weight:
decimal Weight must be between 0.1 and 1000.
Length:
decimal Length must be between 0.1 and 1000.
Height:
decimal Height must be between 0.1 and 1000.
Width:
decimal Width must be between 0.1 and 1000.
Content:
string Content
PublicPrice:
decimal Public Price
TaxRate:
decimal Tax Rate
DeclaredValue:
decimal Declared Value must be between 1 and 50000.
Currency:
string MXN
USD
Reference:
string Reference
CostCenter:
string Cost Center
IsPickedUp:
bool Is Picke dUp
IsDelivered:
bool Is Delivered
EstimatedDeliveryDate:
DateTime Estimated Delivery Date
DeliveryDate:
DateTime Delivery Date
ReceivedBy:
string Received By
ShipmentStatus:
string Shipment Status
ShipmentStatusCode:
string Shipment Status Code
ShipmentSubstatus:
string Shipment Substatus
Events:
List of Event List of Event Object

# Example Object
{
    "Package": [
        "PackageId": 999999999,
        "Service": {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 4,
                "CarrierName": "ESTAFETA",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": null,
            "PublicPrice": 0,
            "TaxRate": 0,
            "Currency": null,
            "EstimatedDeliveryDate": null,
            "IsExtendedArea": false,
            "IncludesPickup": null
        },
        "Label": {
            "LabelId": 0,
            "FileName": null,
            "ContentType": null,
            "FileBytes": null,
            "IsMainMergedFile": false
        },
        "TrackingNumber": "9958698217781780277621",
        "Weight": 25.6,
        "Length": 20,
        "Height": 20,
        "Width": 20,
        "Content": "LIBROS",
        "PublicPrice": 210,
        "TaxRate": 0,
        "DeclaredValue": 0,
        "Currency": "MXN",
        "Reference": null,
        "CostCenter": null,
        "IsExtendedArea": false,
        "IsPickedUp": true,
        "IsDelivered": true,
        "EstimatedDeliveryDate": "2017-11-13T22:23:22Z",
        "DeliveryDate": "2017-11-08T18:58:00Z",
        "ReceivedBy": "JAVIER M.",
        "ShipmentStatus": "Entregado",
        "ShipmentStatusCode": "DL",
        "ShipmentSubstatus": "Recibido por: JAVIER M.",
        "Events": []
    }
}

Shipment

Shipment Object

ShipmentId:
long Unique code.
Sender:
Contact Sender
Recipient:
Contact Recipient
ShipmentDate:
DateTime Shipment Date
ValueAddedServices:
List of Service Object Value Added Services
Packages:
List of Package Object Packages
CustomsClearance:
CustomsClearance CustomsClearance

# Example Object
{
    "Shipment": 
    {
        "ShipmentId": 999999,
        "Sender": {
            "ContactName": "Luis Pérez",
            "Company": "Airpost Group",
            "StreetLine1": "Av. Patria #3117 O",
            "StreetLine2": "Col. Loma Bonita",
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "México",
            "StateCode": "JA",
            "CountryCode": "MX",
            "Phone1": "3326378499",
            "Ext1": "",
            "Phone2": "",
            "Ext2": "",
            "MobilePhone": "",
            "Email": "contacto@airpost.mx",
            "Notes": ""
        },
        "Recipient": {
            "ContactName": "Luis Pérez",
            "Company": "Airpost Group",
            "StreetLine1": "Av. Patria #3117 O",
            "StreetLine2": "Col. Loma Bonita",
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "México",
            "StateCode": "JA",
            "CountryCode": "MX",
            "Phone1": "3326378499",
            "Ext1": "",
            "Phone2": "",
            "Ext2": "",
            "MobilePhone": "",
            "Email": "contacto@airpost.mx",
            "Notes": ""
        },
        "ShipmentDate": "2017-11-06T22:23:22Z",
        "ValueAddedServices": [],
        "Packages": [
            {
                "PackageId": 999999999,
                "Service": {
                    "ServiceId": 10,
                    "Carrier": {
                        "CarrierId": 4,
                        "CarrierName": "ESTAFETA",
                        "IsSuggestedProvider": false
                    },
                    "ServiceName": "NACIONAL ECONÓMICO",
                    "Unit": null,
                    "PublicPrice": 0,
                    "TaxRate": 0,
                    "Currency": null,
                    "EstimatedDeliveryDate": null,
                    "IsExtendedArea": false
                },
                "Label": {
                    "LabelId": 0,
                    "FileName": null,
                    "ContentType": null,
                    "FileBytes": null,
                    "IsMainMergedFile": false
                },
                "TrackingNumber": "9958698217781780277621",
                "Weight": 25.6,
                "Length": 20,
                "Height": 20,
                "Width": 20,
                "Content": "LIBROS",
                "PublicPrice": 210,
                "TaxRate": 0,
                "DeclaredValue": 0,
                "Currency": "MXN",
                "Reference": null,
                "CostCenter": null,
                "IsExtendedArea": false,
                "IsPickedUp": true,
                "IsDelivered": true,
                "EstimatedDeliveryDate": "2017-11-13T22:23:22Z",
                "DeliveryDate": "2017-11-08T18:58:00Z",
                "ReceivedBy": "JAVIER M.",
                "ShipmentStatus": "Entregado",
                "ShipmentStatusCode": "DL",
                "ShipmentSubstatus": "Recibido por: JAVIER M.",
                "Events": [
                    {
                        "Code": null,
                        "Description": "En proceso de entrega Irapuato",
                        "Date": "2017-11-08T17:48:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "IRAPUATO",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    },
                    {
                        "Code": null,
                        "Description": "Llegada a centro de distribución Irapuato",
                        "Date": "2017-11-08T15:43:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "IRAPUATO",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    },
                    {
                        "Code": null,
                        "Description": "Llegada a centro de distribución Guadalajara",
                        "Date": "2017-11-07T01:11:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "GUADALAJARA",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    }
                ]
            }
        ],
        "CustomsClearanceDetail": null
    }
}

CustomsClearance

Customs clearance data. Required for international shipments (merchandise). When Electronic Trade Documents (ETD) is enabled, FedEx uses this information to generate and electronically transmit the commercial invoice.

CustomsClearance Object

IsDocument:
bool true when the shipment contains only documents (no commercial invoice is generated). false for merchandise.
CustomsValueAmount:
decimal Total customs value of the shipment. Must be greater than zero for international shipments.
CustomsValueCurrency:
string ISO currency code of the customs value (for example, USD).
DutiesPaymentType:
string Party responsible for duties and taxes. Allowed values: SENDER, RECIPIENT, THIRD_PARTY.
ThirdPartyBrokerage:
bool true when an external customs broker is used.
TermsOfSale:
string Terms of sale (Incoterm). Required for international FedEx shipments when Electronic Trade Documents (ETD) is enabled, so FedEx can generate the electronic commercial invoice. Allowed values: EXW, FCA, FOB, CFR, CIF, CPT, CIP, DAP, DPU, DDP.
ShipmentPurpose:
string Purpose of the shipment. Required for international FedEx shipments when Electronic Trade Documents (ETD) is enabled. Allowed values: SOLD, NOT_SOLD, GIFT, SAMPLE, REPAIR_AND_RETURN, PERSONAL_EFFECTS.
Commodities:
Commodity[] List of goods included in the shipment. At least one is required for international shipments.

# Example Object (international shipment)
{
    "IsDocument": false,
    "CustomsValueAmount": 120.00,
    "CustomsValueCurrency": "USD",
    "DutiesPaymentType": "SENDER",
    "ThirdPartyBrokerage": false,
    "TermsOfSale": "FOB",
    "ShipmentPurpose": "SOLD",
    "Commodities": [
        {
            "Description": "Cotton t-shirts",
            "Quantity": 10,
            "Weight": 3.5,
            "UnitPriceAmount": 12.00,
            "CountryCodeOfManufacture": "MX",
            "HarmonizedCode": "6109100001"
        }
    ]
}

Commodity

A single good/item declared for customs clearance on international shipments.

Commodity Object

Description:
string Description of the commodity.
Quantity:
int Number of units of the commodity.
Weight:
decimal Weight of the commodity. The sum of commodity weights must not exceed the total package weight.
UnitPriceAmount:
decimal Unit price of the commodity.
CountryCodeOfManufacture:
string ISO country code where the commodity was manufactured (for example, MX).
HarmonizedCode:
string Harmonized System (tariff) code of the commodity. Included in the electronic commercial invoice and used for international customs clearance.

GET | Track

Track a shipment.

Track Object

UserName:
string The username used to access to your account
ApiKey:
string The assigned API Key
PreferredLanguage:
int SPANISH = 0
ENGLISH = 1
SearchTerm:
string The shipment id,package id, tracking number, or reference.
TrackingType:
int SHIPMENT_ID = 0
PACKAGE_ID = 1
TRACKING_NUMBER = 2
REFERENCE = 3

# Example Request
https://app.airpost.mx/Api/Track?preferredLanguage=0&searchTerm=70279079&trackingType=2


# Example Response
{
       "Shipments": [
        {
        "ShipmentId": 999999,
        "Sender": {
            "Id": 71632,
            "ContactName": "Luis Pérez",
            "Company": "Airpost Group",
            "GovernmentId": "",
            "TaxpayerId": "",
            "StreetLine1": "Av. Patria #3117 O",
            "StreetLine2": "Col. Loma Bonita",
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "México",
            "StateCode": "JA",
            "CountryCode": "MX",
            "Phone1": "3326378499",
            "Ext1": "",
            "Phone2": "",
            "Ext2": "",
            "MobilePhone": "",
            "Email": "contacto@airpost.mx"
        },
        "Recipient": {
            "Id": 55534,
            "ContactName": "Luis Pérez",
            "Company": "Airpost Group",
            "StreetLine1": "Av. Patria #3117 O",
            "StreetLine2": "Col. Loma Bonita",
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "México",
            "StateCode": "JA",
            "CountryCode": "MX",
            "Phone1": "3326378499",
            "Ext1": "",
            "Phone2": "",
            "Ext2": "",
            "MobilePhone": "",
            "Email": "contacto@airpost.mx"
        },
        "ShipmentDate": "2017-11-06T22:23:22Z",
        "ValueAddedServices": [],
        "Packages": [
            {
                "PackageId": 999999999,
                "Service": {
                    "ServiceId": 10,
                    "Carrier": {
                        "CarrierId": 4,
                        "CarrierName": "ESTAFETA",
                        "IsSuggestedProvider": false
                    },
                    "ServiceName": "NACIONAL ECONÓMICO",
                    "Unit": null,
                    "PublicPrice": 0,
                    "TaxRate": 0,
                    "Currency": null,
                    "EstimatedDeliveryDate": null,
                    "IsExtendedArea": false,
                    "IncludesPickup": null
                },
                "TrackingNumber": "9958698217781780277621",
                "Weight": 25.6,
                "Length": 20,
                "Height": 20,
                "Width": 20,
                "Content": "LIBROS",
                "PublicPrice": {
                    "Amount": 210,
                    "Currency": "MXN"
                },
                "TaxRate": 0,
                "DeclaredValue": {
                    "Amount": 0,
                    "Currency": "MXN"
                },
                "Reference": null,
                "IsExtendedArea": false,
                "IsPickedUp": true,
                "IsDelivered": true,
                "EstimatedDeliveryDate": "2017-11-13T22:23:22Z",
                "EstimatedDeliveryLongDate": "lunes, 13 de noviembre de 2017",
                "DeliveryDate": "2017-11-08T18:58:00Z",
                "ReceivedBy": "JAVIER M.",
                "ShipmentStatus": "Entregado",
                "ShipmentStatusCode": "DL",
                "ShipmentSubstatus": "Recibido por: JAVIER M.",
                "Events": [
                    {
                        "Code": null,
                        "Description": "En proceso de entrega Irapuato",
                        "Date": "2017-11-08T17:48:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "IRAPUATO",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    },
                    {
                        "Code": null,
                        "Description": "Llegada a centro de distribución Irapuato",
                        "Date": "2017-11-08T15:43:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "IRAPUATO",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    },
                    {
                        "Code": null,
                        "Description": "Llegada a centro de distribución Guadalajara",
                        "Date": "2017-11-07T01:11:00Z",
                        "Location": {
                            "StreetLine1": null,
                            "StreetLine2": null,
                            "ZipCode": null,
                            "City": "GUADALAJARA",
                            "County": null,
                            "State": "",
                            "Country": null,
                            "StateCode": null,
                            "CountryCode": "MX"
                        },
                        "Comments": null
                    }
                ]
            }
        ],
        "CustomsClearanceDetail": null
        }
    ],
    "Notifications": [
        {
            "Code": "0",
            "Message": "La solicitud ha sido procesada exitosamente.",
            "Severity": 3
        }
    ]
}

POST | Rate

Rate a shipment.

Tres Guerras and Paquetexpress can return two rates with the same CarrierId and ServiceId, one with pickup at the sender address and one without, because both carriers charge it separately. Use IncludesPickup as part of the rate identity and send that value back inside Packages[].Service when creating the shipment.

Rate Object

UserName:
string The username used to access to your account
ApiKey:
string The assigned API Key
PreferredLanguage:
int SPANISH = 0
ENGLISH = 1
Shipment:
Shipment The shipment to be rated.

# Example Request
    { 
    "PreferredLanguage": 0,
    "Shipment": 
    {
        "Sender": {
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "México",
            "StateCode": "JA",
            "CountryCode": "MX"
        },
        "Recipient": {
            "ZipCode": "06600",
            "City": "Ciudad de México",
            "County": "Cuauhtémoc",
            "State": "Ciudad de México",
            "Country": "México",
            "StateCode": "DF",
            "CountryCode": "MX"
        },
        "Packages": [
            {
                "Weight": 25.6,
                "Length": 20,
                "Height": 20,
                "Width": 20
            }
        ]
    }
}


# Example Response
{
    "Services": [
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 12,
                "CarrierName": "TUFESA",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "18/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 7,
                "CarrierName": "REDPACK",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "19/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 1,
                "CarrierName": "AEROFLASH",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "15/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 8,
                "CarrierName": "SENDEX",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "18/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 4,
                "CarrierName": "ESTAFETA",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "19/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 10,
            "Carrier": {
                "CarrierId": 5,
                "CarrierName": "FEDEX",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL ECONÓMICO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "18/11/2017 09:00:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 13,
            "Carrier": {
                "CarrierId": 5,
                "CarrierName": "FEDEX",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 09:00:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 18,
            "Carrier": {
                "CarrierId": 5,
                "CarrierName": "FEDEX",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS PRIORITARIO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 10:30:00 a.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 34,
            "Carrier": {
                "CarrierId": 10,
                "CarrierName": "UPS",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 4,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 11:30:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 22,
            "Carrier": {
                "CarrierId": 10,
                "CarrierName": "UPS",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS PRIORITARIO",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 4,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 10:30:00 a.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 23,
            "Carrier": {
                "CarrierId": 10,
                "CarrierName": "UPS",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS PLUS",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 4,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 08:30:00 a.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 13,
            "Carrier": {
                "CarrierId": 7,
                "CarrierName": "REDPACK",
                "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL EXPRÉS",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        {
            "ServiceId": 19,
            "Carrier": {
                "CarrierId": 5,
                "CarrierName": "FEDEX",
                "IsSuggestedProvider": true
            },
            "ServiceName": "NACIONAL EXPRÉS PLUS",
            "Unit": "",
            "PublicPrice": 175.50,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "14/11/2017 08:30:00 a.m.",
            "IsExtendedArea": false
        }
    ],
    "Notifications": [
        {
            "Code": "0",
            "Message": "La solicitud ha sido procesada exitosamente.",
            "Severity": 3
        }
    ]
}

POST | Create

Create a shipment.

Shipment Object

UserName:
string The username used to access to your account.
ApiKey:
string The assigned API Key.
PreferredLanguage:
int SPANISH = 0
ENGLISH = 1
Shipment:
Shipment The shipment to be created.

# Example Request
    {
        "PreferredLanguage": 0,
        "Shipment":
        {
            "Sender": {
            "ContactName": "Juan Pérez",
            "Company": "Airpost Group",
            "StreetLine1": "Av. Patria #3117 O",
            "StreetLine2": "Col. Loma Bonita",
            "ZipCode": "45086",
            "City": "Zapopan",
            "County": "Zapopan",
            "State": "Jalisco",
            "Country": "Mexico",
            "StateCode": "JA",
            "CountryCode": "MX",
            "Phone1": "3326378499",
            "Email": "contacto@airpost.mx"
        },
        "Recipient": {
            "ContactName": "Juan Pérez",
            "Company": "Museo Tamayo",
            "StreetLine1": "Paseo de la Reforma #51",
            "StreetLine2": "Col. Bosque de Chapultepec",
            "ZipCode": "11580",
            "City": "Miguel Hidalgo",
            "County": "Miguel Hidalgo",
            "State": "Ciudad de México",
            "Country": "Mexico",
            "StateCode": "DF",
            "CountryCode": "MX",
            "Phone1": "5541228200",
            "Email": "contacto@museo.org"
        },
        "Packages": [
            {
                "Weight": 3,
                "Length": 41,
                "Height": 31,
                "Width": 20,
                "Content": "LIBROS",
                "Service": {
                    "ServiceId": 13,
                    "Carrier": {
                        "CarrierId": 10,
                        "CarrierName": "UPS"
                    }
                }
            }
        ]
    }
}


# Example Response
{
    {
    "Shipment": {
        "ShipmentId": 999669,
        "Sender": {
        "Id": 71632,
        "ContactName": "JUAN PÉREZ",
        "Company": "AIRPOST GROUP",
        "GovernmentId": "",
        "TaxpayerId": "",
        "Phone1": "3326378499",
        "Ext1": "",
        "Phone2": "",
        "Ext2": "",
        "MobilePhone": "",
        "Email": "CONTACTO@AIRPOST.MX",
        "StreetLine1": "AV. PATRIA #3117 O",
        "StreetLine2": "COL. LOMA BONITA",
        "ZipCode": "45086",
        "City": "ZAPOPAN",
        "County": "ZAPOPAN",
        "State": "JALISCO",
        "Country": "MÉXICO (MX)",
        "StateCode": "",
        "CountryCode": ""
    },
    "Recipient": {
        "Id": 55534,
        "ContactName": "JUAN PÉREZ",
        "Company": "MUSEO TAMAYO",
        "GovernmentId": "",
        "TaxpayerId": "",
        "Phone1": "5541228200",
        "Ext1": "",
        "Phone2": "",
        "Ext2": "",
        "MobilePhone": "",
        "Email": "CONTACTO@MUSEO.ORG",
        "StreetLine1": "PASEO DE LA REFORMA #51",
        "StreetLine2": "COL. BOSQUE DE CHAPULTEPEC",
        "ZipCode": "11580",
        "City": "MIGUEL HIDALGO",
        "County": "MIGUEL HIDALGO",
        "State": "CIUDAD DE MÉXICO",
        "Country": "MÉXICO (MX)",
        "StateCode": "",
        "CountryCode": ""
    },
    "ShipmentDate": "2018-01-11T18:11:11",
    "ValueAddedServices": [],
    "Packages": [
        {
        "PackageId": 100251572,
        "Service": {
        "ServiceId": 13,
        "Carrier": {
            "CarrierId": 10,
            "CarrierName": "UPS",
            "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL EXPRÉS",
            "Unit": "",
            "PublicPrice": 530,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "12/01/2018 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        "TrackingNumber": "1Z10A10X0493890107",
        "Weight": 3,
        "Length": 41,
        "Height": 31,
        "Width": 20,
        "TaxRate": 16,
        "PublicPrice": {
        "Amount": 265,
        "Currency": "MXN"
        },
        "DeclaredValue": {
        "Amount": 0,
        "Currency": "MXN"
        },
        "Content": "LIBROS",
        "Reference": "",
        "IsExtendedArea": false,
        "IsPickedUp": false,
        "IsDelivered": false,
        "EstimatedDeliveryDate": "0001-01-01T00:00:00",
        "DeliveryDate": "0001-01-01T00:00:00",
        "ReceivedBy": "",
        "ShipmentStatus": "",
        "ShipmentStatusCode": "",
        "ShipmentSubstatus": "",
        "Events": []
        },
        {
        "PackageId": 100251573,
        "Service": {
        "ServiceId": 13,
        "Carrier": {
            "CarrierId": 10,
            "CarrierName": "UPS",
            "IsSuggestedProvider": false
            },
            "ServiceName": "NACIONAL EXPRÉS",
            "Unit": "",
            "PublicPrice": 530,
            "TaxRate": 16,
            "Currency": "MXN",
            "EstimatedDeliveryDate": "12/01/2018 11:59:00 p.m.",
            "IsExtendedArea": false
        },
        "TrackingNumber": "1Z10A10X0493890116",
        "Weight": 3,
        "Length": 41,
        "Height": 31,
        "Width": 20,
        "TaxRate": 16,
        "PublicPrice": {
        "Amount": 265,
        "Currency": "MXN"
        },
        "DeclaredValue": {
        "Amount": 0,
        "Currency": "MXN"
        },
        "Content": "LIBROS",
        "Reference": "",
        "IsExtendedArea": false,
        "IsPickedUp": false,
        "IsDelivered": false,
        "EstimatedDeliveryDate": "0001-01-01T00:00:00",
        "DeliveryDate": "0001-01-01T00:00:00",
        "ReceivedBy": "",
        "ShipmentStatus": "",
        "ShipmentStatusCode": "",
        "ShipmentSubstatus": "",
        "Events": []
        }
        ]
    },
    "Label": {
        "ShippingLabelBase64": ""
    },
    "Notifications": [
    {
        "Code": "0",
        "Message": "La solicitud ha sido procesada exitosamente.",
        "Severity": 3
    }
    ]
    }
}

GET | Shipments

Returns the list of shipments created by your account, so you can review your latest orders without using the web portal. Results are always scoped to the authenticated account and sorted from newest to oldest. For the full detail and live carrier status of a specific shipment, use Track.

Query Parameters

fromDate:
date Start of the creation date range (yyyy-MM-dd). Optional; defaults to 30 days before toDate. The maximum range allowed is 90 days.
toDate:
date End of the creation date range (yyyy-MM-dd). Optional; defaults to today.
status:
int Optional filter by shipment status.
ALL = 0
CREATED = 1 (label generated, not picked up yet)
IN_TRANSIT = 2 (picked up, not delivered yet)
DELIVERED = 3 (all packages delivered)
page:
int Page number, starting at 1. Optional; defaults to 1.
pageSize:
int Records per page. Optional; defaults to 50 and is capped at 100.

ShipmentSummary Object

ShipmentId:
long Unique code of the shipment. Use it with Track to get the full detail.
ShipmentDate:
datetime Creation date of the shipment.
Reference:
string Reference sent when the shipment was created.
TrackingNumbers:
string[] Tracking numbers of every package in the shipment.
Status:
string CREATED, IN_TRANSIT or DELIVERED. This is the status stored by our system; the detailed carrier status is available through Track. Cancelled shipments are not returned by this endpoint.
CarrierName / ServiceName:
string Carrier and service used for the shipment.
NumberOfPackages:
int Number of packages included in the shipment.
TotalAmount / Currency:
decimal / string Total amount of the shipment and its currency.
Recipient fields:
string RecipientContactName, RecipientCompany, RecipientCity, RecipientState and RecipientCountry.

# Example Request
GET /api/Shipments?fromDate=2026-07-01&toDate=2026-07-31&status=0&page=1&pageSize=50
Authorization: Basic {base64(UserName:ApiKey)}


# Example Response
{
    "Shipments": [
        {
            "ShipmentId": 526268,
            "ShipmentDate": "2026-07-30T13:16:00Z",
            "Reference": "ORDEN-10245",
            "TrackingNumbers": ["794657812345"],
            "CarrierName": "FEDEX",
            "ServiceName": "NACIONAL DIA SIGUIENTE",
            "Status": "IN_TRANSIT",
            "NumberOfPackages": 1,
            "TotalAmount": 245.50,
            "Currency": "MXN",
            "RecipientContactName": "JUAN PEREZ",
            "RecipientCompany": "MUSEO TAMAYO",
            "RecipientCity": "MIGUEL HIDALGO",
            "RecipientState": "CIUDAD DE MEXICO",
            "RecipientCountry": "MEXICO (MX)"
        }
    ],
    "Page": 1,
    "PageSize": 50,
    "TotalCount": 1,
    "TotalPages": 1,
    "Notifications": [
        {
            "Code": 0,
            "Message": "La petición se ha realizado exitosamente.",
            "Severity": 0
        }
    ]
}

GET | Commercial Invoice

Returns the commercial invoice that the carrier generated and transmitted electronically for an international shipment, so you can archive it or share it with your customer. The file is returned as a base64 string, the same way the shipping label is returned when the shipment is created.

Availability: only international shipments created with electronic trade documents enabled include this file. Domestic shipments, document-only shipments and shipments created before this feature was enabled return the NO_RESULTS_HAVE_BEEN_FOUND notification.

Query Parameters

shipmentId:
long Required. Unique code of the shipment, as returned when the shipment was created. The shipment must belong to the authenticated account.

CommercialInvoiceResponse Object

ShipmentId:
long Shipment the document belongs to.
TrackingNumber:
string Tracking number the document was issued for.
DocumentType:
string COMMERCIAL_INVOICE.
FileName / ContentType:
string Suggested file name and MIME type (application/pdf).
CommercialInvoiceBase64:
string The PDF encoded in base64. Decode it to obtain the file. Typical size is around 500 KB, so request it only when you need it.

# Example Request
GET /api/Shipments/CommercialInvoice?shipmentId=538374
Authorization: Basic {base64(UserName:ApiKey)}


# Example Response
{
    "ShipmentId": 538374,
    "TrackingNumber": "875625479233",
    "DocumentType": "COMMERCIAL_INVOICE",
    "FileName": "FacturaComercial_875625479233.pdf",
    "ContentType": "application/pdf",
    "CommercialInvoiceBase64": "JVBERi0xLjQKJeLjz9MKMTM4IDAgb2JqPDwvU3VidHlwZS9Gb3JtL0Zp...",
    "Notifications": [
        {
            "Code": 0,
            "Message": "La petición se ha realizado exitosamente.",
            "Severity": 0
        }
    ]
}

POST | Pickups

Schedules the carrier pickup of one of your shipments. Identify the shipment by the tracking number of any of its packages, by its Airpost shipment number, or by both (they must belong to the same shipment). Only shipments created with your account can be scheduled.

The pickup address is always the sender address of the shipment; it cannot be changed through the API. Without a preference, the pickup is scheduled as soon as possible: today if there is still time, otherwise the next business day. With a preference, it is never scheduled outside of it; if nothing fits, nothing is scheduled and the response includes the closest valid option (Alternative). Weekends, areas without carrier coverage and shipments whose label was bought without pickup are never scheduled.

All times are local to the sender address. Use POST /api/Pickups/Availability with the same body to see the window that would be scheduled without scheduling anything.

Headers

Idempotency-Key:
string Required to schedule. 8 to 100 letters, digits, hyphens or underscores (a UUID works), different for every new request. Sending the same key again returns the stored response instead of requesting another truck, so it is safe to retry a request whose response you did not receive. Reusing a key with a different body is rejected.

Pickup Request Object

TrackingNumber:
string Tracking number of any package of the shipment. Required if ShipmentId is not sent.
ShipmentId:
long Airpost shipment number. Required if TrackingNumber is not sent.
PreferredDate:
string Optional. Preferred date, yyyy-MM-dd.
NotBefore:
string Optional. The pickup window must start at this time or later, HH:mm.
NotAfter:
string Optional. The pickup window must end at this time or earlier, HH:mm.

Pickup Response Object

Status:
string SCHEDULED (HTTP 200) the carrier accepted a new pickup.
ALREADY_SCHEDULED (200) the shipment already had a pending pickup; no other was requested.
JOINED_EXISTING (200) it was added to a pending pickup at the same address; no other truck was requested.
AVAILABLE (200, Availability only) the pickup can be scheduled in Window.
PREFERENCE_UNAVAILABLE (422) nothing fits the preference; see Alternative.
NO_WINDOW / NO_COVERAGE / NOT_ACCEPTED (422) the pickup could not be scheduled; the notifications explain why.
UNCERTAIN (202) the carrier did not answer and the pickup may have been scheduled. Do not request it again: check GET /api/Pickups a few minutes later.
ShipmentId / TrackingNumber:
long / string The shipment and the tracking number of its first package.
Carrier / PickupAddress:
string Carrier of the shipment and the address where the pickup takes place.
Window:
PickupWindow Scheduled, existing or available window: Date (yyyy-MM-dd), StartTime and EndTime (HH:mm) and Description.
Alternative:
PickupWindow With PREFERENCE_UNAVAILABLE, the closest valid window. To accept it, send a new request (with a new Idempotency-Key) with PreferredDate = Alternative.Date and NotBefore = Alternative.StartTime.
ConfirmationNumber:
string Carrier confirmation number, when the carrier provides one.
PickupId:
long Use it with GET /api/Pickups/{PickupId} and POST /api/Pickups/{PickupId}/Cancel.

Limits

Only one request per shipment is processed at a time (HTTP 409 while another one is in progress). Each account can request a limited number of pickups through the API every 24 hours, and every API key a limited number of requests to /api/Pickups per minute (HTTP 429 in both cases).


# Example Request
POST /api/Pickups
Authorization: Basic {base64(UserName:ApiKey)}
Idempotency-Key: 6f1c2b8e-0c7d-4a51-9a43-2d1e8f0b7c55
Content-Type: application/json

{
    "TrackingNumber": "794657812345",
    "PreferredDate": "2026-11-03",
    "NotBefore": "10:00"
}


# Example Response (HTTP 200)
{
    "Status": "SCHEDULED",
    "ShipmentId": 526268,
    "TrackingNumber": "794657812345",
    "Carrier": "FEDEX",
    "PickupAddress": "AV PATRIA 100, CENTRO, 44130 GUADALAJARA",
    "Window": {
        "Date": "2026-11-03",
        "StartTime": "10:00",
        "EndTime": "18:00",
        "Description": "martes 3 de noviembre, de 10:00 a 18:00"
    },
    "Alternative": null,
    "ConfirmationNumber": "GDL1234",
    "PickupId": 48211,
    "Notifications": [
        {
            "Code": "0",
            "Message": "La solicitud ha sido procesada exitosamente. ...",
            "Severity": 3
        }
    ]
}

GET | Pickups

Returns the pickups of your account (scheduled through the API, the web portal or our team), sorted from the latest pickup date. GET /api/Pickups/{PickupId} returns a single pickup in the Pickup field.

Query Parameters

fromDate / toDate:
date Range of pickup dates (yyyy-MM-dd). Optional; defaults from 30 days ago to 30 days ahead. The maximum range allowed is 90 days.
trackingNumber:
string Optional. Only the pickups of this tracking number.
page / pageSize:
int Page number starting at 1, and records per page (defaults to 50, capped at 100).

PickupSummary Object

PickupId:
long Unique code of the pickup.
ShipmentId / TrackingNumber:
long / string The shipment of the tracking number, when it belongs to your account.
Status:
string PENDING, IN_ROUTE, PICKED_UP, CANCELLED or EXCEPTION. StatusDescription explains it in words.
Carrier / ConfirmationNumber:
string Carrier and its confirmation number.
Window:
PickupWindow Date and time window of the pickup, local to the pickup address.
Pieces / WeightKg / PickupAddress:
int / decimal / string What the carrier picks up and where.
CanBeCancelled:
bool Whether POST /api/Pickups/{PickupId}/Cancel can cancel it now.

# Example Request
GET /api/Pickups?fromDate=2026-11-01&toDate=2026-11-30&page=1&pageSize=50
Authorization: Basic {base64(UserName:ApiKey)}


# Example Response
{
    "Pickups": [
        {
            "PickupId": 48211,
            "ShipmentId": 526268,
            "TrackingNumber": "794657812345",
            "Carrier": "FEDEX",
            "ConfirmationNumber": "GDL1234",
            "Status": "PENDING",
            "StatusDescription": "PENDIENTE",
            "Window": {
                "Date": "2026-11-03",
                "StartTime": "10:00",
                "EndTime": "18:00",
                "Description": "martes 3 de noviembre, de 10:00 a 18:00"
            },
            "Pieces": 1,
            "WeightKg": 2.0,
            "PickupAddress": "AV PATRIA 100, CENTRO, 44130 GUADALAJARA",
            "CanBeCancelled": false
        }
    ],
    "Page": 1,
    "PageSize": 50,
    "TotalCount": 1,
    "TotalPages": 1,
    "Notifications": [
        {
            "Code": "0",
            "Message": "La solicitud ha sido procesada exitosamente.",
            "Severity": 3
        }
    ]
}

POST | Cancel pickup

Cancels a pending pickup of your account. Only carriers that allow online cancellation support it (CanBeCancelled tells you in advance); for the rest, contact Airpost. When several tracking numbers share the same carrier pickup, only this tracking number is removed and the truck still comes for the others.


# Example Request
POST /api/Pickups/48211/Cancel
Authorization: Basic {base64(UserName:ApiKey)}


# Example Response (HTTP 200)
{
    "Pickup": { "PickupId": 48211, "Status": "CANCELLED", ... },
    "Notifications": [ { "Code": "0", "Message": "...", "Severity": 3 } ]
}

Notification List

Notification List

0:
SUCCESSFUL_REQUEST SUCCESS
The request has been processed successfully.
1:
UNSUPPORTED_LANGUAGE FAILURE
The preferred language is not currently supported.
2:
WEIGHT_CANNOT_BE_ZERO FAILURE
The weight of the packages to be documented must be greater than zero.
3:
NO_COVERAGE FAILURE
There is no coverage for the information provided.
4:
WEIGHT_EXCEEDS_THE_LIMIT FAILURE
There are no available services for the weight or the dimensions provided.
5:
DATA_IS_INVALID_OR_INCOMPLETE FAILURE
The data in the request you provided is invalid or incomplete.
6:
SENDER_DATA_IS_INVALID_OR_INCOMPLETE FAILURE
The sender data in the request you provided is invalid or incomplete.
7:
RECIPIENT_DATA_IS_INVALID_OR_INCOMPLETE FAILURE
The recipient data in the request you provided is invalid or incomplete.
8:
INVALID_AUTHENTICATION_CREDENTIALS FAILURE
The authentication credentials are not valid.
9:
USER_IS_NOT_ENABLED FAILURE
The user is not enabled.
10:
ACCOUNT_HAS_DEBT FAILURE
Your account is inactive because it has debts. Regularize your situation to continue with the service.
11:
UNSUPPORTED_OPERATION FAILURE
The search criteria is not valid or is not currently supported.
12:
NO_RESULTS_HAVE_BEEN_FOUND FAILURE
No results were found for the search information you have provided.
13:
SHIPMENT_WITHOUT_PACKAGES FAILURE
The shipment must contain at least one package.
34:
SHIPMENT_IS_CANCELLED FAILURE
The shipment is cancelled.
35:
SHIPMENT_ALREADY_PICKED_UP FAILURE
The shipment has already been picked up or delivered.
36:
SHIPMENT_HAS_NO_LABEL FAILURE
The shipment has no label yet, so its pickup cannot be scheduled.
37:
PICKUP_PREFERENCE_UNAVAILABLE FAILURE
No pickup fits the requested date and time. The response includes the closest valid option (Alternative).
38:
PICKUP_NO_WINDOW FAILURE
There are no pickup windows in the next business days for the sender address.
39:
PICKUP_NOT_ACCEPTED FAILURE
The pickup could not be scheduled; the message explains why.
40:
PICKUP_UNCERTAIN FAILURE
The carrier did not confirm the pickup and it may have been scheduled. Do not request it again; check your pickups a few minutes later.
41:
PICKUP_REQUEST_IN_PROGRESS FAILURE
Another pickup request for this shipment (or with this Idempotency-Key) is still in progress.
42:
IDEMPOTENCY_KEY_REQUIRED FAILURE
The Idempotency-Key header is missing or invalid.
43:
IDEMPOTENCY_KEY_CONFLICT FAILURE
The Idempotency-Key was already used with a different request.
44:
PICKUP_DAILY_LIMIT_REACHED FAILURE
The account reached the maximum number of pickup requests through the API in the last 24 hours.
45:
PICKUP_CANNOT_BE_CANCELLED FAILURE
The pickup cannot be cancelled in its current status.
46:
TOO_MANY_REQUESTS FAILURE
Too many requests. Try again in a minute.
47:
SERVICE_UNAVAILABLE FAILURE
The service is temporarily unavailable. Try again later.
                            
                            
                            
Imagen Airpost

Office


7345 W Sand Lake Rd Ste 210 Office 6148
Orlando, FL 32819, EE. UU.




Imagen Airpost

Contact

Please, do not hesitate to contact us should you need any further assistance:

Phones
+52 (33) 31 46 25 82
+52 (33) 26 37 84 99

Email
calidad@airpost.mx

Online Chat
Monday to Friday from 10 a.m. to 7 p.m. (TCM)