Beta

Developers

Reports, on your schedule.

A clean HTTP surface that maps to the objects you already know. Reports, workflows, runs, deliveries. Use it from a deploy, from a product, from an agent.

Settings · API keys

API keys

Shown once on create. Hashed at rest. Rotate any time.

LabelTokenCreatedLast used
Productionsk_live…2f8cMar 04, 2026just nowRotate
Stagingsk_test…a011Feb 14, 20262h agoRotate
Deploy pipelinesk_live…9e22Jan 22, 2026yesterdayRotate

A first call

Eight lines to a branded report.

curl · create a reportbash
curl https://api.donum.club/v1/reports \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "template": "monthly_investor_update",
    "sources": ["stripe", "hubspot", "ga4"],
    "period":  "last month",
    "recipients": ["investors@realm.xyz"],
    "requiresApproval": true
  }'
Authorization

Workspace scoped key. Shown once, hashed at rest, rotate from Settings > API keys.

template

Any template id from /v1/templates, or a custom template you saved.

sources

Read-only OAuth connections. The call errors cleanly if a token is expired.

requiresApproval

When true, the run holds in PENDING_APPROVAL until a human approves from email.

The surface

Seven endpoints.

POST/v1/reportsDraft a report and return the id once ready
GET/v1/reports/:idFetch a report with blocks and theme
POST/v1/workflows/:id/triggerRun a workflow now, outside the schedule
GET/v1/runs/:idPoll run status, including PENDING_APPROVAL
GET/v1/deliveries/:idPer recipient delivery state and the PDF URL
GET/v1/templatesEnumerate the template library for a workspace
POST/v1/webhooksRegister an endpoint and subscribe to events
Settings · Webhooks

https://realm.xyz/hooks/donum

7 events subscribed · last 2m ago

ok

https://ops.realm.xyz/slack-bridge

3 events subscribed · last 1h ago

ok

https://staging.realm.xyz/webhooks

7 events subscribed · last retrying

retry

Webhooks are the quiet way to close the loop. A delivery is sent, a run fails, a connection expires. Every event arrives at your endpoint with a signed payload and a replay link.

  • HMAC signatures with key rotation support.
  • Retries with exponential backoff for up to 48 hours.
  • Replay console for any delivery in the last 30 days.

Questions

One paragraph each.

Is there a TypeScript SDK?+

Yes. First party SDKs for TypeScript and Python. The TypeScript SDK ships with typed responses for every endpoint.

Where are the docs?+

On the Docs page under API Reference. Every endpoint has a live example and a payload.

Can I use the API in the browser?+

Use a server side key. Browser side keys can read public report links but cannot generate reports.

Does the API support cursor pagination?+

Yes. Every list endpoint returns a stable cursor. Limits default to fifty, max two hundred.

A cleaner way to automate reporting.