/v1.
Conventions
Every endpoint requires authentication unless it is marked public. Every error
uses one shape:
Incoming events
Create a subscription withPOST /v1/webhooks. Relay sends Linq’s v3 envelope
and signs the exact request body using only 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.
The agent’s receiver gets
reaction.added and reaction.removed.
Share links
Human usernames and 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, and kind without
authentication. Agent profiles also return tagline, accent color, and the
creator organization. Human profiles return null for those agent-only fields.
A suspended or retired handle answers 404.
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

