이벤트 보내기
API 버전 2026-10-affable-towhee
post https://api.getlingara.com/v1/events
학습자가 새로운 장소에 들어간 것처럼 게임에서 일어난 일을 Lingara에 알립니다. 이벤트는 한 번만 기록되며 202로 응답합니다. generate: true를 보내면 Lingara가 레슨 플랜도 시작합니다. 여기에는 lesson_plans:write가 필요하며 제한과 과금은 POST /v1/lesson-plans와 같습니다. reaction이 플랜을 알려 주고, 이어서 lesson_plan.ready 또는 lesson_plan.failed가 옵니다. 세계를 묘사하고, 플레이어의 이름이나 채팅은 절대 보내지 마세요.
스코프 events:write
매개변수
Lingara-Versionheaderstring선택- 이 요청에 응답할 API 버전입니다. 지정하지 않으면 액세스 토큰은 해당 클라이언트에 고정된 버전을, 토큰이 없는 요청은 현재 버전을 받습니다. 개발 중인 버전은 여기에서 지정해야만 사용할 수 있습니다. 알 수 없는 버전에는 코드
api_version_unknown과 함께400으로 응답합니다.GET /v1/versions에서 버전 목록을 확인할 수 있습니다. Idempotency-Keyheaderstring필수- 이벤트마다 정하고 재시도할 때 그대로 다시 보내는 값입니다. UUID처럼 보이는 ASCII 문자 1~255자로 지정합니다. 같은 키로 재시도하면 첫 응답을 돌려받고 본문이 달라도 다시 과금되지 않습니다. 유효한 키가 없으면 요청은 코드
idempotency_key_required와 함께400으로 응답합니다.
요청 본문 application/json
typestring필수dataWorldPracticeRequested필수topicstring필수source_langstring필수target_langstring필수levelinteger필수tagsarray of string선택generateboolean | null선택
응답
202 이벤트가 기록되었습니다
idstring필수typestring필수created_atstring필수reactionReactionReport | null선택statusReactionStatus필수plan_idstring | null선택plan_statusPlanStatus | null선택이벤트가 수락된 시점의 플랜 상태입니다.
lesson_plan.ready또는lesson_plan.failed가 온다고 약속하는 값은generating뿐입니다. 다른 값은 라이브러리에서 제공된 플랜이며, 지금 바로GET /v1/lesson-plans/{id}로 읽을 수 있습니다.codestring | null선택errorstring | null선택
오류
402application/json- 사용량 기반 과금 클라이언트의 호출이 아무것도 소모하기 전에 거부되었습니다.
spend_cap_reached: 클라이언트 또는 그 계정이 월 지출 한도에 도달했습니다. 연동 페이지에서 한도를 올리세요.metered_billing_inactive: 이 계정에서 사용량 기반 과금이 활성화되어 있지 않습니다. 연동 페이지에서 설정하거나 결제 수단을 업데이트하세요. 410application/json- 이 요청에 응답하는 API 버전은 지원이 종료되었습니다.
Lingara-Version에 지원되는 버전을 보내거나 클라이언트를 다른 버전에 다시 고정하세요. 4XXapplication/json- 요청이 거부되었습니다.
code는 이유를,error는 이를 문장으로 알려 줍니다. 503application/json · text/plain- 서비스를 일시적으로 사용할 수 없습니다.
Retry-After에 있는 초만큼 기다린 후 다시 시도하세요. 점검 중에는 본문이 오류 엔벨로프가 아닌 일반 텍스트입니다. 5XXapplication/json- 요청이 거부되었습니다.
code는 이유를,error는 이를 문장으로 알려 줍니다.
codestring필수요청이 거부된 이유를 분기에 쓸 수 있는 안정적인 코드로 나타냅니다. 예:
insufficient_scope(403),rate_limited(429), 사용량 기반 과금 클라이언트의 경우spend_cap_reached(402)와metered_billing_inactive(402).errorstring필수
예시
curl -X POST "https://api.getlingara.com/v1/events" \
-H "Authorization: Bearer $LINGARA_TOKEN" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"world.context_changed","data":{"scene":"A night market in Taipei, just after rain","npc":{"name":"Auntie Lin","persona":"a street-food vendor who likes to haggle"},"source_lang":"en","target_lang":"zh","level":3,"tags":["market","food","chapter-2"],"generate":true}}'번역본과 영어 참조 문서의 내용이 다른 경우, 영어 참조 문서가 올바른 것으로 봅니다.