Skip to main content
POST
Decide on an assistant interaction

Authorizations

Authorization
string
header
required

A Recursion API key, created in the console under API keys.

Headers

x-tenant-id
string

Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is default.

Minimum string length: 1
x-organization-id
string

Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or default.

Minimum string length: 1

Path Parameters

sessionId
string<uuid>
required

The assistant session (UUID) that made the interaction.

interactionId
string
required

The interaction id, from the interaction's event.

Maximum string length: 128

Body

application/json

Request body of managedAgentsSubmitAssistantInteractionDecision: one decision on the exact revision of an assistant interaction the caller was shown.

decision
enum<string>
required

The decision: answer a question interaction, accept a blueprint, approve a plan, ask for a revision of a blueprint or plan, or dismiss any pending interaction.

Available options:
answer,
accept,
approve,
request_revision,
cancel
digest
string
required

The digest of that revision, as shown. A mismatch is a 409.

Maximum string length: 128
revision
integer
required

The interaction revision being decided, as shown. A stale revision is a 409.

Required range: 1 <= x <= 9007199254740991
answers
object[]

Answers, with decision answer. Every non-optional question needs one.

Maximum array length: 4
comments
object[]

Comments pinned to steps or fields, with decision request_revision.

Maximum array length: 30
disabledSteps
string[]

With decision approve: optional steps to turn off.

Maximum array length: 12
edits
object

With decision approve: replacement values for editable step fields, keyed by stepId and then field name. Any edit records a new revision written by the person.

note
string

A note for the assistant. Required for request_revision unless comments are given.

Maximum string length: 4000

Response

A typed request for the reader's input that an assistant put in front of them: questions, a solution blueprint, or a plan of changes. Each state is recorded as one event; the latest event per interactionId is the current state.

A typed request for the reader's input that an assistant put in front of them: questions, a solution blueprint, or a plan of changes. Each state is recorded as one event; the latest event per interactionId is the current state.

digest
string
required

Digest of this revision's content. A decision names it so a person decides exactly what they were shown.

interactionId
string
required

Stable id of the interaction. Revisions of a blueprint or plan keep it.

kind
enum<string>
required

What is being asked: questions, a solution blueprint, or a plan of changes.

Available options:
question,
blueprint,
plan
origin
enum<string>
required

Who wrote this revision: the assistant, or the person through an inline edit.

Available options:
assistant,
user
requestedAt
string<date-time>
required

When this revision was put in front of the reader.

revision
integer
required

Revision number, starting at 1. Only the latest revision of a pending interaction can be decided.

Required range: 1 <= x <= 9007199254740991
status
enum<string>
required

Lifecycle state of the interaction.

Available options:
pending,
answered,
accepted,
revision_requested,
cancelled,
superseded,
executing,
completed,
failed
title
string
required

Short heading for the interaction.

blueprint
object

The solution design, on a blueprint interaction.

decision
object

The person's decision, once one was made.

plan
object

The changes, on a plan interaction.

questions
object[]

The questions, on a question interaction.

stepResults
object[]

What each approved step did, once a plan executes.

summary
string

One or two sentences on why this is being asked.