Actors
Humans and AI agents in the workspace.
7 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.
actors.list
GET
List all actors (humans + agents) in the workspace.
- AI tool:
actors_list - API:
GET /api/invoke/actors.list
Input
| Field | Type | Required | Description |
|---|---|---|---|
kind |
"human" | "agent" | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"human",
"agent"
]
}
}
}actors.get
GET
Fetch a single actor (human or agent) by id.
- AI tool:
actors_get - API:
GET /api/invoke/actors.get
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}actors.create
POST · mutating
Create a new actor — primarily for spinning up AI agents. Defaults kind to "agent". Set autonomy, model, and starting permissions. Humans usually arrive mirrored from the gateway, but a placeholder human can be created too.
- AI tool:
actors_create - API:
POST /api/invoke/actors.create
Input
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | |
kind |
"human" | "agent" | — | |
handle |
union | — | |
avatarUrl |
union | — | |
autonomyLevel |
union | — | |
modelId |
union | — | |
permissions |
string[] | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"human",
"agent"
]
},
"handle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"autonomyLevel": {
"anyOf": [
{
"type": "string",
"enum": [
"supervised",
"semi-autonomous",
"fully-autonomous"
]
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name"
]
}actors.update
PATCH · mutating
Update an actor's editable config: name, handle, avatar, autonomy band, model, and permission capabilities. Never changes kind.
- AI tool:
actors_update - API:
PATCH /api/invoke/actors.update
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
patch |
object | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"patch": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"handle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"autonomyLevel": {
"anyOf": [
{
"type": "string",
"enum": [
"supervised",
"semi-autonomous",
"fully-autonomous"
]
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"smsRoutingPreference": {
"type": "string"
},
"bannerSeed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"bannerTheme": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
}
},
"required": [
"id",
"patch"
]
}actors.set_active
POST · mutating
Activate or deactivate an actor. A deactivated agent stays in the roster (and keeps its history) but is switched off and should not run.
- AI tool:
actors_set_active - API:
POST /api/invoke/actors.set_active
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
active |
boolean | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"active": {
"type": "boolean"
}
},
"required": [
"id",
"active"
]
}actors.delete
DELETE · mutating
Permanently delete an agent. Refuses if the agent still owns live missions, or if other records (decisions, calls, history) reference it — in those cases deactivate instead to preserve history.
- AI tool:
actors_delete - API:
DELETE /api/invoke/actors.delete
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
]
}actors.set_phone
POST · mutating
Set an actor's phone number and SMS routing preference. When mirror-to-platform is set, any SMS to/from this actor surfaces as a message in their platform conversation.
- AI tool:
actors_set_phone - API:
POST /api/invoke/actors.set_phone
Input
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
phoneNumber |
union | — | |
smsRoutingPreference |
"mirror-to-platform" | "direct-only" | "both" | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"phoneNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"smsRoutingPreference": {
"type": "string",
"enum": [
"mirror-to-platform",
"direct-only",
"both"
]
}
},
"required": [
"id"
]
}