Download deliverables
Wait until GET /v1/projects/{id} shows status completed. Scope: verify:read.
Three ways in:
- List the files
- Fetch one file — its metadata, or its bytes
- Or take everything as a single zip
Always use UUIDs from the API. Do not put file_id in a path.
List
curl -s https://api-arbitr.straker.ai/v1/projects/3f2a9c1e-4b7d-4c8a-9f10-2d6e5b7c8a91/deliverables \
-H "X-API-Key: abr_live_…"
{
"deliverables": [
{
"id": "8c1d0b52-9a3f-4e17-b6cd-71f0a2e94b33",
"file_id": "…",
"file_type": "verified_doc",
"name": "Q1 handbook_ja-jp.docx",
"locale_code": "ja-jp"
}
],
"page": {
"number": 1,
"has_more": false,
"limit": 1
}
}
This is a full list in one page (has_more is false). locale_code is lowercase BCP-47. Copy id for the next call — not file_id.
One file
GET /v1/projects/{project_id}/deliverables/{deliverable_id} answers with either the metadata or the bytes, depending on the Accept header you send.
Metadata — omit Accept, or send application/json or */*:
curl -s https://api-arbitr.straker.ai/v1/projects/3f2a9c1e-4b7d-4c8a-9f10-2d6e5b7c8a91/deliverables/8c1d0b52-9a3f-4e17-b6cd-71f0a2e94b33 \
-H "X-API-Key: abr_live_…"
Bytes — send Accept: application/octet-stream:
curl -s https://api-arbitr.straker.ai/v1/projects/3f2a9c1e-4b7d-4c8a-9f10-2d6e5b7c8a91/deliverables/8c1d0b52-9a3f-4e17-b6cd-71f0a2e94b33 \
-H "X-API-Key: abr_live_…" \
-H "Accept: application/octet-stream" \
-OJ
-OJ writes the file using Content-Disposition.
application/octet-stream is what you ask for. What comes back is the file's own content type — text/plain, the Word MIME type, and so on. Do not assert that the response Content-Type is application/octet-stream; it usually is not.
All files as a zip
Add format=zip to the collection route. Quote the URL so the shell does not eat the ?.
curl -s "https://api-arbitr.straker.ai/v1/projects/3f2a9c1e-4b7d-4c8a-9f10-2d6e5b7c8a91/deliverables?format=zip" \
-H "X-API-Key: abr_live_…" \
-o deliverables.zip
Content-Type is application/zip. Omit format for the JSON list; any other value returns 400 validation_failed naming the formats that are supported.
Common failures
| Status | Typical cause |
|---|---|
401 / 403 |
Missing key, or key lacks verify:read |
404 |
Unknown project or deliverable, or not in your org |
400 |
A format value other than zip |
Poll first if the project is not completed yet. See Poll project status.