Skip to main content

Address and Parcel Data

Address and Parcel are embedded values supplied inside Order and Shipment creation. They are not standalone public management resources, and the public API does not provide standalone address verification or correction.

An Order request carries fromAddress, toAddress, and shipments[], and each Shipment carries a parcel. All of it is embedded request data validated in your authenticated Account context — there is no standalone Address or Parcel API to create, look up, or manage these values, and no standalone verification operation.

Address roles​

fromAddress represents the origin or sender, and toAddress represents the destination or recipient. The current domestic validation accepts a contact name or company, requires street, city, state, postal, country, and phone values, and allows an email value when it is valid.

For domestic shipments, the current validation expects:

FieldRule
countrythe US country code. Full names and aliases are rejected
statea two-letter state, territory, or military code
zipa ZIP or ZIP+4 value
name / companyat least one of the two
phonea 10-digit US number
address linesrequired where documented, length-limited, and restricted to plain ASCII characters

Address validation during Order creation​

Mailhub can validate shipment addresses while an Order is being created. Recipient addresses are checked more strictly than sender addresses, and an address validation failure can prevent the Order from being created. The response names which address was rejected.

This check is configuration-dependent, so treat a successful Order as evidence that validation passed rather than as evidence that a specific check ran. See Validation Errors for the documented failure guidance.

Parcel role and validation​

Parcel values describe the package used for Rates and Labels. Validation runs while the request is handled: correct invalid data instead of retrying an unchanged request.

For domestic shipments, the current Mailhub validation treats weight as pounds. It expects a weight greater than 0, and no greater than the Mailhub platform ceiling of 70 lb. That ceiling is a Mailhub platform limit, not a carrier-specific rule.

length, width, and height are in inches. Mailhub sends every carrier request with a dimension unit of inches and a weight unit of pounds, and the public parcel schema carries no unit field to change that, so a dimension you send is read as inches by every carrier Mailhub supports. Predefined package dimensions are published in inches for the same reason.

For a custom parcel, the current domestic validation requires length, width, and height values. A recognized predefined package can supply its own dimensions instead; an unrecognized package value is rejected.

Passing Mailhub request validation does not guarantee that a carrier will accept the parcel. Carriers apply their own eligibility rules, which Mailhub does not republish.

Schema example​

This is the existing Create order request fixture from the reviewed Postman collection. Its dimensions are in inches and its weight in pounds.

{
"fromAddress": {
"name": "Jane Sender",
"street1": "123 Main St",
"city": "Austin",
"state": "TX",
"zip": "78701",
"country": "US",
"phone": "5125550100"
},
"toAddress": {
"name": "John Recipient",
"street1": "456 Oak Ave",
"city": "Denver",
"state": "CO",
"zip": "80202",
"country": "US",
"phone": "3035550100"
},
"shipments": [
{
"parcel": {
"weight": 16,
"length": 10,
"width": 8,
"height": 4
}
}
]
}

See Create an Order for the surrounding workflow and Error Handling when a request is rejected.