Containers
Containers are the top-level grouping for documents. Each organisation can have multiple containers — for example, one for “Website Agreements” and another for “Employee Onboarding”.
Endpoints
Section titled “Endpoints”| Method | Path | Description |
|---|---|---|
GET | /api/v1/containers | List all containers |
POST | /api/v1/containers | Create a container |
GET | /api/v1/containers/:id | Get a container |
DELETE | /api/v1/containers/:id | Delete a container |
List containers GET
Section titled “List containers ”GET /api/v1/containersReturns all containers for the authenticated organisation.
Request: No body or query parameters required.
Response 200:
{ "data": [ { "id": "018e1234-abcd-7000-8000-000000000001", "name": "Website Agreements", "description": "All website legal documents", "org_id": "018e1234-abcd-7000-8000-000000000000", "created_by": "018e1234-abcd-7000-8000-000000000002", "created_at": "2026-02-01T09:00:00.000Z", "updated_at": "2026-02-01T09:00:00.000Z" } ]}Error cases:
| Status | Code | Cause |
|---|---|---|
401 | UNAUTHORIZED | Missing or invalid API key |
Create a container POST
Section titled “Create a container ”POST /api/v1/containersRequest body:
| Field | Type | Required | Constraints |
|---|---|---|---|
name | string | Yes | 1–100 characters |
description | string | No | Max 500 characters |
{ "name": "Website Agreements", "description": "Terms of Service and Privacy Policy"}Response 201:
{ "data": { "id": "018e1234-abcd-7000-8000-000000000001", "name": "Website Agreements", "description": "Terms of Service and Privacy Policy", "org_id": "018e1234-abcd-7000-8000-000000000000", "created_by": "018e1234-abcd-7000-8000-000000000002", "created_at": "2026-02-01T09:00:00.000Z", "updated_at": "2026-02-01T09:00:00.000Z" }}Error cases:
| Status | Code | Cause |
|---|---|---|
400 | BAD_REQUEST | name is empty or exceeds 100 characters |
401 | UNAUTHORIZED | Missing or invalid API key |
Get a container GET
Section titled “Get a container ”GET /api/v1/containers/:idPath parameters:
| Parameter | Type | Description |
|---|---|---|
id | UUID | Container ID |
Response 200:
{ "data": { "id": "018e1234-abcd-7000-8000-000000000001", "name": "Website Agreements", "description": "All website legal documents", "org_id": "018e1234-abcd-7000-8000-000000000000", "created_by": "018e1234-abcd-7000-8000-000000000002", "created_at": "2026-02-01T09:00:00.000Z", "updated_at": "2026-02-01T09:00:00.000Z" }}Error cases:
| Status | Code | Cause |
|---|---|---|
400 | BAD_REQUEST | id is not a valid UUID |
401 | UNAUTHORIZED | Missing or invalid API key |
404 | NOT_FOUND | Container does not exist in this organisation |
Delete a container DELETE
Section titled “Delete a container ”DELETE /api/v1/containers/:idPath parameters:
| Parameter | Type | Description |
|---|---|---|
id | UUID | Container ID |
Response 200:
{ "data": { "success": true }}Error cases:
| Status | Code | Cause |
|---|---|---|
400 | BAD_REQUEST | id is not a valid UUID |
401 | UNAUTHORIZED | Missing or invalid API key |
404 | NOT_FOUND | Container does not exist in this organisation |