Purolator Pickup Virtual Sandbox
API for scheduling, modifying, and managing courier pickup requests.
The Purolator Pickup API allows developers to programmatically manage shipment pickups. It supports scheduling new pickups, modifying existing requests, retrieving pickup history, and voiding scheduled pickups, providing a complete lifecycle management tool for logistics integration.
Use this hosted sandbox to simulate Purolator Pickup APIs without authentication, API keys, or extra dependencies. Point your code or SDK to the Beeceptor base URL, preferably through an environment variable or feature flag, and switch back to the production API when ready.
This keeps your integration code consistent across local development, QA, demos, and production.
Use cases:
Use this sandbox to validate pickup scheduling payloads, address validation logic, time-window availability, modification request workflows, and error handling for voiding or retrieving historical pickup data before integrating with Purolator production systems.
pickup(4 operations)
POST
| Header Name | Example |
|---|---|
x-api-key* | "dolor ea" |
Language* | "EN" |
RequestReference | "dolor eiusmod velit ipsum" |
{
"contactInfo": {
"company": "Tromp and Sons",
"name": "Mr. Jeremy McClure",
"phoneExtension": "9",
"phoneNumber": "+17495772518"
},
"freight": {
"accessorialParameters": [
{
"keyword": "ID",
"keywordValue": true
},
{
"keyword": "ID",
"keywordValue": true
}
],
"codAmount": 108.29,
"customerReferences": {
"0": "PO",
"1": "BOL"
},
"declaredValue": 863.27,
"lineItemDetails": [
{
"description": "Electronics",
"freightClass": "60",
"handlingUnit": 4,
"handlingUnitType": "BOX",
"height": 46.54,
"length": 31.79,
"lineNumber": 6,
"pieces": 29,
"weight": 10.55,
"width": 34.67
}
],
"paymentInfo": {
"billingAccountNumber": "6",
"paymentType": "Sender"
},
"pickUpOptions": "Oversize"
},
"lineOfBusiness": "Courier",
"pickupAddress": {
"address": {
"0": "123 Main St"
},
"city": "West Mohammed",
"country": "CA",
"postalCode": "X0O 0Z7",
"province": "ON"
},
"pickupInstructions": {
"additionalInstructions": "Fragile contents",
"anyTimeAfter": "09:00",
"date": "2027-02-21T00:00:00.0Z",
"loadingDockAvailable": false,
"measurementUnit": "Imperial",
"numberOfSkids": 17,
"pickupLocation": "FrontDesk",
"shipmentOnSkids": true,
"supplyRequestCodes": {
"0": "ExpressEnvelope"
},
"totalWeight": 401.8,
"trailerAccessible": true,
"untilTime": "15:00"
},
"pickupNotificationEmail": "Briana48@yahoo.com",
"registeredAccountNumber": "1",
"shipmentSummary": [
{
"destinationCode": "USA",
"modeOfTransport": "Ground",
"totalPieces": 26,
"totalWeight": 68.4
},
{
"destinationCode": "DOM",
"modeOfTransport": "Ground",
"totalPieces": 2,
"totalWeight": 44.4
},
{
"destinationCode": "INTL",
"modeOfTransport": "Ground",
"totalPieces": 66,
"totalWeight": 142.7
}
]
}{
"pickupConfirmationNumber": "3"
}{
"errors": [
{
"code": "9001-20",
"description": "Shipment summary is required."
}
]
}{
"message": "User is not authorized to access this resource."
}{
"code": "9001-73",
"description": "There is an unknown internal server error. Please try again later."
}Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.PUT
| Header Name | Example |
|---|---|
x-api-key* | "esse" |
Language* | "FR" |
RequestReference | "labore" |
{
"pickupConfirmationNumber": "2",
"pickupInstructions": {
"additionalInstructions": "Gate code 1234",
"measurementUnit": "imperial",
"pickupLocation": "FrontDesk",
"supplyRequestCodes": [
"ExpressEnvelope"
],
"untilTime": "18:00"
},
"registeredAccountNumber": "9",
"shipmentSummary": [
{
"destinationCode": "DOM",
"totalPieces": 5,
"totalWeight": 72.4
},
{
"destinationCode": "INTL",
"totalPieces": 39,
"totalWeight": 77.1
}
]
}{
"pickupConfirmationNumber": "2"
}{
"errors": [
{
"code": "9001-19",
"description": "Shipment summary is required."
}
]
}{
"message": "User is not authorized to access this resource."
}{
"code": "9001-73",
"description": "There is an unknown internal server error. Please try again later."
}Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.POST
| Header Name | Example |
|---|---|
x-api-key* | "qui" |
Language* | "EN" |
RequestReference | "velit magna consectetur" |
{
"fromDate": "2026-07-03T00:00:00.0Z",
"lineOfBusiness": "Courier",
"pickupConfirmationNumber": [
"2214236",
"3326587"
],
"registeredAccountNumber": "6",
"status": "PickedUp",
"toDate": "2026-08-22T00:00:00.0Z"
}{
"pickupDetails": [
{
"contactInfo": {
"company": "Doyle LLC",
"name": "Mr. Franklin Runolfsdottir",
"phoneExtension": "9",
"phoneNumber": "+13372987492"
},
"freight": {
"accessorialParameters": [
{
"keyword": "ID",
"keywordValue": true
},
{
"keyword": "ID",
"keywordValue": true
}
],
"codAmount": 106.76,
"customerReferences": {
"0": "PO",
"1": "BOL"
},
"declaredValue": 841.26,
"lineItemDetails": [
{
"description": "Apparel",
"freightClass": "70",
"handlingUnit": 7,
"handlingUnitType": "BOX",
"height": 16.91,
"length": 34.66,
"lineNumber": 8,
"pieces": 49,
"weight": 40.65,
"width": 29.07
},
{
"description": "Electronics",
"freightClass": "50",
"handlingUnit": 2,
"handlingUnitType": "BOX",
"height": 48.87,
"length": 16.63,
"lineNumber": 9,
"pieces": 13,
"weight": 32.69,
"width": 20.43
},
{
"description": "Furniture",
"freightClass": "85",
"handlingUnit": 10,
"handlingUnitType": "BOX",
"height": 27.74,
"length": 17.13,
"lineNumber": 5,
"pieces": 20,
"weight": 16.47,
"width": 48.95
},
{
"description": "Apparel",
"freightClass": "85",
"handlingUnit": 5,
"handlingUnitType": "BOX",
"height": 36.12,
"length": 8.03,
"lineNumber": 4,
"pieces": 41,
"weight": 17.39,
"width": 9.87
}
],
"paymentInfo": {
"billingAccountNumber": "5",
"paymentType": "Sender"
},
"pickUpOptions": "Oversize"
},
"lineOfBusiness": "Courier",
"pickupAddress": {
"address": {
"0": "123 Main St"
},
"city": "Deondreside",
"country": "CA",
"postalCode": "C2B 6U8",
"province": "ON"
},
"pickupConfirmationNumber": "4",
"pickupInstructions": {
"additionalInstructions": "Please call upon arrival",
"anyTimeAfter": "12:00",
"date": "2026-09-25T00:00:00.0Z",
"loadingDockAvailable": false,
"measurementUnit": "Imperial",
"numberOfSkids": 7,
"pickupLocation": "FrontDesk",
"shipmentOnSkids": true,
"supplyRequestCodes": {
"0": "ExpressEnvelope"
},
"totalWeight": 3.2,
"trailerAccessible": true,
"untilTime": "15:00"
},
"pickupNotificationEmail": "Amari64@hotmail.com",
"pickupStatus": "PickedUp",
"registeredAccountNumber": "1",
"shipmentSummary": [
{
"destinationCode": "INTL",
"modeOfTransport": "Ground",
"totalPieces": 37,
"totalWeight": 117.8
}
]
},
{
"contactInfo": {
"company": "Waters LLC",
"name": "Stephen Goyette",
"phoneExtension": "1",
"phoneNumber": "+14028938732"
},
"freight": {
"accessorialParameters": [
{
"keyword": "ID",
"keywordValue": false
}
],
"codAmount": 457.6,
"customerReferences": {
"0": "PO",
"1": "BOL"
},
"declaredValue": 23.83,
"lineItemDetails": [
{
"description": "Furniture",
"freightClass": "100",
"handlingUnit": 3,
"handlingUnitType": "BOX",
"height": 48.28,
"length": 37.01,
"lineNumber": 5,
"pieces": 12,
"weight": 70.25,
"width": 23.77
},
{
"description": "Books",
"freightClass": "70",
"handlingUnit": 3,
"handlingUnitType": "BOX",
"height": 48.46,
"length": 5.04,
"lineNumber": 2,
"pieces": 34,
"weight": 96.2,
"width": 7.33
},
{
"description": "Apparel",
"freightClass": "100",
"handlingUnit": 4,
"handlingUnitType": "BOX",
"height": 43.54,
"length": 39.11,
"lineNumber": 2,
"pieces": 41,
"weight": 71.96,
"width": 22.54
},
{
"description": "Books",
"freightClass": "60",
"handlingUnit": 7,
"handlingUnitType": "BOX",
"height": 5.3,
"length": 33.62,
"lineNumber": 9,
"pieces": 4,
"weight": 61.41,
"width": 26.24
}
],
"paymentInfo": {
"billingAccountNumber": "0",
"paymentType": "Sender"
},
"pickUpOptions": "Oversize"
},
"lineOfBusiness": "Courier",
"pickupAddress": {
"address": {
"0": "123 Main St"
},
"city": "South Lois",
"country": "CA",
"postalCode": "Z0B 4R2",
"province": "ON"
},
"pickupConfirmationNumber": "4",
"pickupInstructions": {
"additionalInstructions": "Leave at front desk",
"anyTimeAfter": "12:00",
"date": "2027-04-11T00:00:00.0Z",
"loadingDockAvailable": false,
"measurementUnit": "Imperial",
"numberOfSkids": 4,
"pickupLocation": "FrontDesk",
"shipmentOnSkids": true,
"supplyRequestCodes": {
"0": "ExpressEnvelope"
},
"totalWeight": 56.7,
"trailerAccessible": false,
"untilTime": "16:00"
},
"pickupNotificationEmail": "Foster7@gmail.com",
"pickupStatus": "PickedUp",
"registeredAccountNumber": "8",
"shipmentSummary": [
{
"destinationCode": "DOM",
"modeOfTransport": "Ground",
"totalPieces": 36,
"totalWeight": 121.9
},
{
"destinationCode": "INTL",
"modeOfTransport": "Ground",
"totalPieces": 47,
"totalWeight": 14.4
},
{
"destinationCode": "USA",
"modeOfTransport": "Ground",
"totalPieces": 45,
"totalWeight": 66
},
{
"destinationCode": "USA",
"modeOfTransport": "Ground",
"totalPieces": 6,
"totalWeight": 123.6
}
]
},
{
"contactInfo": {
"company": "Sipes Inc",
"name": "Kurt Homenick",
"phoneExtension": "5",
"phoneNumber": "+19493497676"
},
"freight": {
"accessorialParameters": [
{
"keyword": "ID",
"keywordValue": true
},
{
"keyword": "ID",
"keywordValue": true
},
{
"keyword": "ID",
"keywordValue": false
},
{
"keyword": "ID",
"keywordValue": true
}
],
"codAmount": 283.7,
"customerReferences": {
"0": "PO",
"1": "BOL"
},
"declaredValue": 838.07,
"lineItemDetails": [
{
"description": "Books",
"freightClass": "70",
"handlingUnit": 1,
"handlingUnitType": "BOX",
"height": 40.04,
"length": 40.99,
"lineNumber": 8,
"pieces": 11,
"weight": 66.45,
"width": 36.74
}
],
"paymentInfo": {
"billingAccountNumber": "6",
"paymentType": "Sender"
},
"pickUpOptions": "Oversize"
},
"lineOfBusiness": "Courier",
"pickupAddress": {
"address": {
"0": "123 Main St"
},
"city": "Vivianebury",
"country": "CA",
"postalCode": "C5K 7D2",
"province": "ON"
},
"pickupConfirmationNumber": "1",
"pickupInstructions": {
"additionalInstructions": "Fragile contents",
"anyTimeAfter": "12:00",
"date": "2027-08-22T00:00:00.0Z",
"loadingDockAvailable": false,
"measurementUnit": "Imperial",
"numberOfSkids": 1,
"pickupLocation": "FrontDesk",
"shipmentOnSkids": false,
"supplyRequestCodes": {
"0": "ExpressEnvelope"
},
"totalWeight": 301.8,
"trailerAccessible": false,
"untilTime": "15:00"
},
"pickupNotificationEmail": "Olga.Lowe@gmail.com",
"pickupStatus": "PickedUp",
"registeredAccountNumber": "2",
"shipmentSummary": [
{
"destinationCode": "INTL",
"modeOfTransport": "Ground",
"totalPieces": 9,
"totalWeight": 79.9
}
]
}
]
}Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.{
"errors": [
{
"code": "9001-20",
"description": "Service currently unavailable."
},
{
"code": "9001-21",
"description": "Shipment summary is required."
},
{
"code": "9001-19",
"description": "Invalid account number."
}
]
}{
"message": "User is not authorized to access this resource."
}{
"code": "9001-73",
"description": "There is an unknown internal server error. Please try again later."
}Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.PUT
| Header Name | Example |
|---|---|
x-api-key* | "culpa ad incididunt ut Lorem" |
Language* | "EN" |
RequestReference | "proident pariatur ut id" |
{
"lineOfBusiness": "Courier",
"pickupConfirmationNumber": "7"
}{
"pickupVoided": false
}{
"errors": [
{
"code": "9001-19",
"description": "Invalid account number."
},
{
"code": "9001-19",
"description": "Shipment summary is required."
},
{
"code": "9001-20",
"description": "Shipment summary is required."
}
]
}{
"message": "User is not authorized to access this resource."
}{
"code": "9001-73",
"description": "There is an unknown internal server error. Please try again later."
}Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.Service Homepage: developer.purolator.com/
purolatorlogisticsshippingpickupcourier