OpenAPI document
Operations tagged OpenAPI document in the public API.
About OpenAPI document
GET /openapi.json serves this document: the committed OpenAPI 3.1 contract of /v1, generated from the API's own routes and checked against them on every change. An operation or field that is not in it is not part of the contract. No key is needed.
Besides paths and schemas it carries x-agentency-scopes (every scope and what it grants), x-agentency-rate-limits, x-agentency-error-codes, the webhook payloads under webhooks with their delivery rules in x-agentency-webhook-delivery, and per operation the scope it needs (x-agentency-scope), the events it emits (x-agentency-emits), whether it honours Idempotency-Key (x-agentency-idempotent) and where each id comes from (x-agentency-id-sources).
Caching. The response carries a strong ETag and Cache-Control: public, max-age=300. Send the ETag back as If-None-Match, and an unchanged document is 304 with no body.
Download the OpenAPI document
/v1, byte for byte — without a key, so code generators and docs hosts can fetch it. It carries a strong ETag (the document's SHA-256) and Cache-Control: public, max-age=300; send the ETag back in If-None-Match and an unchanged document is 304 with no body. 404 NOT_FOUND when the deployment ships no document. Limited per client IP.- Idempotency
- Read-only
- Rate limits
Responses
- 200Success.This OpenAPI 3.1 document.
openapistringRequiredThe OpenAPI version of the document,3.1.0.infoobjectRequiredTitle, contract version and description of the API.pathsobjectRequiredEvery/v1operation, keyed by path and method.
- 304Not modified. An If-None-Match equal to this document's ETag returns an empty body.
- 404The resource does not exist on this account.
Error codesNOT_FOUND
- 429Rate limited. Honour Retry-After.
Error codesRATE_LIMITED
- 500Unexpected server error. Retry with the same Idempotency-Key.
Error codesSERVER_ERROR
See also
Request
curl -X GET 'https://api.agentency.com/v1/openapi.json' \
-H "Authorization: Bearer <YOUR_KEY>" \
-H "Content-Type: application/json"Response
Example 200 response
{
"openapi": "string",
"info": {},
"paths": {}
}Built from the response schema, not recorded from a live call.