Skip to content

Get a scenario version by its natural key

GET
/v1/scenario-version/by-scenario
curl --request GET \
--url 'https://example.com/v1/scenario-version/by-scenario?scenario_sid=example&version=1' \
--header 'Authorization: Bearer <token>'

Address a single version record by its parent scenario plus axis number (the natural key consumers store), instead of the internal record sid.

scenario_sid
required
string

Parent scenario whose version record is addressed.

version
required
integer

Axis number to address: the published version when draft=false, the draft_version when draft=true (draft_version 0 = current WIP draft).

draft
boolean

Selects the axis: false (default) → published record (version = number); true → draft record (draft_version = number).

X-Account-Sid
string

Target account for account-scoped resources. Principals without an account scope (superuser, tenant API key) MUST send it to declare which account to operate in. Account-scoped principals may omit it; if sent it must match their own account or the request is rejected with scope_conflict. For tenant API keys the account must belong to the key’s tenant.

OK

Media typeapplication/json

Exactly one of version / draft_version is set: a record is either a published version or a draft record. draft_version 0 is the mutable work-in-progress draft; greater values are frozen draft records.

object
id
required
string
scenario_sid
required
string
version
integer
nullable
draft_version
integer
nullable
content_hash
required
string
snapshot
required
object
name
required
string
constructor
object
bricks
object
audio
object
v1
Array<object>
object
id
required
string
description
string
properties
object
play_mode
string
audios
Array<object>
object
mode
string
tts_properties
object
text
string
file_properties
object
url
string
tts_general
object
language
string
voice
string
engine
string
speed
number format: float
model
string
outputs
Array<object>
object
type
string
description
string
audio_file
object
v1
Array<object>
object
id
required
string
description
string
properties
object
url
string
outputs
Array<object>
object
type
string
description
string
audio_tts
object
v1
Array<object>
object
id
required
string
description
string
properties
object
text
string
language
string
voice
string
engine
string
model
string
outputs
Array<object>
object
type
string
description
string
sms
object
v1
Array<object>
object
id
required
string
description
string
properties

Message content only. Provider, credentials, and sender identity resolve from the agent’s SMS settings at send time.

object
to

Recipient override; empty means the communication recipient.

string
text
string
outputs
Array<object>
object
type
string
description
string
goal
object
v1
Array<object>
object
id
required
string
description
string
properties
object
goal
string
outputs
Array<object>
object
type
string
description
string
end_call
object
v1
Array<object>
object
id
required
string
description
string
properties
object
signal
string
outputs
Array<object>
object
type
string
description
string
assignment
object
v1
Array<object>
object
id
required
string
description
string
properties
object
variables
Array<object>
object
name
string
value
string
outputs
Array<object>
object
type
string
description
string
increment
object
v1
Array<object>
object
id
required
string
description
string
properties
object
variables
Array<object>
object
variable
string
outputs
Array<object>
object
type
string
description
string
condition_group
object
v1
Array<object>
object
id
required
string
description
string
properties
object
condition
object
conditions
Array<object>
object
condition_id
string
description
string
condition_operator
string
elements
Array<object>
object
variable
string
element_operator
string
value
string
outputs
Array<object>
object
type
string
description
string
start_tree
object
v1
Array<object>
object
id
required
string
description
string
properties
object
outputs
Array<object>
object
type
string
description
string
start_call
object
v1
Array<object>
object
id
required
string
description
string
properties
object
stt_general
object
language
string
engine
string
model
string
primary_language
string
fallback_languages
Array<string>
tts_general
object
language
string
voice
string
engine
string
speed
number format: float
model
string
outputs
Array<object>
object
type
string
description
string
outbound_call
object
v1
Array<object>
object
id
required
string
description
string
properties
object
is_voicemail
boolean
outputs
Array<object>
object
type
string
description
string
inbound_call
object
v1
Array<object>
object
id
required
string
description
string
properties
object
outputs
Array<object>
object
type
string
description
string
end
object
v1
Array<object>
object
id
required
string
description
string
properties
object
outputs
Array<object>
object
type
string
description
string
call_transfer
object
v1
Array<object>
object
id
required
string
description
string
properties
object
from
string
number
string
message_to_manager
object
mode
string
tts
object
text
string
file
object
url
string
message_to_client
object
mode
string
tts
object
text
string
file
object
url
string
timeout
integer
tts_properties
object
language
string
voice
string
engine
string
model
string
sip_header
object
sip_headers
Array<object>
object
name
string
value
string
transfer_mode
string
outputs
Array<object>
object
type
string
description
string
question
object
v1
Array<object>
object
id
required
string
description
string
properties
object
tts_properties
object
language
string
voice
string
engine
string
speed
number format: float
model
string
dtmf_properties
object
dtmf_timeout
number format: float
no_input_timeout
number format: float
min_symbols
integer
max_symbols
integer
finish_on_key
string
stt_properties
object
speech_timeout
number format: float
no_input_timeout
number format: float
language
string
recognition_shift
object
direction
string
duration
number format: float
engine
string
grammar_parameter
object
parameters
Array<object>
object
key
string
value
string
class_token
object
tokens
Array<string>
filter
object
filters
Array<string>
tokens
Array<string>
intent_properties
object
classifier

The classifier a question brick classifies against.

object
id
string
version

Classifier version this brick classifies against. Always written explicitly; 0 means the classifier as the unversioned surface serves it.

integer
llm_properties
object
engine
string
model
string
messages
Array<object>
object
role
string
content
string
temperature
number format: float
provider
string
gdpr_required
boolean
threshold
number format: float
timezone
string
recognition_mode
string
enable_voice_activity_detection
boolean
interruptible_dialog
boolean
interruption_shift
object
direction
string
duration
number format: float
model
string
primary_language
string
fallback_languages
Array<string>
statement
object
audio
object
mode
string
tts
object
text
string
file
object
url
string
is_interruptible
boolean
type
string
input_mode
string
answer
object
answers
Array<object>
object
answer_id
string
description
string
speech_input
object
tokens
Array<string>
mode
string
intent
object
id
string
entity
object
entities
Array<object>
object
type
string
variable
object
name
string
dtmf_input
object
value
string
tag
string
fallback_invalid
object
fallbacks
Array<object>
object
is_repeat_statement
boolean
audio
object
mode
string
tts
object
text
string
file
object
url
string
is_interruptible
boolean
type
string
llm_properties
object
engine
string
model
string
messages
Array<object>
object
role
string
content
string
temperature
number format: float
provider
string
gdpr_required
boolean
entity
object
entities
Array<object>
object
type
string
variable
object
name
string
fallback_empty
object
fallbacks
Array<object>
object
is_repeat_statement
boolean
audio
object
mode
string
tts
object
text
string
file
object
url
string
is_interruptible
boolean
type
string
llm_properties
object
engine
string
model
string
messages
Array<object>
object
role
string
content
string
temperature
number format: float
provider
string
gdpr_required
boolean
entity
object
entities
Array<object>
object
type
string
variable
object
name
string
outputs
Array<object>
object
type
string
description
string
webhook
object
v1
Array<object>
object
id
required
string
description
string
properties
object
request
object
method
string
url
string
body
object
data
string
type
string
form_values
Array<object>
object
name
string
value
string
authentication
object
type
string
basic
object
username
string
password
string
bearer
object
token
string
header
object
headers
Array<object>
object
name
string
value
string
insecure_skip_verify
boolean
proxy
object
url
string
attach_call_metadata
boolean
timeout
number format: float
options
object
async
boolean
timeout
number format: float
response_mapping
object
variables
Array<object>
object
name

Target variable, written as a placeholder. Returned unwrapped in variables.

string
/^\{\{[A-Za-z0-9\-_.]+\}\}$/
source

Where the value is read from — body (JSONPath in path) or header (header name in path).

string
path
string
set_if_not_found
string
outputs
Array<object>
object
type
string
description
string
data_mapping
object
v1
Array<object>
object
id
required
string
description
string
properties
object
input
string
variables
Array<object>
object
name
string
path
string
set_if_not_found
string
outputs
Array<object>
object
type
string
description
string
tree
object
v1
Array<object>
object
id
required
string
description
string
properties
object
tree
object
id
string
outputs
Array<object>
object
type
string
description
string
end_tree
object
v1
Array<object>
object
id
required
string
description
string
properties
object
output
object
type
string
description
string
outputs
Array<object>
object
type
string
description
string
background_audio
object
v1
Array<object>
object
id
required
string
description
string
properties
object
audio
object
audios
Array<object>
object
mode
string
file_properties
object
url
string
volume
integer
outputs
Array<object>
object
type
string
description
string
javascript
object
v1
Array<object>
object
id
required
string
description
string
properties
object
source
string
outputs
Array<object>
object
type
string
description
string
v2
Array<object>
object
id
string
description
string
properties
object
url
string
input_variables
Array<string>
outputs
Array<object>
object
type
string
description
string
warm_up_tts
object
v1
Array<object>
object
id
required
string
description
string
properties
object
brick
object
bricks
Array<object>
object
id
string
type
string
outputs
Array<object>
object
type
string
description
string
business_metric
object
v1
Array<object>
object
id
required
string
description
string
properties
object
key
string
value
string
outputs
Array<object>
object
type
string
description
string
ai_agent
object
v1
Array<object>
object
id
required
string
description
required
string
properties
object
prompts
object
restrictions
object
content
string
role
object
content
string
initial_phrase
object
content
string
is_interruptible
boolean
skill
object
skills
Array<object>
object
id
required
string
name
string
function_name
string
description
required
string
parameters
object
type
string
properties
object
key
additional properties
object
type
string
description
string
variable_name
string
enum
Array<string>
default
string
required
Array<string>
additional_properties
boolean
knowledge_base
object
type
string
prompt
object
content
string
rag
object
document
object
ids
Array<string>
number
integer
threshold
number format: float
fallbacks
object
error
object
counter
integer
empty
object
counter
integer
configuration
object
llm
object
engine
string
model
string
temperature
number format: float
max_tokens
integer
provider
string
gdpr_required
boolean
tts
object
language
string
voice
string
engine
string
speed
number format: float
model
string
stt
object
speech_timeout
number format: float
no_input_timeout
number format: float
language
string
recognition_shift
object
direction
string
duration
number format: float
engine
string
grammar_parameter
object
parameters
Array<object>
object
key
string
value
string
class_token
object
tokens
Array<string>
filter
object
filters
Array<string>
tokens
Array<string>
intent_properties
object
classifier

The classifier a question brick classifies against.

object
id
string
version

Classifier version this brick classifies against. Always written explicitly; 0 means the classifier as the unversioned surface serves it.

integer
llm_properties
object
engine
string
model
string
messages
Array<object>
object
role
string
content
string
temperature
number format: float
provider
string
gdpr_required
boolean
threshold
number format: float
timezone
string
recognition_mode
string
enable_voice_activity_detection
boolean
interruptible_dialog
boolean
interruption_shift
object
direction
string
duration
number format: float
model
string
primary_language
string
fallback_languages
Array<string>
dialog
object
context_mode
string
max_turns
integer
outputs
Array<object>
object
type
string
description
string
send_dtmf
object
v1
Array<object>
object
id
required
string
description
required
string
properties
object
digits
string
interval
integer
duration
integer
outputs
Array<object>
object
type
string
description
string
recording_setup
object
v1
Array<object>
object
id
required
string
description
required
string
properties
object
outputs
Array<object>
object
type
string
description
string
transcription
object
v1
Array<object>
object
id
required
string
description
required
string
properties
object
request
object
requests
Array<object>
object
source
object
type
string
url
string
engine
string
prompt
string
model
string
outputs
Array<object>
object
type
string
description
string
forest
object
trees
Array<object>
object
description
string
tree_id
string
nodes
Array<object>
object
id
string
brick
object
id
string
type
string
version
string
links
Array<object>
object
output_type
string
reference
object
tree_id
string
node_id
string
return
object
tree_id
string
node_id
string
properties
object
engine_version
string
created_at
required
string format: date-time
Examplegenerated
{
"id": "example",
"scenario_sid": "example",
"version": 1,
"draft_version": 1,
"content_hash": "example",
"snapshot": {
"name": "example",
"constructor": {
"bricks": {
"audio": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"play_mode": "example",
"audios": [
{
"mode": "example",
"tts_properties": {
"text": "example"
},
"file_properties": {
"url": "example"
}
}
],
"tts_general": {
"language": "example",
"voice": "example",
"engine": "example",
"speed": 1,
"model": "example"
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"audio_file": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"url": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"audio_tts": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"text": "example",
"language": "example",
"voice": "example",
"engine": "example",
"model": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"sms": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"to": "example",
"text": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"goal": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"goal": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"end_call": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"signal": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"assignment": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"variables": [
{
"name": "example",
"value": "example"
}
]
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"increment": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"variables": [
{
"variable": "example"
}
]
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"condition_group": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"condition": {
"conditions": [
{
"condition_id": "example",
"description": "example",
"condition_operator": "example",
"elements": [
{
"variable": "example",
"element_operator": "example",
"value": "example"
}
]
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"start_tree": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"start_call": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"stt_general": {
"language": "example",
"engine": "example",
"model": "example",
"primary_language": "example",
"fallback_languages": [
"example"
]
},
"tts_general": {
"language": "example",
"voice": "example",
"engine": "example",
"speed": 1,
"model": "example"
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"outbound_call": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"is_voicemail": true
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"inbound_call": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"end": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"call_transfer": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"from": "example",
"number": "example",
"message_to_manager": {
"mode": "example",
"tts": {
"text": "example"
},
"file": {
"url": "example"
}
},
"message_to_client": {
"mode": "example",
"tts": {
"text": "example"
},
"file": {
"url": "example"
}
},
"timeout": 1,
"tts_properties": {
"language": "example",
"voice": "example",
"engine": "example",
"model": "example"
},
"sip_header": {
"sip_headers": [
{
"name": "example",
"value": "example"
}
]
},
"transfer_mode": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"question": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"tts_properties": {
"language": "example",
"voice": "example",
"engine": "example",
"speed": 1,
"model": "example"
},
"dtmf_properties": {
"dtmf_timeout": 1,
"no_input_timeout": 1,
"min_symbols": 1,
"max_symbols": 1,
"finish_on_key": "example"
},
"stt_properties": {
"speech_timeout": 1,
"no_input_timeout": 1,
"language": "example",
"recognition_shift": {
"direction": "example",
"duration": 1
},
"engine": "example",
"grammar_parameter": {
"parameters": [
{
"key": "example",
"value": "example"
}
]
},
"class_token": {
"tokens": [
"example"
]
},
"filter": {
"filters": [
"example"
]
},
"tokens": [
"example"
],
"intent_properties": {
"classifier": {
"id": "example",
"version": 1
},
"llm_properties": {
"engine": "example",
"model": "example",
"messages": [
{
"role": "example",
"content": "example"
}
],
"temperature": 1,
"provider": "example",
"gdpr_required": true
},
"threshold": 1
},
"timezone": "example",
"recognition_mode": "example",
"enable_voice_activity_detection": true,
"interruptible_dialog": true,
"interruption_shift": {
"direction": "example",
"duration": 1
},
"model": "example",
"primary_language": "example",
"fallback_languages": [
"example"
]
},
"statement": {
"audio": {
"mode": "example",
"tts": {
"text": "example"
},
"file": {
"url": "example"
}
},
"is_interruptible": true
},
"type": "example",
"input_mode": "example",
"answer": {
"answers": [
{
"answer_id": "example",
"description": "example",
"speech_input": {
"tokens": [
"example"
],
"mode": "example",
"intent": {
"id": "example"
},
"entity": {
"entities": [
{
"type": "example",
"variable": {
"name": "example"
}
}
]
}
},
"dtmf_input": {
"value": "example"
},
"tag": "example"
}
]
},
"fallback_invalid": {
"fallbacks": [
{
"is_repeat_statement": true,
"audio": {
"mode": "example",
"tts": {
"text": "example"
},
"file": {
"url": "example"
}
},
"is_interruptible": true,
"type": "example",
"llm_properties": {
"engine": "example",
"model": "example",
"messages": [
{
"role": "example",
"content": "example"
}
],
"temperature": 1,
"provider": "example",
"gdpr_required": true
}
}
],
"entity": {
"entities": [
{
"type": "example",
"variable": {
"name": "example"
}
}
]
}
},
"fallback_empty": {
"fallbacks": [
{
"is_repeat_statement": true,
"audio": {
"mode": "example",
"tts": {
"text": "example"
},
"file": {
"url": "example"
}
},
"is_interruptible": true,
"type": "example",
"llm_properties": {
"engine": "example",
"model": "example",
"messages": [
{
"role": "example",
"content": "example"
}
],
"temperature": 1,
"provider": "example",
"gdpr_required": true
}
}
]
},
"entity": {
"entities": [
{
"type": "example",
"variable": {
"name": "example"
}
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"webhook": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"request": {
"method": "example",
"url": "example",
"body": {
"data": "example",
"type": "example",
"form_values": [
{
"name": "example",
"value": "example"
}
]
},
"authentication": {
"type": "example",
"basic": {
"username": "example",
"password": "example"
},
"bearer": {
"token": "example"
}
},
"header": {
"headers": [
{
"name": "example",
"value": "example"
}
]
},
"insecure_skip_verify": true,
"proxy": {
"url": "example"
},
"attach_call_metadata": true,
"timeout": 1
},
"options": {
"async": true,
"timeout": 1
},
"response_mapping": {
"variables": [
{
"name": "example",
"source": "example",
"path": "example",
"set_if_not_found": "example"
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"data_mapping": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"input": "example",
"variables": [
{
"name": "example",
"path": "example",
"set_if_not_found": "example"
}
]
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"tree": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"tree": {
"id": "example"
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"end_tree": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"output": {
"type": "example",
"description": "example"
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"background_audio": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"audio": {
"audios": [
{
"mode": "example",
"file_properties": {
"url": "example"
},
"volume": 1
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"javascript": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"source": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
],
"v2": [
{
"id": "example",
"description": "example",
"properties": {
"url": "example",
"input_variables": [
"example"
]
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"warm_up_tts": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"brick": {
"bricks": [
{
"id": "example",
"type": "example"
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"business_metric": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"key": "example",
"value": "example"
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"ai_agent": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"prompts": {
"restrictions": {
"content": "example"
},
"role": {
"content": "example"
},
"initial_phrase": {
"content": "example",
"is_interruptible": true
}
},
"skill": {
"skills": [
{
"id": "example",
"name": "example",
"function_name": "example",
"description": "example",
"parameters": {
"type": "example",
"properties": {
"additionalProperty": {
"type": "example",
"description": "example",
"variable_name": "example",
"enum": [
"example"
],
"default": "example"
}
},
"required": [
"example"
],
"additional_properties": true
}
}
]
},
"knowledge_base": {
"type": "example",
"prompt": {
"content": "example"
},
"rag": {
"document": {
"ids": [
"example"
],
"number": 1,
"threshold": 1
}
}
},
"fallbacks": {
"error": {
"counter": 1
},
"empty": {
"counter": 1
}
},
"configuration": {
"llm": {
"engine": "example",
"model": "example",
"temperature": 1,
"max_tokens": 1,
"provider": "example",
"gdpr_required": true
},
"tts": {
"language": "example",
"voice": "example",
"engine": "example",
"speed": 1,
"model": "example"
},
"stt": {
"speech_timeout": 1,
"no_input_timeout": 1,
"language": "example",
"recognition_shift": {
"direction": "example",
"duration": 1
},
"engine": "example",
"grammar_parameter": {
"parameters": [
{
"key": "example",
"value": "example"
}
]
},
"class_token": {
"tokens": [
"example"
]
},
"filter": {
"filters": [
"example"
]
},
"tokens": [
"example"
],
"intent_properties": {
"classifier": {
"id": "example",
"version": 1
},
"llm_properties": {
"engine": "example",
"model": "example",
"messages": [
{
"role": "example",
"content": "example"
}
],
"temperature": 1,
"provider": "example",
"gdpr_required": true
},
"threshold": 1
},
"timezone": "example",
"recognition_mode": "example",
"enable_voice_activity_detection": true,
"interruptible_dialog": true,
"interruption_shift": {
"direction": "example",
"duration": 1
},
"model": "example",
"primary_language": "example",
"fallback_languages": [
"example"
]
},
"dialog": {
"context_mode": "example",
"max_turns": 1
}
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"send_dtmf": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"digits": "example",
"interval": 1,
"duration": 1
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"recording_setup": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
},
"transcription": {
"v1": [
{
"id": "example",
"description": "example",
"properties": {
"request": {
"requests": [
{
"source": {
"type": "example",
"url": "example"
},
"engine": "example",
"prompt": "example",
"model": "example"
}
]
}
},
"outputs": [
{
"type": "example",
"description": "example"
}
]
}
]
}
},
"forest": {
"trees": [
{
"description": "example",
"tree_id": "example",
"nodes": [
{
"id": "example",
"brick": {
"id": "example",
"type": "example",
"version": "example"
},
"links": [
{
"output_type": "example",
"reference": {
"tree_id": "example",
"node_id": "example"
},
"return": {
"tree_id": "example",
"node_id": "example"
}
}
]
}
]
}
]
},
"properties": {
"engine_version": "example"
}
}
},
"created_at": "2026-04-15T12:00:00Z"
}

Invalid request body or parameters

Media typeapplication/json
object
error
required

Stable lower_snake_case usecase code (e.g. scenario_not_found)

string
code
required

Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered

string
message
required
string
data

Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)

object
topic
string
errors

Validation errors keyed by entity

object
scenario
Array<object>
object
code

SCN1xx constructor validation code

string
message
string
summary
string
tree_id
string
node_id
string
output_type
string
duplicate_tree_index
string
duplicate_node_index
string
property
string
invalid_value
string
agents

Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count

Array<string>
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"data": {
"topic": "example",
"errors": {
"scenario": [
{
"code": "example",
"message": "example",
"summary": "example",
"tree_id": "example",
"node_id": "example",
"output_type": "example",
"duplicate_tree_index": "example",
"duplicate_node_index": "example",
"property": "example",
"invalid_value": "example"
}
]
},
"agents": [
"example"
]
}
}

Missing or invalid credentials

Media typeapplication/json
object
error
required

Stable lower_snake_case usecase code (e.g. scenario_not_found)

string
code
required

Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered

string
message
required
string
data

Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)

object
topic
string
errors

Validation errors keyed by entity

object
scenario
Array<object>
object
code

SCN1xx constructor validation code

string
message
string
summary
string
tree_id
string
node_id
string
output_type
string
duplicate_tree_index
string
duplicate_node_index
string
property
string
invalid_value
string
agents

Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count

Array<string>
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"data": {
"topic": "example",
"errors": {
"scenario": [
{
"code": "example",
"message": "example",
"summary": "example",
"tree_id": "example",
"node_id": "example",
"output_type": "example",
"duplicate_tree_index": "example",
"duplicate_node_index": "example",
"property": "example",
"invalid_value": "example"
}
]
},
"agents": [
"example"
]
}
}

Resource does not exist

Media typeapplication/json
object
error
required

Stable lower_snake_case usecase code (e.g. scenario_not_found)

string
code
required

Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered

string
message
required
string
data

Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)

object
topic
string
errors

Validation errors keyed by entity

object
scenario
Array<object>
object
code

SCN1xx constructor validation code

string
message
string
summary
string
tree_id
string
node_id
string
output_type
string
duplicate_tree_index
string
duplicate_node_index
string
property
string
invalid_value
string
agents

Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count

Array<string>
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"data": {
"topic": "example",
"errors": {
"scenario": [
{
"code": "example",
"message": "example",
"summary": "example",
"tree_id": "example",
"node_id": "example",
"output_type": "example",
"duplicate_tree_index": "example",
"duplicate_node_index": "example",
"property": "example",
"invalid_value": "example"
}
]
},
"agents": [
"example"
]
}
}

Internal server error

Media typeapplication/json
object
error
required

Stable lower_snake_case usecase code (e.g. scenario_not_found)

string
code
required

Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered

string
message
required
string
data

Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)

object
topic
string
errors

Validation errors keyed by entity

object
scenario
Array<object>
object
code

SCN1xx constructor validation code

string
message
string
summary
string
tree_id
string
node_id
string
output_type
string
duplicate_tree_index
string
duplicate_node_index
string
property
string
invalid_value
string
agents

Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count

Array<string>
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"data": {
"topic": "example",
"errors": {
"scenario": [
{
"code": "example",
"message": "example",
"summary": "example",
"tree_id": "example",
"node_id": "example",
"output_type": "example",
"duplicate_tree_index": "example",
"duplicate_node_index": "example",
"property": "example",
"invalid_value": "example"
}
]
},
"agents": [
"example"
]
}
}