Consignment Proof of Delivery (POD)
Manage proof of delivery records for consignments. POD records capture delivery confirmation details including signatory information, timestamps, and optional attachments.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET |
/v1/consignments/{consignmentId}/pods/{consignmentPodId} |
Get POD details |
GET |
/v1/consignments/{consignmentId}/pods/{consignmentPodId}/attachment-file |
Get POD attachment file |
POST |
/v1/consignments/{consignmentId}/pods |
Create a POD |
Get POD Details
Retrieve details of a specific proof of delivery record.
Endpoint: GET /v1/consignments/{consignmentId}/pods/{consignmentPodId}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
consignmentId |
uuid | Yes | The consignment ID |
consignmentPodId |
uuid | Yes | The POD ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods/550e8400-e29b-41d4-a716-446655440500" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Example
{
"id": "550e8400-e29b-41d4-a716-446655440500",
"eventUtc": "2024-01-20T14:30:00Z",
"deliveredByName": "John Driver",
"vehicleName": "Truck 42",
"signatoryName": "Jane Customer",
"signatureDescription": "Received in good condition",
"latitude": -41.2865,
"longitude": 174.7762,
"externalUrl": "https://tracking.carrier.com/pod/12345"
}
Response Fields
| Field | Type | Description |
|---|---|---|
id |
uuid | POD record ID |
eventUtc |
datetime | When delivery was completed (UTC) |
deliveredByName |
string | Name of person who delivered |
vehicleName |
string | Vehicle used for delivery |
signatoryName |
string | Name of person who signed |
signatureDescription |
string | Description of signature/notes |
latitude |
number | GPS latitude of delivery location |
longitude |
number | GPS longitude of delivery location |
externalUrl |
string | Link to external POD details |
Get POD Attachment File
Download the attachment file associated with a POD record (e.g., a signature image).
Endpoint: GET /v1/consignments/{consignmentId}/pods/{consignmentPodId}/attachment-file
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
consignmentId |
uuid | Yes | The consignment ID |
consignmentPodId |
uuid | Yes | The POD ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods/550e8400-e29b-41d4-a716-446655440500/attachment-file" \
-H "Authorization: Bearer ACCESS_TOKEN" \
--output pod-attachment.png
Response
Status: 200 OK
Returns the binary file content of the POD attachment.
Error Cases
| Status | Cause | Resolution |
|---|---|---|
404 |
Consignment or POD not found | Verify consignment and POD IDs |
Create POD
Add a proof of delivery record to a consignment.
Endpoint: POST /v1/consignments/{consignmentId}/pods
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
consignmentId |
uuid | Yes | The consignment ID |
Request Body
{
"eventUtc": "2024-01-20T14:30:00Z",
"signatoryName": "Jane Customer",
"description": "Received in good condition - all items accounted for",
"attachmentFile": {
"fileName": "signature.png",
"contentType": "image/png",
"content": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"options": {
"printType": 2
}
},
"externalUrl": "https://tracking.carrier.com/pod/12345",
"latitude": -41.2865,
"longitude": 174.7762
}
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
eventUtc |
datetime | No | Delivery completion time (UTC) |
signatoryName |
string | No | Name of person who signed |
description |
string | No | Description or notes about delivery |
attachmentFile |
object | No | Attached file (e.g., signature image) |
externalUrl |
string | No | Link to external POD system |
latitude |
number | No | GPS latitude of delivery |
longitude |
number | No | GPS longitude of delivery |
Attachment File Object
| Field | Type | Required | Description |
|---|---|---|---|
fileName |
string | Yes | File name with extension |
contentType |
string | Yes | MIME type (e.g., "image/png") |
content |
string | Yes | Base64-encoded file content |
options.printType |
integer | No | 1 = Label, 2 = Document |
Request Example
curl -X POST "https://api.consignlyhq.com/v1/consignments/550e8400-e29b-41d4-a716-446655440000/pods" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"eventUtc": "2024-01-20T14:30:00Z",
"signatoryName": "Jane Customer",
"description": "Received in good condition",
"externalUrl": "https://tracking.carrier.com/pod/12345"
}'
Response Example
Status: 200 OK
"550e8400-e29b-41d4-a716-446655440500"
Error Cases
| Status | Cause | Resolution |
|---|---|---|
400 |
Invalid request body | Check field formats |
404 |
Consignment not found | Verify consignment ID |
422 |
Invalid file content | Verify base64 encoding |
PODs in Consignment Detail
POD records are included in the consignment detail response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"pods": [
{
"id": "550e8400-e29b-41d4-a716-446655440500",
"eventUtc": "2024-01-20T14:30:00Z",
"signatoryName": "Jane Customer",
"externalUrl": "https://tracking.carrier.com/pod/12345"
}
]
}
Related Endpoints
- Consignments - Main consignment management
- Consignment Tracking - Tracking information