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
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |||
|---|---|---|---|---|---|
request | string (min length 1, max length 20000) | yes | |||
session_id | string (min length 1, max length 120) | yes | |||
context | object or null | no | |||
history | array of string (max length 20000) or null | no | |||
clarification_response | string (max length 20000) or null | no | |||
action_risk | low | medium | high | irreversible or null | no |
action_cost | number (min 0.0) or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
Example
#Events
#POST /v1/events
Ingest Event
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |||||
|---|---|---|---|---|---|---|---|
session_id | string (min length 1, max length 120) | yes | |||||
event | rephrase | accept | regenerate | abandon | correction | self_report | yes |
detail | string (max length 20000) | no | |||||
category | missing_context | broken_tool | capability_gap | task_failure | spec_conflict or null | no | |
spec_field | goal | output_format | scope | constraints or null | no | ||
created_at | string or null | no | |||||
gate_caught | boolean | no | |||||
signal | object or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
Example
#Playground
#POST /v1/playground
Playground
JSON body
| Field | Type | Required |
|---|---|---|
request | string (min length 1, max length 500) | yes |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Failures
#GET /v1/failures
Failures
Parameters
| Name | In | Type | Required |
|---|---|---|---|
page | query | integer (min 1) | no |
page_size | query | integer (min 1, max 100) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Report
#GET /v1/report
Report
Parameters
| Name | In | Type | Required |
|---|---|---|---|
days | query | integer (min 1, max 365) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/report.html
Report Html
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Overview
#GET /v1/overview
Overview
Parameters
| Name | In | Type | Required |
|---|---|---|---|
days | query | integer (min 1, max 365) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Evals
#GET /v1/evals
Export Evals
Parameters
| Name | In | Type | Required | |||
|---|---|---|---|---|---|---|
since | query | string or null | no | |||
cluster | query | string or null | no | |||
dimension | query | goal | output_format | scope | constraints or null | no |
authorization | header | string or null | no | |||
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/evals/{eval_id}/status
Set Eval Status
Parameters
| Name | In | Type | Required |
|---|---|---|---|
eval_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |
|---|---|---|---|
status | accept | mute | yes |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Reviews
#GET /v1/reviews/queue
Review Queue
Parameters
| Name | In | Type | Required | |||
|---|---|---|---|---|---|---|
page | query | integer (min 1) | no | |||
page_size | query | integer (min 1, max 100) | no | |||
cluster_id | query | string (max length 80) or null | no | |||
missing_dimension | query | goal | output_format | scope | constraints or null | no |
date_from | query | string or null | no | |||
date_to | query | string or null | no | |||
authorization | header | string or null | no | |||
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/reviews
Submit Review
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |||
|---|---|---|---|---|---|
event_id | integer (min 1.0) | yes | |||
correlation_id | string (min length 1, max length 120) or null | no | |||
verdict | true_misunderstanding | false_alarm | correct_understanding | unclear | yes |
actual_intent | string (max length 20000) | no | |||
corrected_dimension | goal | output_format | scope | constraints or null | no |
corrected_cluster_id | string (min length 1, max length 80) or null | no | |||
note | string (max length 20000) | no | |||
model_version | string (max length 64) | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/reviews/stats
Review Stats
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Experiment
#GET /v1/experiment
Get Experiment
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Pilot
#GET /v1/pilot/metrics
Pilot Metrics
Parameters
| Name | In | Type | Required |
|---|---|---|---|
window_days | query | integer (min 1, max 365) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Interventions
#GET /v1/interventions/stats
Get Intervention Stats
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Config
#GET /v1/config
Get Config
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#PUT /v1/config
Put Config
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||
|---|---|---|---|---|
ambiguity_threshold | number (min 0.0, max 1.0) or null | no | ||
dimension_threshold | number (min 0.0, max 1.0) or null | no | ||
failure_cost | number or null | no | ||
misunderstanding_cost | number or null | no | ||
ask_friction | number (min 0.0) or null | no | ||
answered_fatigue_multiplier | number (min 1.0) or null | no | ||
high_fatigue_multiplier | number (min 1.0) or null | no | ||
request_length_friction | number (min 0.0) or null | no | ||
request_length_reference | integer or null | no | ||
mode_default | observe | suggest | auto or null | no |
intervention_mode | off | suggest | enforce or null | no |
low_risk_cost | number (min 0.0) or null | no | ||
medium_risk_cost | number (min 0.0) or null | no | ||
high_risk_cost | number (min 0.0) or null | no | ||
irreversible_risk_cost | number (min 0.0) or null | no | ||
issue_promotion_event_threshold | integer (min 1.0) or null | no | ||
issue_promotion_session_threshold | integer (min 1.0) or null | no | ||
issue_promotion_window_days | integer (min 1.0) or null | no | ||
experiment | object or null | no | ||
cluster_rules | array of object or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Auth
#POST /v1/dashboard/login
Dashboard Login
JSON body
| Field | Type | Required |
|---|---|---|
api_key | string (min length 4, max length 200) | yes |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/dashboard/logout
Dashboard Logout
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
#Operations
#POST /v1/hooks/retell/{connector_id}
Retell Hook
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/connectors
List Connectors
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/connectors
Create Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required |
|---|---|---|
provider | string | yes |
name | string (min length 1, max length 120) | yes |
api_key | string (min length 1, max length 500) | yes |
backfill_days | integer (min 0.0, max 3650.0) | no |
agent_ids | array of string or null | no |
Responses
| Status | Meaning |
|---|---|
201 | Successful Response |
422 | Validation Error |
#GET /v1/health/sync
Sync Health
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/connectors/{connector_id}
Get Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#DELETE /v1/connectors/{connector_id}
Delete Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
204 | Successful Response |
422 | Validation Error |
#POST /v1/connectors/{connector_id}/pause
Pause Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/connectors/{connector_id}/resync
Resync Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required |
|---|---|---|
start_date | string | yes |
end_date | string | yes |
Responses
| Status | Meaning |
|---|---|
202 | Successful Response |
422 | Validation Error |
#POST /v1/connectors/{connector_id}/resume
Resume Connector
Parameters
| Name | In | Type | Required |
|---|---|---|---|
connector_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/notifications/settings
Get Notification Settings
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#PUT /v1/notifications/settings
Put Notification Settings
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||||||
|---|---|---|---|---|---|---|---|---|
slack_webhook_url | string (max length 1000) or null | no | ||||||
digest_enabled | boolean or null | no | ||||||
digest_day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday or null | no |
alerts_enabled | boolean or null | no | ||||||
alert_growth_threshold_pct | number (min 0.0) or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/notifications/rules
List Alert Rules
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/notifications/rules
Create Alert Rule
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||
|---|---|---|---|---|
name | string (min length 1, max length 120) | yes | ||
condition | object | yes | ||
channel | slack | email | webhook | no |
enabled | boolean | no |
Responses
| Status | Meaning |
|---|---|
201 | Successful Response |
422 | Validation Error |
#PUT /v1/notifications/rules/{rule_id}
Update Alert Rule
Parameters
| Name | In | Type | Required |
|---|---|---|---|
rule_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||
|---|---|---|---|---|
name | string (min length 1, max length 120) | yes | ||
condition | object | yes | ||
channel | slack | email | webhook | no |
enabled | boolean | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#DELETE /v1/notifications/rules/{rule_id}
Delete Alert Rule
Parameters
| Name | In | Type | Required |
|---|---|---|---|
rule_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
204 | Successful Response |
422 | Validation Error |
#POST /v1/notifications/test
Test Notification
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/notifications/digest/run
Run Digest
Parameters
| Name | In | Type | Required |
|---|---|---|---|
x-cron-key | header | string or null | no |
authorization | header | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/notifications/alerts/run
Run Alerts
Parameters
| Name | In | Type | Required |
|---|---|---|---|
x-cron-key | header | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/ingest/sessions
Ingest Sessions
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/otel/v1/traces
Ingest Otlp Traces
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
#GET /v1/signals
List Signals
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/signals
Create Signal
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||
|---|---|---|---|---|
name | string (min length 1, max length 120) | yes | ||
description | string (max length 2000) | no | ||
type | regex | instrumented | yes | |
pattern | string (max length 2000) or null | no | ||
polarity | positive | negative | neutral | no |
enabled | boolean | no |
Responses
| Status | Meaning |
|---|---|
201 | Successful Response |
422 | Validation Error |
#GET /v1/signals/{signal_id}
Get Signal
Parameters
| Name | In | Type | Required |
|---|---|---|---|
signal_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#PUT /v1/signals/{signal_id}
Update Signal
Parameters
| Name | In | Type | Required |
|---|---|---|---|
signal_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | ||
|---|---|---|---|---|
name | string (min length 1, max length 120) | yes | ||
description | string (max length 2000) | no | ||
type | regex | instrumented | yes | |
pattern | string (max length 2000) or null | no | ||
polarity | positive | negative | neutral | no |
enabled | boolean | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#DELETE /v1/signals/{signal_id}
Delete Signal
Parameters
| Name | In | Type | Required |
|---|---|---|---|
signal_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
204 | Successful Response |
422 | Validation Error |
#POST /v1/signals/{signal_id}/backfill
Backfill Signal
Parameters
| Name | In | Type | Required |
|---|---|---|---|
signal_id | path | integer | yes |
days | query | integer (min 1, max 30) or null | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
202 | Successful Response |
422 | Validation Error |
#GET /v1/search
Get Search
Parameters
| Name | In | Type | Required | |
|---|---|---|---|---|
query | query | string (min length 1, max length 20000) | yes | |
mode | query | keyword | semantic | no |
date_from | query | string or null | no | |
date_to | query | string or null | no | |
session_id | query | string (max length 120) or null | no | |
outcome_type | query | string or null | no | |
cluster_id | query | string (max length 80) or null | no | |
page | query | integer (min 1) | no | |
page_size | query | integer (min 1, max 100) | no | |
authorization | header | string or null | no | |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/search
Post Search
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |
|---|---|---|---|
query | string (min length 1, max length 20000) | yes | |
mode | keyword | semantic | no |
date_from | string or null | no | |
date_to | string or null | no | |
session_id | string (max length 120) or null | no | |
outcome_type | string or null | no | |
cluster_id | string (max length 80) or null | no | |
page | integer (min 1.0) | no | |
page_size | integer (min 1.0, max 100.0) | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/issues
List Issues
Parameters
| Name | In | Type | Required | |||
|---|---|---|---|---|---|---|
status | query | open | acknowledged | resolved | regressed or null | no |
authorization | header | string or null | no | |||
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/issues/{issue_id}
Get Issue
Parameters
| Name | In | Type | Required |
|---|---|---|---|
issue_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#PATCH /v1/issues/{issue_id}/status
Update Issue Status
Parameters
| Name | In | Type | Required |
|---|---|---|---|
issue_id | path | integer | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |||
|---|---|---|---|---|---|
status | open | acknowledged | resolved | regressed | yes |
resolved_note | string (max length 10000) or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/episodes/steps
Append Episode Steps
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/episodes/{session_id}
Get Episode
Parameters
| Name | In | Type | Required |
|---|---|---|---|
session_id | path | string | yes |
correlation_id | query | string (max length 120) or null | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/outcomes
Post Business Outcome
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required | |||||||
|---|---|---|---|---|---|---|---|---|---|
session_id | string (min length 1, max length 120) | yes | |||||||
correlation_id | string (min length 1, max length 120) or null | no | |||||||
type | ticket_reopened | refund_reversed | booking_canceled | human_transfer | action_retried | task_completed | task_failed | custom | yes |
value | number or null | no | |||||||
currency | string (min length 1, max length 16) or null | no | |||||||
detail | string (max length 20000) | yes | |||||||
external_ref | string (min length 1, max length 500) or null | no | |||||||
occurred_at | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
Example
curl "$INTENTLAYER_URL/v1/outcomes" \
-u ":$INTENTLAYER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session_id":"session-42","type":"task_completed","detail":"Task completed","external_ref":"job-42"}'#GET /v1/usage
Get Usage
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/admin/usage
Get All Usage
Parameters
| Name | In | Type | Required |
|---|---|---|---|
x-cron-key | header | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#DELETE /v1/tenant/data
Delete Tenant Data
Parameters
| Name | In | Type | Required |
|---|---|---|---|
x-confirm-tenant | header | string or null | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/sessions/{session_id}
Get Session
Parameters
| Name | In | Type | Required |
|---|---|---|---|
session_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#DELETE /v1/sessions/{session_id}
Delete Session
Parameters
| Name | In | Type | Required |
|---|---|---|---|
session_id | path | string | yes |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/maintenance/retention/run
Retention Run
Parameters
| Name | In | Type | Required |
|---|---|---|---|
x-cron-key | header | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /health
Health
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
#GET /v1/clusters/{cluster_id}
Get Cluster
Parameters
| Name | In | Type | Required |
|---|---|---|---|
cluster_id | path | string | yes |
page | query | integer (min 1) | no |
page_size | query | integer (min 1, max 100) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/sessions
List Sessions
Parameters
| Name | In | Type | Required |
|---|---|---|---|
limit | query | integer (min 1, max 100) | no |
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/rules/draft
Create Draft Rule
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
JSON body
| Field | Type | Required |
|---|---|---|
cluster_id | string (min length 1, max length 80) | yes |
question_template | string (min length 1, max length 500) | yes |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/onboarding/status
Onboarding Status
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/api-keys
Create Api Key
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#POST /v1/clusters/run
Run Clusters
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#GET /v1/questions/stats
Get Question Stats
Parameters
| Name | In | Type | Required |
|---|---|---|---|
authorization | header | string or null | no |
intentlayer_session | cookie | string or null | no |
Responses
| Status | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
#Authentication
Writable production routes require bearer keys beginning with il_. Read routes accept same bearer key or signed intentlayer_session cookie. POST /v1/outcomes also accepts OTLP-compatible Basic authentication containing an il_ key. 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.
429includesRetry-After.
#Error codes
| Status | Meaning |
|---|---|
401 | Missing, invalid, or expired API credential/session. |
403 | Write rejected in hosted demo mode. |
404 | Eval ID not found for tenant. |
422 | FastAPI request validation failed. |
429 | In-process rate limit exceeded. |
backend/app/main.pybackend/app/evals.pybackend/app/reviews.pybackend/app/schemas.py