Overview
USPS Ship and PC Postage are separate USPS integrations available through EasyPost. They differ in account setup, rating, billing behavior, validation, label formats, and feature support.
USPS Ship uses USPS's newer APIs and live account-specific rating. As a result, it can apply stricter validation to shipment data than the legacy PC Postage integration. A shipment that worked with PC Postage may need to be adjusted before it can be rated or purchased through USPS Ship.
For the complete carrier field definitions and current requirements, see the USPS API documentation. USPS provides downloadable OpenAPI schemas from that portal. EasyPost's integration-specific behavior is documented in the USPS Ship Carrier Guide.
Account Setup and Billing
| Feature | PC Postage | USPS Ship |
| Account Ownership | EasyPost-managed | USPS-managed (OAuth) |
| Setup | Automatically available | Requires USPS authorization |
| Billing | EasyPost Wallet | EasyPost Wallet, with USPS-managed rates and fees |
| Rate Source | EasyPost rate cards | Live USPS rates configured for the USPS Ship account or contract |
Key Behavioral Differences
| Feature | USPS Ship | PC Postage | Notes |
| Parcel Dimensions Required | Yes | May accept weight-only parcels in some legacy flows | USPS Ship requires positive length, width, and height values for parcel rating. As of July 12, 2026, USPS also requires dimensions on commercial parcel manifests. Send dimensions for both USPS Ship and PC Postage shipments to meet current USPS requirements. |
| Delivery Date in Rates | Yes | No | USPS Ship returns delivery_date during rating when available. |
| Label Default Format | PNG | Both support PDF, PNG, ZPL | |
| Post-Manifest Refunds | 10% fee applied | Full refund | USPS charges a 10% fee for unused USPS Ship labels refunded after manifest. |
| Rating Source | Live API | Rate tables | USPS Ship retrieves rates directly from USPS systems, and rates may vary by account or contract. |
USPS Ship Validation Limits
The USPS Ship API validates additional fields beyond the standard EasyPost shipment object requirements. The following are key requirements to review when migrating from PC Postage to USPS Ship. Some requirements vary based on the service, destination, package type, or label workflow.
These USPS Ship requirements do not represent a complete list of EasyPost field requirements. Fields included in the USPS OpenAPI schema may not be available through the EasyPost USPS Ship integration.
Address Fields
| Field or Rule | USPS Ship Limit or Requirement | Migration Note |
| Name or Company | A name or company/firm is required on each applicable address. | If name is provided, use a first and last name separated by a space, such as Jane Doe. A one-word name, such as Madonna, can fail USPS Ship validation. A company-only address can be used when appropriate. |
| First name / Last name | 1-50 characters each | EasyPost splits a combined name into first and last name for USPS Ship. A component longer than 50 characters can be rejected by USPS. |
| Company / Firm | Up to 50 characters | Use for a business name when an individual recipient name is not available. |
street1 / street address |
1-50 characters | Street addresses longer than 50 characters can be rejected even when accepted through PC Postage. |
street2 / secondary address |
Up to 50 characters | Keep apartment, suite, unit, and other secondary information within the 50-character limit. |
| City | 1-28 characters | Keep city names within the 28-character limit. |
| State | Exactly two characters and a valid USPS state or territory code for domestic addresses | International province and state requirements vary by destination. |
| ZIP code | Five digits; ZIP+4 is four additional digits when represented separately | USPS address validation can reject an address that is correctly formatted but not recognized by USPS. |
| Phone | USPS carrier payload uses a digits-only phone pattern | EasyPost may normalize phone values. Use digits only for USPS Ship. |
| Up to 50 characters and must match the USPS email pattern when used | Use a valid email address without additional display text. | |
| International Postal Code | Up to 11 characters, subject to destination-specific rules | International postal code and province requirements vary by country. |
| International Province | Up to 40 characters | Some destinations require a province code or have additional duties and tax requirements. |
| Country | Two-letter ISO country code | Use the country code expected by the EasyPost API, such as US, CA, or GB. |
Parcel and Rating Fields
| Field or Rule | USPS Ship Limit or Requirement | Migration Note |
| Length, width, and height | All three dimensions must be present and positive for ordinary parcel rating. | Provide positive values for length, width, and height. Providing only one or two dimensions can return the error: All of length, width, and height must be positive values. |
| Weight | Positive weight; maximum 1,120 ounces / 70 pounds for the domestic USPS Ship path | Weight is represented in ounces in the EasyPost Parcel object. International limits vary by destination and service. |
| Domestic Length Plus Girth | Generally up to 108 inches; Ground Advantage may allow up to 130 inches | Confirm the service-specific limit before migrating oversized parcels. |
| International Size and Weight | Varies by destination country and mail class | Refer to the USPS API specification and current USPS rate and eligibility tools for destination-specific limits. |
| Predefined Packages | Package handling is conditional; specifying a package name does not necessarily populate dimensions. | Validate the predefined package, service, and label workflow. PARCEL without dimensions can be rejected by USPS Ship. |
| Mailing Date | Generally today through seven days in advance | Future mailing dates and manifest timing can affect label creation and refund behavior. |
Customs Fields
| Field or Rule | USPS Ship Limit or Requirement | Migration Note |
| Customs Item Count | 1-30 items when a customs form is required | International requests require a structured customs form and at least one content item. |
| Item Description | 1-30 characters | Use a specific description. Generic values such as Gift, Merchandise, N/A, None, and Null can be rejected. |
| Item Quantity | Integer from 1 through 9,999 | Keep the item quantity within this limit. |
| Item Total Value | USD 0.01-999,999.99 | Use the value of the described item, rather than a generic or placeholder value. |
| Item Total Weight | Must be greater than zero | Provide a positive item weight using the unit expected by the EasyPost CustomsItem object. |
| HS Tariff Number | 6-14 characters | Keep the HS tariff number within this limit. |
| Country of Origin | Two uppercase letters | Use a two-letter, ISO-style country code, such as US or CN. |
| AES / ITN | 1-35 characters when applicable | Provide the ITN or applicable USPS exemption for international shipments. |
| Content or Restriction comments | Up to 25 characters in the applicable USPS fields | Some values are conditionally required when a restriction or other content type is selected. |
| Invoice / license / certificate numbers | Maximum 15 / 16 / 12 characters respectively | These fields are conditional and may be required for specific customs scenarios. |
Options, References, and Label Constraints
| Field or Feature | USPS Ship Behavior | Migration Note |
registered_mail |
Not supported. | Remove registered_mail and registered_mail_amount when migrating from PC Postage. |
return_receipt |
Requires certified_mail. |
A return receipt without Certified Mail can fail before label creation. |
| Print Custom Fields | EasyPost exposes print_custom_1 through print_custom_3. |
Keep each value within the USPS 30-character reference limit. |
| USPS Ship Label Formats | PDF, PNG, and ZPL through EasyPost | Standard domestic label sizes are 4x6 and 4x5; international labels are 4x6. Specialized letter and flat workflows can have different label behavior. |
| PC Postage Label Formats | PNG, PDF, ZPL, and EPL2 in applicable workflows | PC Postage may support additional legacy label sizes and format combinations. |
| First Class Letters and Flats | Label generation is supported; tracking and format behavior depend on the workflow. | Tracking behavior for First Class Letters and Flats differs from standard parcel tracking. |
Common Validation Errors and Fixes
| Error or Failure | Resolution |
A first and last name is required if passed in |
Use a name with at least two parts, such as Jane Doe, or remove the one-word name and provide an appropriate company or firm value. |
A name or a company is required |
Provide either a name or company on the applicable address. |
All of length, width, and height must be positive values |
Provide positive length, width, and height values. All three dimensions are required. |
Customs description exceeds the maximum length |
Shorten the description to 30 characters or fewer and use a specific description instead of a generic category. |
registered_mail is not a supported service option |
Registered Mail is supported through PC Postage but not USPS Ship. Remove the option or continue using PC Postage when registered_mail is required. |
|
USPS Address Error. Examples:
|
Correct the address, or pass "address_validation_level": "0" in your Shipment Options. |
Feature Support Differences
The following features are supported differently between USPS Ship and PC Postage. Service-specific and account-specific restrictions may still apply.
| Feature | USPS Ship | PC Postage | Notes |
| Registered Mail | Not supported | Supported | Remove the Registered Mail options when migrating to USPS Ship. |
| Surcharges | Supported | Supported | Amounts and availability can differ because USPS Ship uses live account-specific rating. |
| Pickups | Supported | Supported | Account and service eligibility still apply. |
| First Class Letters and Flats Tracking | Flow-dependent; do not assume ordinary parcel tracking | Supported in applicable PC Postage flows | |
| First Class Letters and Flats Label Formats | PDF, PNG, and ZPL | PDF, PNG, ZPL, and applicable EPL2 support |
Carrier Account Type Reference
The following carrier account types may appear in API responses or carrier account objects.
| Carrier Account Type | Description |
UspsShipAccount |
USPS Ship carrier account |
UspsShipPlatformAccount |
USPS Ship platform/end-merchant account |
USPS |
PC Postage USPS account |
Shared Features
Both USPS Ship and PC Postage support many core capabilities, including:
- Label Broker
- Hazardous Materials (Hazmat), subject to service and regulatory restrictions
- Adult Signature and Delivery Confirmation
- Live Animal shipments, where supported
- Certified Mail and Return Receipt, subject to the required option combination
- ScanForms and future dating
- First Class Letters and Flats label generation
- Library and Media Mail
- Priority and international services
- Print custom fields (
print_custom_1throughprint_custom_3) - Endorsements, where supported
- PDF and PNG label formats; ZPL is available in applicable flows
USPS Ship Migration Checklist
Before switching an existing integration from PC Postage to USPS Ship, verify that:
- Every parcel includes positive
length,width,height, andweightvalues. - Every applicable address includes either a valid two-part
nameor acompanyvalue. - Address fields stay within the USPS Ship length and format limits.
- Customs descriptions are specific and 30 characters or fewer.
- HS tariff numbers are 6-14 characters and item quantities are 1-9,999.
- Registered Mail options are removed if the shipment will use USPS Ship.
-
return_receiptis paired withcertified_mailwhen used. - The selected USPS Ship service, label format, label size, and special-service combination has been tested.
- Any use of
address_validation_levelis intentional and limited to address-validation errors.
When to Use Each Integration
Use PC Postage when:
- Minimal setup is preferred
- EasyPost-managed billing and rates are sufficient
- Registered Mail is required
- A legacy label format or workflow is required and has been verified as supported
Use USPS Ship when:
- A USPS contract with negotiated rates is required
- Direct access to USPS-configured rates is required
- Delivery dates are required during rating
- Advanced configurations, such as child-user or platform segmentation, are required
FAQs
Q: Why are parcel dimensions required for USPS Ship but not PC Postage?
USPS Ship retrieves live rates directly from USPS systems, and the USPS Ship label path requires positive length, width, and height values. Some legacy PC Postage flows may still return rates using weight alone, but USPS guidance requires dimensions on commercial parcel manifests beginning July 12, 2026. We recommend sending all three dimensions for both integrations going forward.
Q: Can I bypass USPS Ship address validation?
For an address-specific validation error, try the EasyPost shipment option address_validation_level with a value of "0":
{
"options": {
"address_validation_level": "0"
}
}
This requests the minimum amount of address information for USPS postage validation and can help with some USPS address-validation errors. It does not bypass every USPS Ship requirement. It will not correct a one-word name, supply a missing name or company, allow fields over USPS length limits, add missing parcel dimensions, validate customs data, or enable an unsupported service or option. Use it only when the address information is otherwise accurate, since it relaxes validation and does not guarantee deliverability.
Q: Why does a name that worked with PC Postage fail with USPS Ship?
USPS Ship maps a combined EasyPost name into first-name and last-name fields. A one-word name cannot be split into both fields and may be rejected. Use a real first-and-last name, or use a company/firm value when the address represents a business rather than an individual.
Q: Why is a customs item description rejected?
USPS Ship limits customs item descriptions to 30 characters and may reject generic descriptions such as Gift or Merchandise. Use a short, specific description such as Cotton shirt or Plastic toy parts. Also verify that HS tariff numbers contain 6-14 characters and that item quantities do not exceed 9,999.
Q: Why is Registered Mail unavailable after switching to USPS Ship?
Registered Mail is supported by the PC Postage integration but is not supported by EasyPost's USPS Ship integration. Remove registered_mail and registered_mail_amount, or continue using PC Postage for that requirement.
Q: Why is the label format different between USPS Ship and PC Postage?
USPS Ship defaults to PDF and exposes PDF, PNG, and ZPL through EasyPost. PC Postage defaults to PNG and may support additional legacy formats such as EPL2. Label formats and sizes can vary for specialized Letter, Flat, Card, customs, and international flows, so test the exact combination used by your application.
Q: Does USPS Ship return tracking for First Class Letters and Flats?
Tracking behavior depends on the exact USPS Ship label flow. EasyPost returns a tracking value for First Letter and First Flat examples, but that value should not automatically be treated as ordinary parcel tracking.
Q: Why is there a fee when refunding a USPS Ship label after manifest?
USPS charges a 10% fee for unused USPS Ship labels that are refunded after manifest. The fee is deducted from the refund amount returned to the EasyPost Wallet.