Skip to main content

API reference

Base URL: https://api.coback.ai/api/v1 (self-hosted: your server origin + /api/v1). Every request carries Authorization: Bearer <workspace API key>. All data is scoped to the workspace behind the key. The full machine-readable spec is at /api/v1/openapi.json.

Conventions

  • Errors: { "error": "<message>" } with a 4xx or 5xx status.
  • Scopes: every key reads; the write endpoints below need a key created with read and write. A read-only key gets a 403 there.
  • Rate limit: 120 requests per minute per key. 429 with Retry-After when exceeded.

Identity

MethodPathReturns
GET/meWorkspace id and name, company name, key name, scopes

Company brain

MethodPathReturns
GET/brainKnowledge cards: kind, slug, title, summary, review status
GET/brain/{id}One card with full markdown content
GET/brain/exportThe whole brain as one markdown file (?format=json for structured)
GET/profileThe extracted company profile (digital twin)

Laws and screening

MethodPathReturns
GET/laws?limit=&offset=&jurisdiction=&since=Ingested laws, newest first
GET/laws/{id}/linksA law's family: transpositions, amendments, guidelines
GET/sourcesThe monitored sources with authority and coverage
GET/jurisdictionsJurisdiction codes and names
GET/matchesScreening results, highest score first (up to 100)
GET/matches/irrelevant?limit=&offset=Laws screened out, with reasoning
GET/inboxScreening results that need a decision (up to 100)
POST/matches/{id}/feedbackRecord { "verdict": "relevant"|"irrelevant", "note"? } (write scope)

Work

MethodPathReturns
GET/tasksTasks with status, priority, and source law
POST/tasksCreate { "title", "description"?, "priority"?, "dueAt"? } (write scope)
PATCH/tasks/{id}Update status, title, priority (write scope)
GET/projectsProjects with department lanes and folders
GET/comments/{targetType}/{targetId}Comment thread on a task or match
POST/comments/{targetType}/{targetId}Add { "body" } (write scope)

Documents

MethodPathReturns
POST/corpus/querySemantic search: { "query", "topK"? } over the document corpus
POST/corpus/documentsMultipart upload, field files (write scope)
POST/corpus/urlsIngest by URL: { "urls": [...] } (write scope)

Product compliance

MethodPathReturns
GET/compliance/productsProducts with finding counts
GET/compliance/products/{id}Findings, BOM state, substance-of-concern summary
GET/compliance/products/{id}/gapsData gaps: unresolved lines, missing declarations
GET/compliance/products/{id}/reportsManagement reports
GET/compliance/resolutionsSubstance resolutions pending review

Cross-cutting

MethodPathReturns
GET/activity?limit=The audit trail: every change with actor and timestamp
GET/search?q=Search over laws, cards, tasks, and documents

Writes performed with an API key appear in the activity log attributed to the key (API: <key name>), so an agent's actions stay auditable.