API reference
Returns
ReturnHub: returns received at the ParcelHub warehouse for this account.
Return address
GET /v1/returns/address
The warehouse address to give customers for returns.
Response in data
addresses• Required array of objectsEach item · 3
formatted• Required array of stringsrouting_code• Required stringwarehouse• Required objectFields · 7
city• Required stringCity.
code• Required stringcountry• Required stringTwo-letter country code, e.g.
CA,US.id• Required uuidname• Required stringpostal_code• Required stringPostal or ZIP code.
province• Required string
curl "https://api.parcelhub.ca/v1/returns/address" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"addresses": [
{
"formatted": [
"string"
],
"routing_code": "string",
"warehouse": {
"city": "Toronto",
"code": "string",
"country": "CA",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"name": "Alex Martin",
"postal_code": "M5V 2T6",
"province": "ON"
}
}
]
},
"request_id": "01JBX7Q2…"
}Received parcels
GET /v1/returns/intakes
Return parcels received at the warehouse.
Query parameters
limitintegerMost results to return.
Response in data
items• Required array of objectsEach item · 9
created_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidstatus• Required stringwarehouse_id• Required uuidinbound_carrierstringinbound_trackingstringorganization_iduuidreceived_attimestampsender_namestring
curl "https://api.parcelhub.ca/v1/returns/intakes" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"items": [
{
"created_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"inbound_carrier": "string",
"inbound_tracking": "string",
"organization_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"received_at": "2026-10-31T15:04:05Z",
"sender_name": "string",
"status": "string",
"warehouse_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f"
}
]
},
"request_id": "01JBX7Q2…"
}Returned items
GET /v1/returns/items
Items received at the warehouse.
Query parameters
statusstringlimitintegerMost results to return.
Response in data
items• Required array of objectsEach item · 16
condition• Required stringdescription• Required stringdisposition_deadline• Required datefree_until• Required dateid• Required uuidintake_id• Required uuidorganization_id• Required uuidphotos• Required array of objectsEach item · 6
filename• Required stringid• Required uuidobject_key• Required stringtaken_at• Required timestampcontent_typestringurlstring
quantity• Required integerHow many.
status• Required stringstored_since• Required datewarehouse_id• Required uuidlien_notice_sent_attimestamplocation_codestringskustringYour product code.
weight_gramsinteger
curl "https://api.parcelhub.ca/v1/returns/items" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"items": [
{
"condition": "string",
"description": "string",
"disposition_deadline": "2026-11-03",
"free_until": "2026-11-03",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"intake_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"lien_notice_sent_at": "2026-10-31T15:04:05Z",
"location_code": "string",
"organization_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"photos": [
{}
],
"quantity": 1,
"sku": "string",
"status": "string",
"stored_since": "2026-11-03",
"warehouse_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"weight_grams": 1
}
]
},
"request_id": "01JBX7Q2…"
}Get a returned item
GET /v1/returns/items/{id}
One item: photos, condition, storage time and what can be done with it.
Path parameters
id• Required string
Response in data
condition• Required stringdescription• Required stringdisposition_deadline• Required datefree_until• Required dateid• Required uuidintake_id• Required uuidorganization_id• Required uuidphotos• Required array of objectsEach item · 6
filename• Required stringid• Required uuidobject_key• Required stringtaken_at• Required timestampcontent_typestringurlstring
quantity• Required integerHow many.
status• Required stringstored_since• Required datewarehouse_id• Required uuidlien_notice_sent_attimestamplocation_codestringskustringYour product code.
weight_gramsinteger
curl "https://api.parcelhub.ca/v1/returns/items/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"condition": "string",
"description": "string",
"disposition_deadline": "2026-11-03",
"free_until": "2026-11-03",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"intake_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"lien_notice_sent_at": "2026-10-31T15:04:05Z",
"location_code": "string",
"organization_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"photos": [
{
"content_type": "string",
"filename": "string",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"object_key": "string",
"taken_at": "2026-10-31T15:04:05Z",
"url": "https://…"
}
],
"quantity": 1,
"sku": "string",
"status": "string",
"stored_since": "2026-11-03",
"warehouse_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"weight_grams": 1
},
"request_id": "01JBX7Q2…"
}Decide what happens to an item
POST /v1/returns/items/{id}/disposition
return_to_merchant ships it back to the account (postage may apply), continue_storage keeps it, and auction, donate or destroy give it up, which cannot be undone.
Path parameters
id• Required string
Request body
action• Required stringreturn_to_merchant,continue_storage,auction,donateordestroy.notesstringFree-text notes.
Response in data
action• Required stringid• Required uuidreturn_item_id• Required uuidexecuted_attimestampresponded_attimestamp
curl -X POST "https://api.parcelhub.ca/v1/returns/items/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f/disposition" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "return_to_merchant",
"notes": "string"
}'{
"ok": true,
"data": {
"action": "string",
"executed_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"responded_at": "2026-10-31T15:04:05Z",
"return_item_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f"
},
"request_id": "01JBX7Q2…"
}Statements
GET /v1/returns/statements
Storage and handling statements.
Query parameters
limitintegerMost results to return.
Response in data
items• Required array of objectsEach item · 8
currency• Required stringThree-letter currency code, e.g.
CAD.due_date• Required dateid• Required uuidperiod_end• Required dateperiod_start• Required datestatus• Required stringtotal_cents• Required integerTotal, in cents.
paid_attimestamp
curl "https://api.parcelhub.ca/v1/returns/statements" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"items": [
{
"currency": "CAD",
"due_date": "2026-11-03",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"paid_at": "2026-10-31T15:04:05Z",
"period_end": "2026-11-03",
"period_start": "2026-11-03",
"status": "string",
"total_cents": 1299
}
]
},
"request_id": "01JBX7Q2…"
}Returns summary
GET /v1/returns/summary
Counts of returned items by status and the account's ReturnHub balances.
Response in data
stored• Required integerunpaid_cents• Required integer
curl "https://api.parcelhub.ca/v1/returns/summary" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"stored": 1,
"unpaid_cents": 1299
},
"request_id": "01JBX7Q2…"
}