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.

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.

The current public contract does not define units for length, width, or height, so this documentation does not prescribe dimension units.

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 — dimension units are not prescribed

This is the existing Create order request fixture from the reviewed Postman collection. The numeric dimensions illustrate the request shape only.

{
"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.