Create a PB Presort Pickup Slip

HTTP Request

POST /v1/manifests


A PB Presort pickup slip identifies the shipments in the pickup and contains a unique ID to identify the pickup run. The slip is handed to the Presort Services driver at the time of pickup. Before using PB Presort, please see the PB Presort Overview.


To use PB Presort, a merchant must be enrolled with a PB Presort facility and receive a Mailer ID, Job number, and other information. Please see Onboard a Merchant for PB Presort.

Things to Consider

  1. All shipments with the rates.carrier field set to PBPRESORT are eligible for inclusion in the pickup slip.

  2. A shipment is eligible for inclusion both on and before its shipment date.

  3. Up to 5000 shipments can be included in a single pickup slip.

  4. Shipments, once manifested, cannot be re-manifested.

  5. When creating the pickup slip:

    • Set carrier to PBPRESORT.
    • The MANIFEST_TYPE manifest parameter is not required. It can be either left out or set to NORMAL.
  6. You can add shipments to the pick slip by specifying any combination of the following:

    • The Shipper ID in the SHIPPER_ID parameter to the parameters array. The pickup slip will include all eligible shipments created with that Shipper ID.
    • The tracking numbers in the parcelTrackingNumbers array. The pickup slip will include all eligible shipments with those tracking numbers.
    • The job number in the X-PB-ShipmentGroupId header.
  7. You can filter further by specifying an inductionPostalCode. When specified, the inductionPostalCode value in the manifest request must match the rates.inductionPostalCode value of the shipment.

    If a shipment has no rates.inductionPostalCode, the value in the manifest request must match the shipment’s fromAddress.postalCode.

  8. If the pickup slip contains shipments with different inductionPostalCode values, then a multi-page pickup slip is created, with one inductionPostalCode value per page. The pages are accessed via a single PDF.

  9. If the pickup slip includes packages with different job numbers, the API generates a separate pickup slip for each job number.

  10. Manifest documents retrieved through URLs are available for 24 hours after creation.

Request URIs for Pickup Slips


Request Headers

Name Data Type Description
Authorization String Required. OAuth token generated using the Generate an OAuth Token API.
Content-Type String Required. The media type of the request entity. Set this to application/json.
X-PB-TransactionId String

Required. A unique identifier for the pickup slip, up to 25 characters.

Important: You must ensure this is a unique id.

X-PB-ShipmentGroupId String The job number that represents the agreement between the merchant and PB Presort. This was provided by Pitney Bowes during merchant onboarding for PB Presort. You can specify only one job number per manifest request. To specify multiple job numbers, you must make make multiple API calls.
X-PB-Integrator-CarrierId String The MID that applies to this pickup slip.

Request / Response Elements

See the above Things to Consider before creating the PB Presort pickup slip.

The API call sends and receives a manifest object. The table below describes all the elements in a manifest object. Some fields might not apply to your operation.

Name Data Type Description
carrier String

Required. The carrier to which the manifest applies. For some operations, this field is not present in the response. Valid values:

  • USPS
  • NEWGISTICS (applicable only if creating a manifest)
  • PBPresort (applicable only if creating a manifest)
submissionDate String

Required. The date the shipments are tendered to the carrier. The time must be in GMT/UTC and in one of the following formats:

  • YYYY-MM-DD HH:mm:ss
  • YYYY-MM-DD HH:mm:ss.SSS
fromAddress address object Required. The shipment origin address.
inductionPostalCode String

Postal code where the shipments are tendered to the carrier.

Note: Not applicable to Newgistics manifests.

parcelTrackingNumbers Array[String]

Identifies shipments by their tracking numbers. List one or more shipment tracking numbers, separated by commas.

Note: Not applicable to Newgistics manifests.

parameters Array[Object] Each object in the array defines a different manifest parameter. This field is used only in the request and is not returned in the response.
        name String The name of the manifest parameter.
        value String The value of the manifest parameter.
manifestId String Response Only. The unique manifest ID.
manifestTrackingNumber String Response Only. The manifest tracking number.
documents Array[documents object]

Response Only. The manifest.

Note: Not returned for a Newgistics manifest.

Sample Request

curl -X POST .../v1/manifests \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: 175da21e-1a70-450a-a4b7" \
-d '
    "carrier": "PBPRESORT",
    "submissionDate" : "2017-11-12",
    "parcelTrackingNumbers" : [
    "parameters": [ {
        "name": "SHIPPER_ID",
        "value": "28168562"
    } ]

Sample Response

    "carrier": "PBPRESORT",
    "submissionDate" : "2017-11-12",
    "fromAddress": { ... },
    "parcelTrackingNumbers" : [
    "manifestId": "11111111100582",
    "documents": [ {
        "type": "MANIFEST",
        "contentType": "URL",
        "contents": "https://.../pbpresort/187143416/outbound/manifest/af5644f7134f4f649e673ce2583399f5.pdf"
    } ],
    "parameters": [ {
        "name": "SHIPPER_ID",
        "value": "28168562"
    } ]

Error Codes

For a list of all PB Shipping APIs error codes, see Error Codes.