REST API overview
The API is JSON over HTTPS under /v1. Every endpoint is in the endpoint reference, generated from api/openapi.yaml, the same file a test keeps equal to the server’s routes.
Conventions
Section titled “Conventions”- Objects carry
"object": "<type>"and an"id"with a prefix:act_,deed_,agt_,pol_, … (Ids). Ids are lowercase. - Timestamps are RFC 3339 in UTC.
- Money is
amountin minor units (an integer) pluscurrency(ISO 4217, lowercase):{"amount": 12000, "currency": "usd"}is $120.00. - Every response carries
Deedglass-Request-Idand theDeedglass-Versionit was answered with. - CORS is closed, except for the public key set and the MCP protected-resource metadata.
Errors
Section titled “Errors”Every error has the same envelope and a page of its own:
invalid_request_error{
"error": {
"type": "invalid_request_error",
"code": "validation_failed",
"message": "`limit` must be between 1 and 100.",
"param": "limit",
"request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d",
"doc_url": "https://docs.deedglass.com/errors/validation_failed"
}
}Branch on type and code, never on the message. See every error code.
The pages in this section
Section titled “The pages in this section”- Authentication: API keys and the Console session.
- Versioning: the
Deedglass-Versionheader. - Idempotency: safe retries.
- Pagination: lists and cursors.
- Events and webhooks: the event object, SSE and signed webhooks.