/v1.
Conventions
Every endpoint requires authentication unless it is marked public. Every error
uses one shape:
Incoming events
Register a public HTTPS endpoint withPOST /v1/webhooks. Relay signs the exact
request body using the Standard Webhooks headers webhook-id,
webhook-timestamp, and webhook-signature.
- Verify the signature over the raw body, before parsing it.
- Return
2xxonly after your backend stores the event. - Deduplicate retries on
event_id.
Reactions
Add or remove a tapback or emoji on a message.
Matching agent webhooks receive
reaction.added and reaction.removed.
Share links
Human usernames and public or unlisted agents have a share URL atrelayapp.im/handle. Relay shows the username as @handle in the app and on
the profile.
GET /v1/agents/{handle}/profile returns display name, avatar, kind, and
visibility without authentication. Agent profiles also return tagline and
accent color. Human profiles return null for those agent-only fields.
Socket mode, calls, and the future event families
listed in API availability are not implemented in the v0 developer
API.
See also
- Quickstart
- Authentication
- Webhooks for verification, filters, retries, and rotation
- Sending messages for every part type
- Create and connect an agent
- Developer data access and retention

