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:
| Field | Rule |
|---|---|
country | the US country code. Full names and aliases are rejected |
state | a two-letter state, territory, or military code |
zip | a ZIP or ZIP+4 value |
name / company | at least one of the two |
phone | a 10-digit US number |
| address lines | required 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.