Getting Started
Steps
- Get your API key (see Authentication).
- Add the header:
Authorization: Bearer <API_KEY>. - Choose an action: send context (
/v1/events), trigger a reaction (/v1/events/generations), list/activate characters, or have ai_licia join/leave your chat.
First request (ingest an event)
curl -X POST https://api.getailicia.com/v1/events \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"eventType": "GAME_EVENT",
"data": {
"channelName": "mychannel",
"content": "Player reached level 20 with 2 HP remaining."
}
}'
'Expected responses: 200 OK success; 401 auth failure; 422 length issues.
Trigger a reaction (rate limited)
curl -X POST https://api.getailicia.com/v1/events/generations \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"eventType": "GAME_EVENT",
"data": {
"channelName": "mychannel",
"content": "Jellab just landed a triple kill with Yasuo.",
"features": {
"vision": false,
"web_search": false,
"commands": false,
"memory": false,
"tts": true
}
}
}'
'Rate limit: 1 request every ~25 seconds per API key. Content limit: ~300 characters for
/generations, ~700 characters for /events.Manage characters & chat presence
- List available personas:
GET /v1/characters - Activate one:
PUT /v1/characters/{characterId}/active - Read channel runtime status:
GET /v1/channels/status - Make ai_licia join chat:
POST /v1/streams/{channelName}(mode=LIVE|TEST) - Ask her to leave:
DELETE /v1/streams/{channelName}
See the dedicated docs for payloads/responses: Send Context & Trigger Reactions, Character Management, Channel Runtime Status, and Control Chat Presence.
Next: consume outputs via EventSub.