Skip to main content

API Overview

The Docyard API is organized around REST. It uses JSON request/response bodies, standard HTTP verbs, and returns conventional HTTP status codes.

Base URL

https://api.docyard.io/v1
All endpoints are prefixed with /v1.

Resource Hierarchy

Most resources are scoped to a dock (tenant workspace):
/v1/docks/:dockId/artifacts
/v1/docks/:dockId/recipients
/v1/docks/:dockId/policies
/v1/docks/:dockId/groups
/v1/docks/:dockId/notification-channels
Some resources operate across docks or at the platform level:
/v1/retrieval/jobs
/v1/audit/logs
/v1/recipients/:recipientId/secrets
/v1/policy-templates

Request Format

  • Content-Type: application/json for JSON bodies, multipart/form-data for file uploads
  • Authentication: Authorization: Bearer <api_key> header on all requests
  • IDs: All resource IDs are opaque strings

Response Format

All responses return JSON. Successful responses return the resource directly. Error responses follow the standard error format.

Pagination

List endpoints support pagination via limit and offset query parameters:
curl "https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts?limit=20&offset=40" \
  -H "Authorization: Bearer YOUR_API_KEY"
ParameterTypeDefaultDescription
limitinteger100Maximum items to return (max 1000)
offsetinteger0Number of items to skip

Idempotency

POST endpoints that create resources are not idempotent by default. Artifact uploads are an exception — uploading the same file content returns the existing artifact with isDuplicate: true.

Health Check

curl https://api.docyard.io/v1/healthz
{
  "status": "ok",
  "version": "1.0.0"
}