Section 01 · API
Kyra API.
Pro and Scale include API access. You create a key in settings, and we show the full key once.
Getting access
Pro and Scale include API access. Open settings, create a key, and copy it then. We show the full key once. You can revoke a key there and create a new one.
Authentication
Pass your API key in the Authorization header as a bearer token:
Authorization: Bearer <your-api-key>Do not commit a key to a public repo. If one leaks, revoke it in settings and create a new one.
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. I can check Sunday against the hours you set.",
"tier": "pro",
"model": "claude-sonnet-4-7",
"provider": "anthropic",
"fellBack": false
}Rate limits
Widget chat allows 30 requests per minute for each widget and IP address. A 429 response includes a Retry-After header and X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
Routes
- GET/api/v1/contacts· List contacts
- POST/api/v1/contacts· Create a contact
- GET/api/v1/conversations· List conversations
- GET/api/v1/conversations/{id}/messages· List messages
- GET/api/v1/analytics/funnel· Funnel counts
Heads up
The same routes are listed in /api/v1/openapi.json.