Skip to content

Get own profile

GET
/v1/profile
curl --request GET \
--url https://example.com/v1/profile \
--header 'Authorization: Bearer <token>'

Returns the caller’s own user, the account it belongs to and the feature flags evaluated for that account, resolved from the bearer token. The account.limits block is present only when the caller holds the limits:account capability.

OK

Media typeapplication/json
object
user
required
object
sid
required
string
account_sid
required
string
email
required
string
name
required
string
roles
required
Array<string>
status
required
string
Allowed values: active inactive
has_password
required
boolean
last_login_at
required
string format: date-time
nullable
account
required
object
sid
required
string
tenant_sid
required
string
tenant_name
required
string
name
required
string
email
required
string
external_id
required
string
country
required
string
timezone
required
string
phone
required
string
status
required
string
Allowed values: active inactive
limits

Account-level usage caps aggregated across the account’s agents and communication strategies. Stub for now (empty); populated once reporting/CDR provides the source.

object
feature_flags
required

Every declared feature flag evaluated for the caller’s account. The set is closed: each flag is always present, and adding one is an API change.

object
global_llm
required
boolean
global_stt
required
boolean
global_tts
required
boolean
Example
{
"user": {
"status": "active"
},
"account": {
"status": "active"
},
"feature_flags": {
"global_llm": true,
"global_stt": false,
"global_tts": true
}
}

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"
]
}
}

Caller has no access

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"
]
}
}