Integration responsibilitiesOne API boundary.
Four jobs for your client.
Place the adapter between candidate generation and application handling. The details below describe the pinned beta1 offline contract; an approved hosted integration must use its assigned runtime version and configuration.
- 01 · Build the request
Map into the fixed profile.
Send profile_id, objective, bounded context, and 1–8 candidates. Each candidate includes a unique ID, semantic class, description, and operator-reported support.
Review classes: analyze, compare, draft, validate. The external class is shadow-only.
- 02 · Submit deliberately
Bind identity and retries.
The contract defines POST /v1/evaluations with a bearer credential, an API version, and an Idempotency-Key. Credentials and tenant access come from approved hosted onboarding.
Reuse a scoped key only for the same request. A changed request digest with that key returns 409; changed input needs a new evaluation.
- 03 · Validate the response
Handle both governed outcomes.
Validate the response schema and version. Read outcome, selected_candidate_id, reason_codes, trace, and authority.
selected identifies a submitted eligible candidate. governed_noop_refusal returns a null selection. Errors and invalid responses must stop this path; apply the documented retry rules.
- 04 · Own the next step
Separate evaluation from effects.
Persist the decision receipt and connect it to your workflow record. Your application retains execution permission, tool credentials, outcome recording, and the decision to re-evaluate.
The response reports external_effect=false and learning_applied=false. Temporal memory across the wider system is an explicit integration responsibility.
Prepare locally: the kit contains schemas, synthetic request/response specimens, and selected/refusal fixtures. It does not provision credentials or a public live endpoint.
Read the exact beta1 contract ↗