Generate a lesson note
Generates a draft lesson note from a topic, using the school's daily AI allowance.
POSThttps://api.klasstack.com/v1/ai/lesson-notes
- ai:write
- Billable
- Idempotency-Key required
- Test key: example response
Authorizations
AuthorizationstringheaderrequiredYour secret key as a bearer token, in the form Bearer ks_live_sk_... or Bearer ks_test_sk_.... Keep it on your server. A test key gets the documented example and touches no school data.
Headers
idempotency-keystringheaderrequiredA key of your own that makes this write safe to retry: the same key returns the first response instead of writing again.
Body
application/json
topicstringcourseIdintegerguidancestringweekNumberintegerclassLevelIdintegerdurationMinutesintegeracademicPeriodIdinteger
Response
200, application/json
dataobjectrequiredShow child attributesHide child attributes
idnumberrequiredtitlestringrequiredstatusstringrequiredcourseIdnumberrequiredclassLevelIdnumber or nullrequiredclassSectionIdnumber or nullrequiredacademicPeriodIdnumberrequiredsectionsobject[]requiredShow child attributes of each itemHide child attributes of each item
keystringrequiredlabelstringrequiredhtmlstringrequiredSanitized HTML.
createdAtstring or nullrequired
metaobjectrequiredShow child attributesHide child attributes
request_idstringrequiredAlso returned in the X-Request-ID header.
paginationobjectShow child attributesHide child attributes
limitintegerrequiredRequired range: x <= 100
has_morebooleanrequirednext_cursorstring or nullrequiredSend this back as
cursorfor the next page. Opaque: never parse it.
Errors
- 400invalid_parameterA request parameter is invalid; `field` names it. A write sent without an Idempotency-Key is refused this way with `field` set to `Idempotency-Key`.
- 401invalid_api_keyNo key was presented, or the key is not valid.
- 402insufficient_balanceThe school's service wallet cannot cover this call.
- 403insufficient_scopeThe app does not hold the scope this endpoint needs.
- 404endpoint_not_exposedThis endpoint is not part of the API.
- 422ai_output_emptyThe model answered but nothing usable came back. Nothing was saved; retry or adjust the brief.
- 422ai_generation_failedThe generation ran and ended in an error. Nothing was saved; retry later.
- 429rate_limitedThe rate limit was reached. Retry after the Retry-After header says.
- 429ai_budget_exhaustedThe school's shared daily AI allowance is used up. Retry-After is the seconds until it resets.
- 429ai_generation_in_progressThis app already has the maximum number of AI generations running. Retry after Retry-After.
- 503platform_unavailableThe API is not available for this school right now.
What each code means, and what to do about it, is in the errors guide.
Webhook events
This call triggers no webhook event.