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.