Sample MAB router for provider selection
Called by the cloud runner at session start to ask the platform's multi-armed bandit router which provider to use. The platform reads Beta-distribution posteriors and runs Thompson sampling over the caller-supplied candidates list. Returns `null` provider with a `source` reason on all error / disabled / explicit-override paths (HTTP 200 always) so the runner can always fall back to its statically resolved provider. Kill-switch: `ROUTING_SELECTOR_ENABLED` env must be exactly `"true"`; default is DARK. Explicit dispatch overrides always return `{ selectedProvider: null, source: 'explicit' }`.
AuthorizationBearer <JWT>Short-lived worker runtime JWT minted by the platform. Claims bind the worker, project, organization, registration, and scopes.
id*stringapplication/json- body
workType*stringcandidates*array<string>Candidate provider slugs to sample over.
project?stringProvider selection result (null on disabled/fallback/explicit paths).
application/json- response
selectedProvider*string|nullsource*string"disabled""explicit""fallback""mab-routing"expectedReward?numberconfidence?numbercurl -X POST 'https://app.rensei.ai/api/sessions/string/routing-select' \ -H 'Content-Type: application/json' \ -d '{ "workType": "string", "candidates": [ "string" ]}'{ "selectedProvider": "string", "source": "disabled", "expectedReward": 0, "confidence": 0}Record a routing observation (MAB reward)
Called by the runner at session end to report the outcome of a provider dispatch. Updates the Beta-distribution posterior for the `(provider, workType)` arm in the multi-armed bandit router and appends an observation entry. Best-effort: store errors return `{ recorded: false }` with HTTP 200 so a Redis blip never fails the worker's terminal flow.
Post security scan event
Post security scan event - Rensei REST API operation reference.