Skip to content
Sign in with Google

Evaluate typed questions

POST
/v1/systemone

A System One model answers independent typed questions about a shared JSON-compatible state: noul, choice, score, text, number, date, time, datetime, duration, list, estimate, and forecast. Decision models judge the state; extraction models read, compute, estimate, or forecast values from it. question_types in GET /v1/models lists the types each model answers. 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 Bkper profile of Open System One (2026-11-07), a superset of the TypeSafe System One API, so TypeSafe SDKs work with base URL https://ai.bkper.app. A question type or spec parameter the selected model cannot honor returns 400 unsupported_question_type or unsupported_parameter.

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

SystemOneRequest

Content and named questions to evaluate together.

object
model
required

Name or alias of the model to use.

string
state
required
Any of:
string
questions
required

Questions about the state, each under a name you choose. The response uses the same names for the answers.

object
>= 1 properties
key
additional properties
One of:
One of: discriminator: type
NoulQuestion

A yes/no question or statement, answered with the probability of yes or true.

object
type
required
string
Allowed value: noul
instructions
required
Any of:
string
criteria
NoulCriteria

What counts as a yes or a no answer.

object
true
Any of:
string
false
Any of:
string
assets

Media assets keyed by an opaque placeholder, such as a per-image UUID. Each placeholder, wherever it appears as or inside a string in state, question instructions, or criteria, is replaced with the asset. The placeholder’s position is a hint: an implementer may present assets before the state instead. Image assets require a model that accepts images.

object
>= 1 properties
key
additional properties
SystemOneAsset

An image that replaces its placeholder: its base64-encoded bytes in data_base64, with their format.

object
type

Identifies an image asset.

string
Allowed value: image
format
required

The image format, required with data_base64.

string
Allowed values: png jpg jpeg webp
data_base64
required

Base64-encoded image data.

string
reference_date

The date that relative dates in the state are resolved against, as YYYY-MM-DD. A server that cannot honor it rejects the request with unsupported_parameter.

string format: date

Responses

200

Answers keyed by question name.

SystemOneResponse

Answers keyed by question name, with the model used and token usage.

object
model
required

Name of the model that answered. May differ from the alias in the request.

string
answers
required

Answers keyed by the question names in the request. Each answer’s type matches its question’s type.

object
>= 1 properties
key
additional properties
One of:
One of: discriminator: type
NoulAnswer

The probability of a yes answer or a true statement.

object
type
required
string
Allowed value: noul
noul
required
SystemOneProbability

Probability of a yes answer or a true statement, from 0 to 1.

number
<= 1
usage
required
SystemOneUsage

Token usage for the request.

object
input_tokens
required

Number of input tokens used to evaluate the request.

integer
output_tokens
required

Number of output tokens used to answer the questions.

integer
truncated

Whether the server shortened the state to fit the model’s context. Present whenever the server knows. A server may instead reject oversized input with an error of its own.

boolean
state_text

The text the model read, when it differs from the state as sent, for example when structured state is serialized to text, or only the portion the model read when truncated is true. Answer spans index into state_text when it is present.

string

400

Invalid System One request, or an unsupported question type or parameter

SystemOneErrorResponse

An error envelope.

object
error
required
SystemOneError

An error. Two codes are standardized: unsupported_question_type, when the server does not support a question’s type, and unsupported_parameter, when it cannot honor a request field or question setting. Both use type invalid_request_error and name the rejected field in param. Other codes are implementer-defined.

object
type
required

The error category, such as invalid_request_error.

string
code
required
Any of:
string
param
required
Any of:
string
message
required

A human-readable description of the error.

string

401

Missing or invalid Bkper bearer token

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

Stable Bkper error code. New codes may be added over time.

string

402

Subscription payment is overdue

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

Stable Bkper error code. New codes may be added over time.

string

403

Bkper AI entitlement is unavailable

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

Stable Bkper error code. New codes may be added over time.

string

429

Monthly allowance exhausted or provider throttled

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

Stable Bkper error code. New codes may be added over time.

string

499

Client aborted the request

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

Stable Bkper error code. New codes may be added over time.

string

502

Provider or transport failure

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

Stable Bkper error code. New codes may be added over time.

string

503

System One 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

Stable Bkper error code. New codes may be added over time.

string