Pradra StudioDocs

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_KEY identifies the capability — copy it from the deployment's detail page.
  • YOUR_TOKEN is either a signed-in user's token or, for applications, an API token created under your profile menu.
  • inputs must 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

ResponseMeaning
422 with field detailsThe inputs don't match the contract — fix the request.
401Missing or expired token.
429A budget or rate limit stopped the call (generative capabilities).
503The 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