Overview
A Reflex is a small, fast text classifier that puts a label on a turn in ~90ms. Pass a default Reflex name (jailbreak, guardrail, leaked-thinking, stuck-in-a-loop, incomplete-thought, user-frustrated, ambiguity, difficulty, domain) or a model you trained in the model field. The playground above is POST /v1/reflex/predict — pass models (an array) instead of model to run several classifiers over one shared prefill.
Full endpoint surface
Every endpoint below is in the OpenAPI spec. Trypredict in the playground above; the rest carry copy-paste examples in the guides linked under each table.
Classify
| Method | Endpoint | Does |
|---|---|---|
POST | /v1/reflex/predict | Classify text, single or multi-model. |
POST | /v1/reflex/synchronous_predict_batch | Up to 300 rows inline, one response. |
POST | /v1/reflex/asynchronous_batches/upload | Queue up to 10,000 rows offline at the discounted rate. |
GET | /v1/reflex/asynchronous_batches/{batch_id} | Poll an async batch. |
GET | /v1/reflex/asynchronous_batches/{batch_id}/results | Fetch async batch results. |
Train
| Method | Endpoint | Does |
|---|---|---|
POST | /v1/fine_tuning/jobs | Train a custom Reflex from labeled data, a description, or unlabeled text. |
GET | /v1/fine_tuning/jobs | List your jobs. |
GET | /v1/fine_tuning/jobs/{job_id} | Retrieve a job and poll its status. |
POST | /v1/fine_tuning/jobs/{job_id}/cancel | Cancel a queued or running job. |
GET | /v1/fine_tuning/jobs/{job_id}/events | Training events and the loss curve (SSE with ?stream=true). |
DELETE | /v1/fine_tuning/jobs/{job_id} | Delete a job and its model. |
DELETE | /v1/models/{model} | Delete a trained model by name. |
Reflexes overview
What a Reflex is, the default classifiers, and realtime
/predict.Train a Custom Reflex
Bring labeled examples or synthesize a dataset; get a classifier in ~30s.