API reference
Support
Tickets with the ParcelHub support team.
Support hours
GET /v1/support/chat-availability
Whether the support team is available right now, and the usual hours.
Response in data
hours• Required stringis_online• Required booleannext_availablestring
curl "https://api.parcelhub.ca/v1/support/chat-availability" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"hours": "string",
"is_online": false,
"next_available": "string"
},
"request_id": "01JBX7Q2…"
}List tickets
GET /v1/support/tickets
Support tickets on the account, newest first.
Query parameters
pageintegerpage_sizeintegerstatusstringcategorystring
Response in data
items• Required array of objectsEach item · 10
category• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidpriority• Required stringstatus• Required stringsubject• Required stringupdated_at• Required timestampWhen it last changed (ISO 8601, UTC).
assigned_agent_avatarstringassigned_agent_namestringdescriptionstring
page• Required integerpage_size• Required integertotal• Required integertotal_pages• Required integer
curl "https://api.parcelhub.ca/v1/support/tickets" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"items": [
{
"assigned_agent_avatar": "string",
"assigned_agent_name": "string",
"category": "string",
"created_at": "2026-10-31T15:04:05Z",
"description": "string",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"priority": "string",
"status": "string",
"subject": "string",
"updated_at": "2026-10-31T15:04:05Z"
}
],
"page": 1,
"page_size": 50,
"total": 1,
"total_pages": 1
},
"request_id": "01JBX7Q2…"
}Open a ticket
POST /v1/support/tickets
Opens a ticket with ParcelHub support. Link the shipments or pickups it is about in related_items.
Request body
category• Required stringshipments,pickups,wallet_dropoff(wallet, billing and drop-offs),designs,printsorother.priority• Required stringlow,medium,highorurgent.subject• Required stringA short summary.
attachmentsarray of stringsFiles uploaded in the dashboard (optional).
descriptionstringThe details.
related_itemsarray of stringsShipments, pickups or invoices the ticket is about.
Response in data
id• Required uuid
curl -X POST "https://api.parcelhub.ca/v1/support/tickets" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"attachments": [
"string"
],
"category": "shipments",
"description": "string",
"priority": "low",
"related_items": [
"string"
],
"subject": "string"
}'{
"ok": true,
"data": {
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f"
},
"request_id": "01JBX7Q2…"
}Get a ticket
GET /v1/support/tickets/{id}
One ticket with its full conversation.
Path parameters
id• Required string
Response in data
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
category• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidmessages• Required array of objectsEach item · 9
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
content• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidsender_id• Required stringsender_name• Required stringsender_role• Required stringcontentJsonanysender_avatarstring
priority• Required stringrelated_items• Required array of stringsstatus• Required stringsubject• Required stringupdated_at• Required timestampWhen it last changed (ISO 8601, UTC).
assigned_agent_avatarstringassigned_agent_namestringclosed_attimestampdescriptionstringrated_attimestampsatisfaction_commentstringsatisfaction_ratingintegersatisfaction_resolvedboolean
curl "https://api.parcelhub.ca/v1/support/tickets/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f" \
-H "Authorization: Bearer $TOKEN"{
"ok": true,
"data": {
"assigned_agent_avatar": "string",
"assigned_agent_name": "string",
"attachments": [
"string"
],
"category": "string",
"closed_at": "2026-10-31T15:04:05Z",
"created_at": "2026-10-31T15:04:05Z",
"description": "string",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"messages": [
{
"attachments": [
"string"
],
"content": "string",
"contentJson": null,
"created_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_avatar": "string",
"sender_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_name": "string",
"sender_role": "string"
}
],
"priority": "string",
"rated_at": "2026-10-31T15:04:05Z",
"related_items": [
"string"
],
"satisfaction_comment": "string",
"satisfaction_rating": 1,
"satisfaction_resolved": true,
"status": "string",
"subject": "string",
"updated_at": "2026-10-31T15:04:05Z"
},
"request_id": "01JBX7Q2…"
}Reply to a ticket
POST /v1/support/tickets/{id}/messages
Adds a message to a ticket.
Path parameters
id• Required string
Request body
content• Required stringThe message.
attachmentsarray of stringsFiles uploaded in the dashboard (optional).
Response in data
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
content• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidsender_id• Required stringsender_name• Required stringsender_role• Required stringcontentJsonanysender_avatarstring
curl -X POST "https://api.parcelhub.ca/v1/support/tickets/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f/messages" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"attachments": [
"string"
],
"content": "string"
}'{
"ok": true,
"data": {
"attachments": [
"string"
],
"content": "string",
"contentJson": null,
"created_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_avatar": "string",
"sender_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_name": "string",
"sender_role": "string"
},
"request_id": "01JBX7Q2…"
}Rate a ticket
POST /v1/support/tickets/{id}/rating
Rates how a resolved or closed ticket was handled. Sending again replaces the earlier rating.
Path parameters
id• Required string
Request body
rating• Required integer1 to 5 stars.
resolved• Required booleanWhether the issue was resolved.
commentstringAnything to add (optional).
Response in data
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
category• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidmessages• Required array of objectsEach item · 9
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
content• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidsender_id• Required stringsender_name• Required stringsender_role• Required stringcontentJsonanysender_avatarstring
priority• Required stringrelated_items• Required array of stringsstatus• Required stringsubject• Required stringupdated_at• Required timestampWhen it last changed (ISO 8601, UTC).
assigned_agent_avatarstringassigned_agent_namestringclosed_attimestampdescriptionstringrated_attimestampsatisfaction_commentstringsatisfaction_ratingintegersatisfaction_resolvedboolean
curl -X POST "https://api.parcelhub.ca/v1/support/tickets/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f/rating" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"comment": "string",
"rating": 1,
"resolved": true
}'{
"ok": true,
"data": {
"assigned_agent_avatar": "string",
"assigned_agent_name": "string",
"attachments": [
"string"
],
"category": "string",
"closed_at": "2026-10-31T15:04:05Z",
"created_at": "2026-10-31T15:04:05Z",
"description": "string",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"messages": [
{
"attachments": [
"string"
],
"content": "string",
"contentJson": null,
"created_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_avatar": "string",
"sender_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_name": "string",
"sender_role": "string"
}
],
"priority": "string",
"rated_at": "2026-10-31T15:04:05Z",
"related_items": [
"string"
],
"satisfaction_comment": "string",
"satisfaction_rating": 1,
"satisfaction_resolved": true,
"status": "string",
"subject": "string",
"updated_at": "2026-10-31T15:04:05Z"
},
"request_id": "01JBX7Q2…"
}Close or reopen a ticket
PATCH /v1/support/tickets/{id}/status
closed when the issue is sorted; open to reopen a resolved or closed ticket.
Path parameters
id• Required string
Request body
status• Required stringclosedoropen.
Response in data
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
category• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidmessages• Required array of objectsEach item · 9
attachments• Required array of stringsFiles uploaded in the dashboard (optional).
content• Required stringcreated_at• Required timestampWhen it was created (ISO 8601, UTC).
id• Required uuidsender_id• Required stringsender_name• Required stringsender_role• Required stringcontentJsonanysender_avatarstring
priority• Required stringrelated_items• Required array of stringsstatus• Required stringsubject• Required stringupdated_at• Required timestampWhen it last changed (ISO 8601, UTC).
assigned_agent_avatarstringassigned_agent_namestringclosed_attimestampdescriptionstringrated_attimestampsatisfaction_commentstringsatisfaction_ratingintegersatisfaction_resolvedboolean
curl -X PATCH "https://api.parcelhub.ca/v1/support/tickets/3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f/status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "closed"
}'{
"ok": true,
"data": {
"assigned_agent_avatar": "string",
"assigned_agent_name": "string",
"attachments": [
"string"
],
"category": "string",
"closed_at": "2026-10-31T15:04:05Z",
"created_at": "2026-10-31T15:04:05Z",
"description": "string",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"messages": [
{
"attachments": [
"string"
],
"content": "string",
"contentJson": null,
"created_at": "2026-10-31T15:04:05Z",
"id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_avatar": "string",
"sender_id": "3f2b8c1e-5d6a-4b7c-9e0f-1a2b3c4d5e6f",
"sender_name": "string",
"sender_role": "string"
}
],
"priority": "string",
"rated_at": "2026-10-31T15:04:05Z",
"related_items": [
"string"
],
"satisfaction_comment": "string",
"satisfaction_rating": 1,
"satisfaction_resolved": true,
"status": "string",
"subject": "string",
"updated_at": "2026-10-31T15:04:05Z"
},
"request_id": "01JBX7Q2…"
}