Important
The hazmatDetails object will be deprecated July 9, 2023, and will be replaced by the hazmat special service. See HAZMAT-Flagged Items for PB Standard.
Create a PB Standard Delivery Label¶
HTTP Request¶
POST /v1/shipments
Summary¶
This operation creates a PB Standard delivery label. The API returns the label as either a Base64 string that converts to a PNG or to ZPL2, or as a URL that links to a PDF. Labels retrieved through URLs are available for 24 hours after label creation.
Switch Between Standard and Expedited¶
You can write one API call to use for both PB Standard and PB Expedited labels and change the field values as needed. For an example of one API call written for both labels, see Write One Request for PB Expedited and PB Standard.
Address Validation¶
Pitney Bowes verifies addresses for accuracy against current USPS® data and makes corrections to delivery lines and last lines when possible. You can optionally limit the extent of corrections by enabling minimal address validation through the MINIMAL_ADDRESS_VALIDATION shipment option in the shipmentOptions
array. For a comparison of complete and minimal address validation, see What is minimal address validation?
Important
If you enable minimal address validation, the shipper takes 100% responsibility for any undelivered packages due to violation of carrier-addressing guidelines and is responsible for any surcharge or adjustment fee levied by the carrier for such a violation.
Error Handling¶
If your request returns the HTTP 500 Internal Server Error, see these troubleshooting steps.
For other errors, do not resubmit the request without first checking whether the label was created. To check whether the label was created, issue the Retry Shipment API.
Considerations¶
For an overview of PB Standard services and operations, see the Pitney Bowes reference page.
To print PB Standard labels, a merchant must first onboard with PB Standard. During onboarding, Pitney Bowes provides the merchant with a set of PB Standard IDs.
When testing in Sandbox, use the Sandbox values listed for
shipmentOptions
in the Request Elements table.A PB Standard label is a domestic, post-paid label with a USPS-compliant barcode. The label incurs no charges at time of print. A sample label is shown below.
PB Standard labels are supported for domestic shipments only.
To subscribe a PB Standard shipment to notifications, include the
NOTIFICATIONS
special service in the request. The merchant must be configured for PB Standard notifications. See PB Standard Notifications below on this page.Containers Requirement: When shipping with PB Standard Delivery, shippers must containerize parcels. Shippers can print container labels through either the Container API or Merchant Portal.
Automatically Eligible for Close Out: When you create a PB Standard Delivery shipment, the shipment is automatically eligible for manifesting (close out). To close out the day, see Create a PB Standard Delivery Manifest (Closeout).
Request URLs¶
Sandbox: https://shipping-api-sandbox.pitneybowes.com/shippingservices/v1/shipments
Production: https://shipping-api.pitneybowes.com/shippingservices/v1/shipments
Request URLs for APAC Services¶
For PB Standard, Pitney Bowes provides APAC Services for requests that originate in the Asia-Pacific Region. APAC Services use the following Create Shipment URLs. If you use an APAC URL to create a shipment, you must also use an APAC URL if you manifest or void the shipment.
APAC Services Sandbox URL: https://apac-sandbox.shippingapi.pitneybowes.com/shippingservices/v1/shipments?carrier=Newgistics
APAC Services Production URL: https://apac.shippingapi.pitneybowes.com/shippingservices/v1/shipments?carrier=Newgistics
Query Parameter¶
Name |
Description |
---|---|
carrier |
APAC Services Only. If your PB Standard Delivery request originates in the Asia-Pacific Region and if you use the APAC Services, you must set the |
Request Headers¶
Name |
Description |
---|---|
Authorization |
Required. OAuth token generated using the Generate an OAuth Token API. |
Content-Type |
Required. The media type of the request entity. Set this to |
Accept-Language |
Language and country code. Default: |
X-PB-TransactionId |
Required. A unique identifier for the transaction, up to 25 characters. The following characters are allowed: letters, numbers, hyphens ( Important: Ensure this is a unique ID. |
X-PB-UnifiedErrorStructure |
Recommended. Set this to |
Request Elements¶
Name |
Data Type |
Description |
---|---|---|
fromAddress |
Required. The origin address. The
|
|
toAddress |
Required. The destination address. The
|
|
parcel |
Required. The parcel’s weight and dimensions. Enter the correct dimensions to ensure on-time delivery. Important: Incorrect dimensions might lead to an undeliverable parcel or an additional postage fee. |
|
rates |
Array[Rates Object] |
Required. Specifies the carrier, service, and parcel type. The array takes one
|
documents |
Array[Documents Object] |
Required. Defines the label. The array takes one
|
shipmentOptions |
Array[Object] |
Required. Each object in this array defines a shipment option. Each object takes the following two fields, which take string values:
The following options are required or commonly used:
|
references |
Array[Object] |
Merchant-defined reference fields in the shipment data. Each object in the array includes a name-value pair that defines a reference field. See PB Standard References. Note To include reference fields on the label, use the PRINT_CUSTOM_MESSAGE_2 shipment option. |
hazmatDetails |
HAZMAT information for a shipment that includes hazardous materials. Important The hazmatDetails object will be deprecated July 9, 2023, and be replaced by the hazmat special service. See HAZMAT-Flagged Items for PB Standard. |
PB Standard Notifications¶
PB Standard can provide email and text notifications when a shipment is in transit or delivered. To configure a merchant account to receive notifications, contact your PB Standard implementation team or account manager. Once configured, a merchant can subscribe a shipment to notifications by adding the NOTIFICATIONS
special service in the rates.specialServices
array. The NOTIFICATIONS
special service takes the following input parameters:
Parameter |
Value |
---|---|
|
Required. The event for which to receive notifications. Set this to either of the following:
|
|
Required. Enables email notification. Set this to the email address to receive notifications. You must use the same email address for all events. PB Standard accepts only one email address for all notifications. |
|
Enables text notification. Enter the phone number as a string of continuous numbers, without spaces or punctuation. For example: |
For example:
{
"specialServiceId": "NOTIFICATIONS",
"inputParameters": [ {
"name": "RECIPIENT_NOTIFICATION_TYPE",
"value": "ON_DELIVER"
},{
"name": "RECIPIENT_NOTIFICATION_EMAIL",
"value": "widgets@example.com"
},{
"name": "RECIPIENT_NOTIFICATION_PHONE",
"value": "8085551234"
} ]
}
PB Standard References¶
In a PB Standard Delivery shipment, the references
array allows merchants to include reference fields in the shipment data. The information entered will appear in manifest files and invoices.
The references
array takes up to three objects, each of which maps to a specific field in the PB Standard data. The first object maps to the PB Standard “ReferenceNumber” field; the second to the “AddlRef1” field; and the third to the “AddlRef2” field. For each object you include, enter the name
string as shown below. If you enter a different string, the system will change it. For each value
field, enter a string of up to 50 characters. The following shows the reference
field with the maximum three objects:
{
"name": "ReferenceNumber",
"value": "<shipper-generated value>"
},{
"name": "AddlRef1",
"value": "<shipper-generated value>"
},{
"name": "AddlRef2",
"value": "<shipper-generated value>"
}
The values entered in the references
array will not appear on shipping labels. To print reference fields on shipping labels, set the PRINT_CUSTOM_MESSAGE_2 shipment option in the shipmentOptions
array.
PB Standard HAZMAT Details¶
Important
The hazmatDetails object will be deprecated on July 9, 2023 and will be replaced by the hazmat special service. For details, see HAZMAT-Flagged Items for PB Standard.
The hazmatDetails
object contains information on hazardous materials for a shipment that has HAZMAT-flagged items. The object takes one field, the containerDetails
array. The array, in turn, takes one or more objects. Each object in the array takes the fields below. For an example, see this sample request.
Name |
Data Type |
Description |
---|---|---|
commodityInfo |
Array[Object] |
Information about the material inside the containers. |
commodityInfo.hazardClass |
String |
Class of the specified commodity. Valid values are:
|
commodityInfo.quantity |
Integer |
The amount of the commodity. |
commodityInfo.quantityUOM |
String |
The unit of measure. |
Response Elements¶
Name |
Data Type |
Description |
---|---|---|
fromAddress |
The origin address. |
|
toAddress |
The destination address. |
|
parcel |
The parcel’s weight and dimensions |
|
rates |
Array[Rates Object] |
The carrier, service, parcel type, and service charges. |
documents |
Array[Documents Object] |
Returns the label as a URL or Base64 string. |
shipmentOptions |
Array[Object] |
Each object in the array defines a shipment option. |
references |
Array[Object] |
Each object in the array defines a reference field. |
hazmatDetails |
HAZMAT information if the shipment includes hazardous materials. |
|
shipmentId |
String |
The unique identifier for the shipment generated by the system. |
parcelTrackingNumber |
String |
The tracking number assigned to the shipment. |
Sample Requests¶
See the following:
Parcel Select Shipment Sample Request¶
The following sample request prints a PB Standard Parcel Select label. The request passes facility IDs through the shipmentOptions
array and reference fields through the references
array:
curl -X POST ".../v1/shipments" \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: 5a2d2cf4-f2c4-41ba-91e2" \
-H "X-PB-UnifiedErrorStructure: true" \
-d '
{
"fromAddress": {
"company": "Gallery",
"name": "Dave Miller",
"residential": false,
"addressLines": [
"12174 S Euclid St"
],
"cityTown": "Garden Grove",
"stateProvince": "CA",
"postalCode": "92840",
"countryCode": "US"
},
"toAddress": {
"company": "Shop",
"name": "Jane Lee",
"addressLines": [
"400 S Santa Fe Ave"
],
"cityTown": "Salina",
"stateProvince": "KS",
"postalCode": "67401",
"countryCode": "US"
},
"parcel": {
"weight": {
"unitOfMeasurement": "OZ",
"weight": "32"
},
"dimension": {
"unitOfMeasurement": "IN",
"length": "8",
"width": "4",
"height": "6"
}
},
"rates": [ {
"carrier": "PBCS",
"serviceId": "PRCLSEL",
"parcelType": "PKG",
"specialServices": [ {
"specialServiceId": "DelCon",
"inputParameters": [ ]
} ]
} ],
"documents": [ {
"size": "DOC_4X6",
"fileFormat": "ZPL2",
"contentType": "BASE64",
"type": "SHIPPING_LABEL"
} ],
"shipmentOptions": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
},{
"name": "CLIENT_FACILITY_ID",
"value": "0093"
},{
"name": "CARRIER_FACILITY_ID",
"value": "1585"
},{
"name": "PRINT_CUSTOM_MESSAGE_2",
"value": "Leave at door."
}
],
"references": [ {
"name": "ReferenceNumber",
"value": "45-67891"
},{
"name": "AddlRef1",
"value": "d576-5432124CC78"
},{
"name": "AddlRef2",
"value": "CC4321"
} ]
}'
{
"fromAddress": {
"company": "Gallery",
"name": "Dave Miller",
"residential": false,
"addressLines": [
"12174 Euclid St"
],
"cityTown": "Garden Grove",
"stateProvince": "CA",
"postalCode": "92840-3304",
"countryCode": "US",
"deliveryPoint": "74"
},
"toAddress": {
"company": "Shop",
"name": "Jane Lee",
"residential": false,
"addressLines": [
"400 S Santa Fe Ave"
],
"cityTown": "Salina",
"stateProvince": "KS",
"postalCode": "67401-4144",
"countryCode": "US",
"deliveryPoint": "00"
},
"parcel": {
"weight": {
"unitOfMeasurement": "OZ",
"weight": 32.0
},
"dimension": {
"length": 8.0,
"width": 4.0,
"height": 6.0,
"unitOfMeasurement": "IN",
"irregularParcelGirth": 0.0
}
},
"rates": [ {
"carrier": "PBCS",
"parcelType": "PKG",
"specialServices": [ {
"specialServiceId": "DelCon",
"inputParameters": [ ]
} ],
"serviceId": "PRCLSEL"
} ],
"documents": [ {
"contentType": "BASE64",
"fileFormat": "ZPL2",
"pages": [ {
"contents": "XlhBXkxIMCwxNX5TRDIwXkxSTl5DSTI3Xk..."
} ],
"size": "DOC_4X6",
"type": "SHIPPING_LABEL"
} ],
"shipmentOptions": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
},{
"name": "CLIENT_FACILITY_ID",
"value": "0093"
},{
"name": "CARRIER_FACILITY_ID",
"value": "1585"
},{
"name": "PRINT_CUSTOM_MESSAGE_2",
"value": "Leave at door."
}
],
"references": [ {
"name": "ReferenceNumber",
"value": "45-67891"
},{
"name": "AddlRef1",
"value": "d576-5432124CC78"
},{
"name": "AddlRef2",
"value": "CC4321"
} ],
"parcelTrackingNumber": "4206740192612901006014000001025096",
"shipmentId": "NGST2200744454"
}
Hazardous Materials Shipment Sample Request¶
The following sample request prints a PB Standard label for a HAZMAT-flagged shipment. The HAZMAT information is passed through the hazmatDetails object.
Important
The hazmatDetails object will be deprecated July 9, 2023, and be replaced by the hazmat special service. See HAZMAT-Flagged Items for PB Standard.
curl -X POST ".../v1/shipments" \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: 5a2d2cf4-f2c4-41ba-91e2" \
-H "X-PB-UnifiedErrorStructure: true" \
-d '
{
"fromAddress": {
"company": "Supplies",
"name": "John Smith",
"residential": true,
"addressLines": [
"1545 W Railroad Dr"
],
"cityTown": "Glenns Ferry",
"stateProvince": "ID",
"postalCode": "83623",
"countryCode": "US"
},
"toAddress": {
"company": "Equipment",
"name": "Bill Wilson",
"addressLines": [
"643 Greenway Rd"
],
"cityTown": "Boone",
"stateProvince": "NC",
"postalCode": "28607",
"countryCode": "US"
},
"parcel": {
"weight": {
"unitOfMeasurement": "OZ",
"weight": "50"
},
"dimension": {
"unitOfMeasurement": "IN",
"length": "6",
"width": "3",
"height": "8"
}
},
"rates": [ {
"carrier": "PBCS",
"serviceId": "PRCLSEL",
"parcelType": "PKG",
"specialServices": [ {
"specialServiceId": "NOTIFICATIONS",
"inputParameters": [ {
"name": "RECIPIENT_NOTIFICATION_TYPE",
"value": "ON_DELIVER"
},{
"name": "RECIPIENT_NOTIFICATION_EMAIL",
"value": "john@example.com"
} ]
} ]
} ],
"documents": [ {
"size": "DOC_4X5",
"fileFormat": "PDF",
"contentType": "URL",
"type": "SHIPPING_LABEL"
} ],
"shipmentOptions": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
},{
"name": "CLIENT_FACILITY_ID",
"value": "0093"
},{
"name": "CARRIER_FACILITY_ID",
"value": "1585"
},{
"name": "PRINT_CUSTOM_MESSAGE_2",
"value": "Shipping Ref#: 5678"
}
],
"references": [ {
"name": "ReferenceNumber",
"value": "5678"
}, {
"name": "AddlRef1",
"value": "345ef678"
} ],
"hazmatDetails": {
"containerDetails": [ {
"commodityInfo": [ {
"hazardClass": "Gases"
} ]
} ]
}
}'
{
"fromAddress": {
"company": "Supplies",
"name": "John Smith",
"residential": true,
"addressLines": [
"1545 W Railroad Dr"
],
"cityTown": "Glenns Ferry",
"stateProvince": "ID",
"postalCode": "83623-5015",
"countryCode": "US",
"deliveryPoint": "45"
},
"toAddress": {
"company": "Equipment",
"name": "Bill Wilson",
"residential": false,
"addressLines": [
"643 Greenway Rd"
],
"cityTown": "Boone",
"stateProvince": "NC",
"postalCode": "28607-4819",
"countryCode": "US",
"deliveryPoint": "99"
},
"parcel": {
"weight": {
"unitOfMeasurement": "OZ",
"weight": 50.0
},
"dimension": {
"length": 6.0,
"width": 3.0,
"height": 8.0,
"unitOfMeasurement": "IN",
"irregularParcelGirth": 0.0
}
},
"rates": [ {
"carrier": "PBCS",
"parcelType": "PKG",
"specialServices": [ {
"inputParameters": [ {
"name": "RECIPIENT_NOTIFICATION_TYPE",
"value": "ON_DELIVER"
},{
"name": "RECIPIENT_NOTIFICATION_EMAIL",
"value": "john@example.com"
} ],
"specialServiceId": "NOTIFICATIONS"
} ],
"serviceId": "PRCLSEL"
} ],
"documents": [ {
"contentType": "URL",
"contents": "https://.../8a4968574a48DA2ac66d9d9af311387e.pdf",
"fileFormat": "PDF",
"size": "DOC_4X5",
"type": "SHIPPING_LABEL"
} ],
"shipmentOptions": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
},{
"name": "CLIENT_FACILITY_ID",
"value": "0093"
},{
"name": "CARRIER_FACILITY_ID",
"value": "1585"
},{
"name": "PRINT_CUSTOM_MESSAGE_2",
"value": "Shipping Ref#: 5678"
}
],
"references": [ {
"name": "ReferenceNumber",
"value": "5678"
},{
"name": "AddlRef1",
"value": "345ef678"
} ],
"hazmatDetails": {
"containerDetails": [ {
"commodityInfo": [ {
"hazardClass": "Gases"
} ]
} ]
},
"parcelTrackingNumber": "4202860792612901006014000001032896",
"shipmentId": "NGST2029831289065841"
}
Sample PB Standard Delivery Label¶
The top of label displays the Return Address, the Endorsement (for example: “Return Service Requested”), and the Ship To Address.
The middle of label displays the service (for example: Parcel Select) and displays information used internally by PB Standard.
The bottom of label displays the USPS Tracking Barcode and the Delivery Post Office.

Error Codes¶
For a list of all error codes returned by the Ecommerce APIs, please see Error Codes.