Real-time predictions
Your application sends inputs to a deployed capability's endpoint and gets a result back immediately. The request is validated against the input contract; the response is shaped by the output contract; every call is logged to prediction history.
The call
curl -X POST https://your-host/api/v1/predict/CAPABILITY_KEY \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"age":30,"income":50000}}'
# -> { "data": { "outputs": { "prediction": "yes" } } }
CAPABILITY_KEYidentifies the capability — copy it from the deployment's detail page.YOUR_TOKENis either a signed-in user's token or, for applications, an API token created under your profile menu.inputsmust match the capability's contract. That's a feature: a missing or mistyped field is rejected with a specific reason (422, field by field) instead of producing a silently wrong prediction.
For Python, TypeScript, and Go helpers, see SDKs & API clients; for the complete surface, the API reference.
What the contract does for you
- Validation before the model. Bad input never reaches inference.
- Normalized dates. Temporal fields are canonicalized, so
2026-07-17, with or without a time component, means one thing everywhere. - Derived features, recomputed live. If the feature set defines
days_since(last_service_date), it is computed from now at prediction time — exactly what the question means in production. - One envelope for every kind of AI. A generative capability answers through the same endpoint shape as a classic model; your consumer code can't tell the difference and never needs to.
Try it without writing code
Every deployment's detail page has a playground: fill the inputs in a form, send, and see the shaped output and round-trip latency. It is the fastest way to sanity-check a contract before wiring up an application.
When things go wrong
| Response | Meaning |
|---|---|
422 with field details | The inputs don't match the contract — fix the request. |
401 | Missing or expired token. |
429 | A budget or rate limit stopped the call (generative capabilities). |
503 | The model is unavailable — check the deployment's status. |
Every response carries a request_id; quote it when investigating, and find
the call in the deployment's prediction history.
Next
- Score thousands of rows at once: Batch predictions.
- Watch the endpoint in production: Monitoring.