Brand API
Methods, authentication, writes, idempotency, pagination and errors.
Updated on January 1, 1970
Privacy and analytics
We use necessary technical cookies and, only with your consent, analytics and marketing pixels to improve the website and measure campaigns.
Methods, authentication, writes, idempotency, pagination and errors.
Updated on January 1, 1970
Everything that can be done inside a Nömad brand is defined once as a capability. The same capability serves Nödo in chat, an external agent over MCP and an integration over HTTP. There are 532 capabilities across 26 areas; 530 are available and the rest roll out in phases.
Status. Capabilities marked «Available» work today over HTTP with scoped keys, over MCP and through Nödo, all behind the same permission gate. The rest roll out in phases; this page is generated from the code and changes with it.
Each capability is a method: POST to its id with a JSON body carrying the brand and the input. The response is JSON with the typed output.
curl https://app.nomad.ooo/api/v1/works.list \
-H "Authorization: Bearer nmu_live_v1_…" \
-H "Content-Type: application/json" \
-d '{ "brand": "BRD-8C1TZA", "status": "active", "limit": 10 }'{
"data": {
"items": [{ "id": "…", "name": "Identidad visual", "status": "in_progress", "dueDate": null,
"progress": { "done": 3, "total": 7 }, "waitingOnBrand": 1 }],
"nextCursor": null
}
}Every successful answer is { "data": … }. Every answer carries X-Request-Id (quote it to support), X-Nomad-Api-Version and RateLimit with what is left of the minute. An error is application/problem+json (RFC 9457) with a stable code.
nmu_live_v1_…, in your account › Developers. They act as you, only with the permissions and brands you choose.nmw_live_v1_…, in the workspace › Developers. An identity of the organisation with its own access to brands: it keeps working when whoever made it leaves.POST /api/credentials/revoke and it is revoked, no sign-in needed.The brand field accepts the short id (BRD-8C1TZA) or the UUID. Call brands.list or GET /api/v1/me to see which brands a token can use.
With a token a write happens at once, as if its holder made it in the app: it is your integration. Outside agents (Claude, ChatGPT…) come in through MCP and follow the brand's agent policy: read only, with the person's approval, or direct.
Send Idempotency-Key (8 to 128 characters) on every write you may retry: the same key with the same input answers once for 24 hours (Idempotent-Replayed: true on the replay) and with another input answers idempotency_conflict.
Every write with expectedRevision fails with revision_conflict if the record changed meanwhile: read again and retry.
Lists return items and nextCursor. Pass cursor for the next page; limit goes from 1 to 50.
Every error has a stable code, its HTTP status and, when it helps, detail (the missing permission) or issues (the fields). A usage refusal also carries usage and message, a sentence you can show as is. The full list is in Errors.
HTTP/1.1 403 Forbidden
Content-Type: application/problem+json
{
"type": "https://docs.nomad.ooo/en/api/errors#error-insufficient_scope",
"title": "Insufficient scope",
"status": 403,
"code": "insufficient_scope",
"detail": "works.write",
"request_id": "…"
}Changes are additive: new optional fields and new capabilities. A published id never changes meaning; when one must be replaced the old one keeps working while the new one is announced.