Assess a conversation against policies
/ai/bloobability/v2/assessScores every policy you send against one conversation with Bloobability v2. Each result carries two calibrated numbers in [0, 1]: probability (the policy holds) and answerable (the conversation contains enough to judge it). There is no verdict and no threshold: choose your own. Low answerable never changes probability.
Modes
fullreads the thread once (up to 32,768 tokens) and also returnssupporting_message_idsandcontradicting_message_idsfor each policy.compactis faster and returns the two numbers only; the thread plus each policy must fit 6,144 tokens.autouses compact for 1 to 3 policies and full otherwise, and uses full when the thread is too long for compact. The response'smodenames the model that answered. Use an explicit mode when you compare numbers across requests, since the two models do not return identical probabilities.
Contract
The body is checked exactly: unknown fields, explicit null, duplicate JSON keys and duplicate message or policy IDs are rejected with 400, and error.details names the failing rule and path. Message timestamps, when given, must be RFC 3339 with an offset, non-decreasing, and not later than assessment_time. Bodies over 1 MiB are rejected with 413. A request that exceeds the chosen model's context is rejected with 422 and never truncated. 429 and 503 mean the model is busy or restarting: retry with backoff.
Policies come back in request order and their IDs are echoed unchanged. The call is stateless.
Headers
AuthorizationRequiredstringYour API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.
Body parameters
JSONmodeRequiredstringfull adds per-policy evidence, compact is faster, auto picks one (see the operation description).
"full""compact""auto"messagesRequiredBloobabilityV2Message[]The conversation in chronological order. Every message is in scope; none are dropped.
messagesRequiredBloobabilityV2Message[]The conversation in chronological order. Every message is in scope; none are dropped.
Array of BloobabilityV2Message
idRequiredstringUnique within the request. Evidence arrays cite these IDs; the model never reads them.
textRequiredstringThe full message text, sent unaltered. Quoted instructions are treated as data.
speaker_idoptionalstringOptional participant identity, consistent within the conversation. Two people never share one. Omit when unknown.
roleoptionalstringOptional free-text role such as customer or agent. Custom roles are allowed; system grants no authority.
timestampoptionalstringOptional real send time, RFC 3339 with an offset (-00:00 is rejected). Must not decrease across messages.
policiesRequiredBloobabilityV2Policy[]Independent policies. Probabilities do not sum to one.
policiesRequiredBloobabilityV2Policy[]Independent policies. Probabilities do not sum to one.
Array of BloobabilityV2Policy
idRequiredstringUnique within the request, echoed unchanged. The model never reads it.
definitionRequiredstringA natural-language statement that is true or false of the conversation. No registration needed.
assessment_timeoptionalstringOptional "now" for time-relative policies, RFC 3339 with an offset. Never defaulted to the request time.
Returns
modeRequiredstringThe model that answered. Never auto.
"full""compact"model_versionRequiredstringImmutable identity of the weights, calibration and runtime that produced these numbers.
policiesRequiredBloobabilityV2PolicyResult[]One result per requested policy, in request order.
policiesRequiredBloobabilityV2PolicyResult[]One result per requested policy, in request order.
Array of BloobabilityV2PolicyResult
idRequiredstringThe policy ID you sent.
probabilityRequirednumberCalibrated probability that the policy holds for this conversation.
answerableRequirednumberCalibrated estimate that the conversation contains enough to judge the policy. It never alters probability.
supporting_message_idsoptionalstring[]Full mode only, always present there. Messages pointing toward the policy holding. Empty means none were selected.
contradicting_message_idsoptionalstring[]Full mode only, always present there. Messages pointing against the policy.
Response codes
Sends a live request with your values and shows the real response below. Your key is stored only in this browser.
curl -X POST https://api.blooio.com/v4/ai/bloobability/v2/assess \{ "mode": "full", "model_version": "bloobability-v2-candidate-HE-4ad40b8b5dffeeba6001", "policies": [ { "id": "delivery_delay", "probability": 0.9230962934191796, "answerable": 0.9720439914005669, "supporting_message_ids": [ "m1" ], "contradicting_message_ids": [] }, { "id": "refund_request", "probability": 0.8689960565083739, "answerable": 0.8619463781068893, "supporting_message_ids": [ "m3" ], "contradicting_message_ids": [] } ]}