Documents
Files attached to loads and records. Retrieve one for a download link. Identity, medical and bank documents are never returned.
List documents
GET/v1/documents
Newest first, a page at a time. See Pagination and syncing.
curl "https://harlo-api-dev.pages.dev/v1/documents?limit=10" \
-H "Authorization: Bearer $HARLO_API_KEY"Filters
| Parameter | What it does |
|---|---|
load_id | Documents on one load. |
type | One document type, e.g. load_pod. |
Paging, order and format
| Parameter | What it does |
|---|---|
limit | How many to return, 1 to 100.Default: 25 |
cursor | `next_cursor` from the previous page. |
sort | Order: newest first by default.Values: -created_at, created_at, -updated_at, updated_atDefault: -created_at |
updated_since | Only records changed at or after this ISO 8601 time. |
created_since | Only records created at or after this ISO 8601 time. |
format | `csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.Values: json, csvDefault: json |
Retrieve a document
GET/v1/documents/{id}
curl "https://harlo-api-dev.pages.dev/v1/documents/d2c9446b-ca56-452b-8c18-a3b7fc2fbeb3" \
-H "Authorization: Bearer $HARLO_API_KEY"Example response
{
"id": "d2c9446b-ca56-452b-8c18-a3b7fc2fbeb3",
"object": "document",
"file_name": "Invoice INV-L-00001",
"type": "load_invoice",
"content_type": "application/pdf",
"size_bytes": 2777,
"attached_to": {
"type": "load",
"id": "d614de50-90e6-4ea5-ae14-c3c5f804a121"
},
"created_at": "2026-11-14T07:36:20.860331+00:00",
"updated_at": "2026-11-14T07:36:20.860331+00:00",
"download_url": "https://files.example/harlo/Invoice_INV-L-00001.pdf?token=…",
"download_expires_at": "2026-11-14T13:24:48.047Z"
}Downloading the file
A document retrieved by id includes
download_url, a link to the file that works for 5 minutes. Lists don't include it: retrieve the document when you're ready to download. Identity, medical, drug-test, background-check and bank documents are never returned.The document object
| Field | Type | What it is |
|---|---|---|
id | id | Unique id of the document. |
object | string | Always "document". |
file_name | string, nullable | |
type | string, nullable | e.g. load_pod, load_bol, load_rate_confirmation, load_invoice. |
content_type | string, nullable | |
size_bytes | integer, nullable | |
attached_to | object | |
type | string | load, driver, equipment, customer, carrier, facility, ... |
id | id | |
download_url | string | Retrieve only: a link to the file, valid for 5 minutes. |
download_expires_at | timestamp | |
created_at | timestamp, nullable | When it was created. |
updated_at | timestamp, nullable | When it last changed. Use with `updated_since` to sync. |