Skip to content
Sign in with Google

Evaluate typed questions

POST
/v1/decisions

A decision model evaluates a shared JSON-compatible state against independent noul, choice, and score questions. The result contains one typed answer per question ID; thresholds and actions stay in your code. Requests do not stream or retain state. Request and answer shapes follow the TypeSafe System One API, so TypeSafe SDKs work with base URL https://ai.bkper.app.

Authorizations

Parameters

Header Parameters

bkper-ai-source
string
/^[a-z0-9][a-z0-9._-]{0,127}$/

Stable lowercase client or application identifier used for usage attribution. Invalid values are recorded as unknown.

Request Body required

object
model
required

Canonical decision model ID or accepted compatibility alias.

string
>= 1 characters
state
required
Any of:
string
questions
required

Nonempty map of independently evaluated named questions.

object
>= 1 properties
key
additional properties
One of: discriminator: type
object
type
required
string
Allowed values: noul
instructions
required
Any of:
string
criteria
object
true
Any of:
string
false
Any of:
string

Responses

200

Typed answers for every question

object
model
required

Concrete model revision that produced these answers, such as jev-1.13.0.

string
answers
required
object
key
additional properties
One of:
object
type
required
string
Allowed values: noul
noul
required
number
<= 1
usage
required
object
input_tokens
required
integer
output_tokens
required
integer

400

Invalid decision request

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

401

Missing or invalid Bkper bearer token

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

402

Subscription payment is overdue

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

403

Bkper AI entitlement is unavailable

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

429

Monthly allowance exhausted or provider throttled

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

499

Client aborted the request

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

502

Provider or transport failure

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string

503

Decision model provider is temporarily overloaded or quota usage is unavailable

object
error
required
object
message
required
string
type
required
string
param
required
string | null
code
required
string