API Reference

The TrustRelay API is organized around REST. All requests must be authenticated with your API key via the Authorization header.

Base URL: https://api.trustrelay.io/v1

Authentication

Include your API key as a Bearer token on every request:

Authorization: Bearer your_api_key_here

Requests without a valid key will return 401 Unauthorized.


Relay Events

Create a relay event

POST /relay

Sends a payload through the relay and returns an event record.

Request body

FieldTypeRequiredDescription
sourcestringYesIdentifier for the originating service
payloadobjectYesArbitrary JSON payload to relay
metadataobjectNoOptional key-value metadata
ttlnumberNoTime-to-live in seconds (default: 300)

Example request

{
  "source": "auth-service",
  "payload": {
    "userId": "u_1234",
    "action": "login"
  },
  "metadata": {
    "region": "us-east-1"
  }
}

Example response

{
  "id": "re_9kXmT3fAbc",
  "status": "delivered",
  "source": "auth-service",
  "createdAt": "2026-03-13T10:00:00Z",
  "expiresAt": "2026-03-13T10:05:00Z"
}

Get a relay event

GET /relay/{id}

Returns a relay event by its ID.

Path parameters

ParameterTypeDescription
idstringRelay event ID

List relay events

GET /relay

Returns a paginated list of relay events for your account.

Query parameters

ParameterTypeDefaultDescription
limitnumber20Number of results (max: 100)
cursorstringPagination cursor from last page
sourcestringFilter by source identifier

Error Codes

CodeMeaning
400Bad request — check your request body
401Unauthorized — invalid or missing API key
404Not found — the relay event does not exist
429Rate limited — slow down your request rate
500Internal server error — contact support

Rate Limits

The API enforces rate limits per API key:

  • 100 requests / 10 seconds on POST /relay
  • 1,000 requests / 10 seconds on read endpoints

Exceeding these limits returns a 429 response with a Retry-After header indicating when you may resume.

ende