API Reference

Collate REST API

A predictable, resource-oriented API. All requests use JSON and are authenticated with a bearer token.

Base URL
https://api.collate.app

Authenticate with Authorization: Bearer <token>

Status
All systems operational

v1 · 99.98% uptime · 42ms median latency

Authentication

POST
/v1/auth/session
Public

Create a session for a role

{
  "token": "sk_live_9f2…",
  "role": "member",
  "expires_in": 3600
}
GET
/v1/auth/me
Auth

Get the current user

{
  "id": "usr_12",
  "name": "Alex Rivera",
  "role": "member"
}

Projects

GET
/v1/projects
Auth

List projects (paginated)

{
  "data": [{ "id": "prj_1", "name": "Q1 Vendor Audit", "status": "in_review" }],
  "total": 24,
  "page": 1
}
POST
/v1/projects
Auth

Create a project

{
  "id": "prj_25",
  "name": "New Project",
  "status": "draft"
}
PATCH
/v1/projects/:id
Auth

Update a project

{
  "id": "prj_25",
  "status": "extracting"
}
DELETE
/v1/projects/:id
Auth

Delete a project

{ "deleted": true }

Documents & Extraction

POST
/v1/projects/:id/documents
Auth

Upload a document

{
  "id": "doc_88",
  "status": "queued",
  "type": "pdf"
}
GET
/v1/documents/:id/fields
Auth

Get extracted fields

{
  "fields": [{ "key": "total", "value": "$48,200", "confidence": 0.98 }]
}

Comparisons & Reviews

GET
/v1/projects/:id/comparison
Auth

Get comparison matrix

{
  "fields": [{ "key": "total", "values": { "doc_1": "$48,200", "doc_2": "$48,900" }, "diff": true }]
}
POST
/v1/reviews/:id/resolve
Auth

Resolve a finding

{
  "id": "rev_7",
  "status": "resolved"
}

Reports

POST
/v1/reports
Auth

Generate a report

{
  "id": "rpt_3",
  "status": "generating",
  "format": "PDF"
}
GET
/v1/reports/:id
Auth

Get report status & URL

{
  "id": "rpt_3",
  "status": "ready",
  "url": "https://cdn.collate.app/rpt_3.pdf"
}