Developer documentation
On this page
Three ways in #
Deliver to your site
Connect the site under Connections. A person approves an article in Brenzuri. It appears on your site as a draft.
Automate with the REST API
Create a key in Developer › API keys. POST a brief, then POST an article. Follow the job and read the article.
Connect an agent over MCP
Add the server address to the client. Sign in and pick a site on the consent page. Ask for a brief, then an article.
What Brenzuri guarantees #
Every claim points at its sources. An article returns its claims, each with thesourceIdsthat carry it and how many independent origins stand behind it. See Corroboration and flags.Single-source claims are underlined, not deleted. A claim confirmed by fewer than two independent outlets keeps its place in the text with a state other than corroborated. You decide what to do with it.A person approves. No key, token, agent or staff account can. The approve route is not on the list a key may call. See Approval and the AI label. The label is derived. label.reviewedByHumanis read from the approval record of that exact version. Nothing sets it.Delivery is a draft. No connection publishes: WordPress receives the article with status draft, and a custom site receives draftorawaiting_approval, neverpublish. A key or an agent can only produce a draft. A rewrite of an approved article updates the same WordPress post and sets it back to draft.Every agent action is a version that names the agent, and a failed job releases the credits it held. See Versions and actors and Credits.
Where things live #
| Surface | Address | Credential | Guide |
|---|---|---|---|
https://{your Brenzuri host}/api/v1 | bz_live_… | ||
https://{your Brenzuri host}/mcp/v1 | bz_mcp_live_… | ||
/.well-known/oauth-authorization-server | |||
whsec_… |
https://{your Brenzuri host} because it depends on where Brenzuri is deployed.
How the examples are written #
export BRENZURI_URL="https://your-brenzuri-host"
export BRENZURI_KEY="bz_live_…"Field names are camelCase. A field that is not set is left out of the JSON; it is never null.The API answers 200 for a created object, not 201, and 204 where nothing comes back. Article, claim, source, brief and job ids are upper-case UUIDs; site, brand and illustration ids are lower-case. Compare them case-insensitively. Failures use one envelope, described under Errors.
Two things to try offline #
Signature checker
Paste a secret, the X-Brenzuri-Timestamp header, the raw request body and the X-Brenzuri-Signature header. The HMAC-SHA256 is computed in this browser with WebCrypto. Nothing leaves this page: there is no request, no logging and no storage.
Fill in the secret, the timestamp and the body.
Payload explorer
The exact body a developer webhook receives, with keys in the order the engine writes them (sorted). Hover or focus a field to read what it means. Long strings are shortened on screen. The values are made up; the shape is checked against the engine data types.
- {
- },
- }
Hover or focus a field to see what it is.