Skip to content

API

API reference

Auto-generated from the live OpenAPI spec served by the product app, always in sync, because the spec is the source of truth.

Raw spec: https://app.xyrachat.com/api/v1/openapi.json

Quick start

Everything you need before you call your first endpoint.

Authentication

All requests use a Bearer token. Generate one in Settings → API keys inside the app and send it on every request:

Authorization: Bearer xyra_sk_…

Keys are workspace-scoped and can be rotated or revoked at any time. Never embed a key in client-side code.

Rate limits

Every response carries the standard X-RateLimit-* headers. Default ceilings:

  • • 60 requests / minute per API key
  • • 5 000 requests / day per workspace
  • • Burst up to 20 requests / second

Need higher? Email hello@xyrachat.com , we'll raise it.

Webhooks

Subscribe to events like message.received or conversation.assigned. Every delivery is signed:

X-Xyra-Signature: sha256=…

Verify with HMAC-SHA256 using your endpoint secret, see the/webhooks section below.

Your first request

List the most recent conversations in your workspace:

curl -X GET https://app.xyrachat.com/api/v1/conversations \
  -H "Authorization: Bearer $XYRA_API_KEY" \
  -H "Accept: application/json"

You should get a JSON list back in milliseconds, if not, the error body always tells you what to fix.

Full reference

Every endpoint, every model.

Browse, search and try schemas below, themed to feel like the rest of Xyra Chat.