IntentLayerDocsDashboard ↗
Docs/API Reference
API Reference

API Reference

Generated endpoint reference from the FastAPI OpenAPI schema.

Base URL in local development: http://localhost:8000. Production writes use Authorization: Bearer il_...; read routes also accept signed dashboard cookie where noted.

#Gate

#POST /v1/gate

Gate

Parameters

NameInTypeRequired
authorizationheaderstring or nullno

JSON body

FieldTypeRequired
requeststring (min length 1, max length 20000)yes
session_idstring (min length 1, max length 120)yes
contextobject or nullno
clarification_responsestring (max length 20000) or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

Example

result = intentlayer.gate("cancel it", "session-42")

#Events

#POST /v1/events

Ingest Event

Parameters

NameInTypeRequired
authorizationheaderstring or nullno

JSON body

FieldTypeRequired
session_idstring (min length 1, max length 120)yes
eventrephraseacceptregenerateabandoncorrectionyes
detailstringno
created_atstring or nullno
gate_caughtbooleanno

Responses

StatusMeaning
200Successful Response
422Validation Error

Example

intentlayer.record_outcome("session-42", "correction", detail="I meant order A1002")

#Playground

#POST /v1/playground

Playground

JSON body

FieldTypeRequired
requeststring (min length 1, max length 500)yes

Responses

StatusMeaning
200Successful Response
422Validation Error

#Failures

#GET /v1/failures

Failures

Parameters

NameInTypeRequired
pagequeryinteger (min 1)no
page_sizequeryinteger (min 1, max 100)no
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Report

#GET /v1/report

Report

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#GET /v1/report.html

Report Html

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Overview

#GET /v1/overview

Overview

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Evals

#GET /v1/evals

Export Evals

Parameters

NameInTypeRequired
sincequerystring or nullno
clusterquerystring or nullno
dimensionquerygoaloutput_formatscopeconstraints or nullno
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#POST /v1/evals/{eval_id}/status

Set Eval Status

Parameters

NameInTypeRequired
eval_idpathstringyes
authorizationheaderstring or nullno

JSON body

FieldTypeRequired
statusacceptmuteyes

Responses

StatusMeaning
200Successful Response
422Validation Error

#Experiment

#GET /v1/experiment

Get Experiment

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Config

#GET /v1/config

Get Config

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#PUT /v1/config

Put Config

Parameters

NameInTypeRequired
authorizationheaderstring or nullno

JSON body

FieldTypeRequired
ambiguity_thresholdnumber (min 0.0, max 1.0) or nullno
dimension_thresholdnumber (min 0.0, max 1.0) or nullno
failure_costnumber or nullno
ask_frictionnumber (min 0.0) or nullno
answered_fatigue_multipliernumber (min 1.0) or nullno
high_fatigue_multipliernumber (min 1.0) or nullno
request_length_frictionnumber (min 0.0) or nullno
request_length_referenceinteger or nullno
mode_defaultobservesuggestauto or nullno
experimentobject or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Auth

#POST /v1/dashboard/login

Dashboard Login

JSON body

FieldTypeRequired
api_keystring (min length 4, max length 200)yes

Responses

StatusMeaning
200Successful Response
422Validation Error

#POST /v1/dashboard/logout

Dashboard Logout

Responses

StatusMeaning
200Successful Response

#Operations

#GET /health

Health

Responses

StatusMeaning
200Successful Response

#POST /v1/clusters/run

Run Clusters

Parameters

NameInTypeRequired
authorizationheaderstring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#GET /v1/questions/stats

Get Question Stats

Parameters

NameInTypeRequired
authorizationheaderstring or nullno
intentlayer_sessioncookiestring or nullno

Responses

StatusMeaning
200Successful Response
422Validation Error

#Authentication

Writable production routes require bearer keys beginning with il_. Read routes accept same bearer key or signed intentlayer_session cookie. Local development can disable auth. Hosted demo rejects write routes with 403 except public playground.

#Rate limits

  • POST /v1/playground: 10 requests/minute/IP.
  • POST /v1/gate: 120 requests/minute/key when auth is enabled.
  • Limits use in-memory sliding windows per backend process. 429 includes Retry-After.

#Error codes

StatusMeaning
401Missing, invalid, or expired API credential/session.
403Write rejected in hosted demo mode.
404Eval ID not found for tenant.
422FastAPI request validation failed.
429In-process rate limit exceeded.
Source truthbackend/app/main.pybackend/app/evals.pybackend/app/schemas.py