// conventions

BeaamAPI conventions

The response envelope, error shape, authentication, and the rules every capability follows.

This product follows widely-adopted open standards so any client — monitoring tools, event platforms, or your own code — can integrate without bespoke work. These conventions are adopted independently; where this document references an external standard, that standard (not this document) is the source of truth.

Versioning

Authentication

Webhook signatures (Standard Webhooks)

Every webhook this product sends, and every webhook it accepts, is signed using the Standard Webhooks scheme.

Event envelope (CloudEvents)

Events are encoded as CloudEvents 1.0 in structured JSON (Content-Type: application/cloudevents+json).

Attribute Meaning
specversion Always 1.0.
id Globally-unique event id. Also the idempotency key (sent as the webhook-id header).
source URI identifying the producer, e.g. https://api.example.app/tenants/{id}.
type Reverse-DNS event type, e.g. app.beaam.incident.opened.
subject The affected resource, e.g. incident/{id}.
time RFC 3339 UTC timestamp.
datacontenttype application/json.
dataschema URL of the versioned JSON Schema for data.
data The event payload (documented per event type).

Idempotency & ordering

Retries & delivery

Errors

Errors use standard HTTP status codes and a JSON body:

{ "error": { "type": "invalid_request", "code": "missing_field", "message": "field 'x' is required", "request_id": "req_..." } }

type is a stable machine-readable category; request_id is for support.

Rate limits

Responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset (seconds until reset). Exceeding the limit returns 429 with a Retry-After header.


This page is generated from docs/api/conventions.md in the Beaam repository, so it stays in step with the implementation. Something unclear or wrong?Tell us — and see theAPI reference for the full list of operations.

Back to docs