Request Pickup
Schedule a carrier pickup at a given address. Returns a pickup ID confirming the booking with the carrier.
POST /pickup/create
Request
Headers
| Header | Value |
|---|---|
Authorization | Bearer <your_api_token> |
Content-Type | application/json |
Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
contractCode | string | Yes | Contract code identifying the carrier service to use |
carrierCode | string | No | Carrier identifier (e.g. brt, ups) |
shipmentId | string | No | Shipment ID to associate with this pickup |
pickupDate | string | No | Requested pickup date (format: YYYY-MM-DD) |
pickupTime | string | No | Requested pickup time (format: HH:MM) |
specialInstruction | string | No | Free-text instructions for the carrier |
cashOnDelivery | string | No | Cash on delivery amount |
pickupPaymentType | string | No | Payment type for the pickup |
serviceType | string | No | Carrier-specific service type |
shipFrom | object | No | Address where the carrier should collect the packages |
shipTo | object | No | Destination address |
sender | object | No | Sender contact details (same fields as shipFrom) |
receiver | object | No | Receiver contact details (same fields as shipFrom) |
packagesDetails | object[] | Yes | List of packages to be collected |
shipFrom / shipTo / sender / receiver Object
All address objects share the same fields:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Full name |
company | string | No | Company name |
street1 | string | Yes | Primary address line |
street2 | string | No | Secondary address line |
city | string | Yes | City |
state | string | No | State / province code (e.g. RM) |
postalCode | string | Yes | Postal / ZIP code |
country | string | Yes | 2-letter ISO country code (e.g. IT) |
phone | string | No | Phone number |
email | string | No | Email address |
packagesDetails Object
| Field | Type | Required | Description |
|---|---|---|---|
weight | string | Yes | Package weight in kg (e.g. "2.5") |
length | integer | No | Length in cm |
width | integer | No | Width in cm |
height | integer | No | Height in cm |
description | string | No | Contents description |
value | string | No | Declared value |
Example
{
"contractCode": "brt-Test",
"pickupDate": "2025-07-01",
"pickupTime": "10:00",
"specialInstruction": "Ring the doorbell",
"shipFrom": {
"name": "Mario Rossi",
"company": "Acme Srl",
"street1": "Via Roma 1",
"city": "Milano",
"state": "MI",
"postalCode": "20100",
"country": "IT",
"phone": "0212345678",
"email": "mario@example.com"
},
"packagesDetails": [
{
"weight": "3.0",
"length": 30,
"width": 20,
"height": 15,
"description": "Electronics"
}
]
}Response
{
"pickupId": "PKP123456"
}| Field | Type | Description |
|---|---|---|
pickupId | string | Carrier-assigned pickup confirmation number |
Error Codes
| Code | Description |
|---|---|
200 | OK — pickup scheduled |
400 | Bad request — invalid parameters or carrier error |
The contractCode must match a contract associated with your account. Use the Get Shipping Rates endpoint to retrieve available contract codes.
Last updated on