Skip to main content
POST
Make a decision

Authorizations

Authorization
string
header
required

An API key created in Settings → API keys (bp_live_… or bp_test_…).

Path Parameters

slug
string
required

Slug of the decision, as shown in the app.

Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
Example:

"lead-routing"

Body

application/json
input
required

The payload to decide on. A JSON object matching the declared fields, or free text.

options
object

Response

The decision.

run_id
string<uuid>
required
decision
string
required
version
integer
required
status
enum<string>
required

uncertain: confidence below the decision threshold. pending: sent to the human review queue.

Available options:
ok,
uncertain,
pending
probabilities
object
required
confidence
number
required
Required range: 0 <= x <= 1
engine
enum<string>
required
Available options:
jev,
llm_fallback
model
string
required
latency_ms
integer
required
pii_redacted
integer
required

Number of personal-data substitutions performed before the model call.

choice
string

Route decisions. __uncertain__ when status is uncertain.

score
number

Score decisions, remapped to 0–100.

Required range: 0 <= x <= 100
raw_score
number

Score decisions, weighted position on the 0..N-1 level scale.

legend
object

Score decisions, level index → label.

labels
string[]

Classify decisions, labels whose probability reached their threshold.

confidence_source
enum<string>
Available options:
calibrated,
self_reported
fallback_reason
string

Present when the LLM fallback answered; why the primary engine did not.

review_url
string<uri>

Present when status is pending.