KYRA·

Section 01 · API · Private Beta

Kyra API.

Programmatic access to Kyra for Pro-plan customers. Currently private beta; the surface below previews what's coming.

Getting access

The Pro plan includes API access. Because we're still shaping the public surface, keys are issued manually during the beta. Email api@meetkyra.com with your use case and we'll get you set up.

Authentication

Pass your API key in the Authorization header as a bearer token:

Authorization: Bearer <your-api-key>

Keys are provisioned manually during the beta. Don't commit them to a public repo — we can rotate any leaked key on request.

Example: send a chat message

The widget chat endpoint is the most mature surface and a good preview of what the public API will look like. It's already live and powers the embedded widget on customer sites.

POST/api/widget/<workerId>/chat

curl -X POST https://meetkyra.com/api/widget/<workerId>/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Do you do emergency callouts on Sundays?",
    "visitor": { "name": "Alex", "email": "alex@example.com" }
  }'

Response

{
  "conversationId": "1c2a9e3f-...",
  "message": "Yes — we do 24/7 emergency callouts. Want to book a slot?",
  "tier": "pro",
  "model": "claude-sonnet-4-7",
  "provider": "anthropic",
  "fellBack": false
}

Rate limits

Widget endpoints are rate-limited to 60 requests per minute per widget by default. 429 responses include Retry-After and X-RateLimit-* headers so your client can back off cleanly. Contact us if you need a higher ceiling.

Coming next

  • GET/contacts· Read & write
  • GET/calls· Transcripts, recordings, metadata
  • POST/knowledge· Full CRUD (pages, documents, FAQs)
  • POST/webhooks· Outbound events for new messages, calls, escalations

Heads up

This surface is subject to breaking changes until we exit beta. We'll announce stable v1 on the changelog with a deprecation window.