Skip to main content

Discover endpoint runtime capabilities

Snapshot: 0.9.17-patch1 · selected operations. This is a stored schema reference, not a fresh export or confirmation of behavior in another release. Scope and availability.

Availability and authentication​

API access must be enabled for your deployment. Ask the platform administrator to confirm availability and the required API-key scope documented in the operation description below. Send the team API key in the X-API-Key header. Enabled interaction modes depend on endpoint runtime capabilities; the export profile does not enable them in your deployment.

GET /api/v1/runtime/capabilities​

Returns the interaction modes, transport preferences, flow entry points, and browser actions the SDK can use for an endpoint. Requires a team API key with CREATE_CALL_TOKEN scope.

Parameters​

NameLocationRequiredDescriptionSchema
endpointIdqueryYesEndpoint to inspect. Must belong to the API key team.{"type":"string","format":"uuid"}

Responses​

These are declared schema responses, not results of live requests. An example is illustrative, not a complete catalogue of possible errors.

StatusDescription
200Default Response
400Request validation failed
401API key is missing or invalid
403API key lacks the required scope or resource access
404Endpoint not found for this team
429Too many requests
500Unexpected server error

200​

Default Response

Content type: application/json.

Required means required within its containing object. Exact schema below retains all constraints and alternatives.

FieldTypeRequiredDescriptionConstraints
endpointIdstringYesNot described in snapshot.format: "uuid"
flowDefinitionIdnull,stringYesActive flow definition id, or null when the endpoint has no linked flow.format: "uuid"
runtimeobjectYesNot described in snapshot.—
runtime.sessionContinuitystringYesNot described in snapshot.enum: ["supported"]
runtime.migrationarrayYesNot described in snapshot.—
interactionModesobjectYesNot described in snapshot.—
interactionModes.textbooleanYesNot described in snapshot.—
interactionModes.audio_playbackbooleanYesNot described in snapshot.—
interactionModes.voice_conversationbooleanYesNot described in snapshot.—
interactionModes.browser_actionsbooleanYesNot described in snapshot.—
interactionModes.listenbooleanYesNot described in snapshot.—
transportsobjectYesNot described in snapshot.—
transports.preferredarrayYesTransports ordered by SDK preference.—
transports.availablearrayYesEvery transport this endpoint can support.—
flowsobjectYesNot described in snapshot.—
flows.entryPointsarrayYesNot described in snapshot.—
flows.responseModesarrayYesNot described in snapshot.—
flows.sideFlowsarrayYesAdvanced side flows that are not generated Browser-Originated Action capabilities.—
flows.sideFlows[].idstringYesNot described in snapshot.—
flows.sideFlows[].namestringNoNot described in snapshot.—
flows.sideFlows[].triggerTypestringYesNot described in snapshot.—
flows.sideFlows[].messageTypestringNoWebSocket message type when triggerType is ws_message.—
flows.browserActionsarrayYesNot described in snapshot.—
flows.browserActions[].idstringYesNot described in snapshot.—
flows.browserActions[].slugstringYesNot described in snapshot.—
flows.browserActions[].labelstringYesNot described in snapshot.—
flows.browserActions[].typestringYesNot described in snapshot.—
flows.browserActions[].messageTypestringYesNot described in snapshot.—
flows.browserActions[].voiceInvocablebooleanYesNot described in snapshot.—
Exact response schema and examples
{
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"endpointId",
"flowDefinitionId",
"runtime",
"interactionModes",
"transports",
"flows"
],
"properties": {
"endpointId": {
"type": "string",
"format": "uuid"
},
"flowDefinitionId": {
"type": [
"null",
"string"
],
"format": "uuid",
"description": "Active flow definition id, or null when the endpoint has no linked flow."
},
"runtime": {
"type": "object",
"required": [
"sessionContinuity",
"migration"
],
"properties": {
"sessionContinuity": {
"type": "string",
"enum": [
"supported"
]
},
"migration": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text_to_voice",
"api_to_media"
]
}
}
}
},
"interactionModes": {
"type": "object",
"required": [
"text",
"audio_playback",
"voice_conversation",
"browser_actions",
"listen"
],
"properties": {
"text": {
"type": "boolean"
},
"audio_playback": {
"type": "boolean"
},
"voice_conversation": {
"type": "boolean"
},
"browser_actions": {
"type": "boolean"
},
"listen": {
"type": "boolean"
}
}
},
"transports": {
"type": "object",
"required": [
"preferred",
"available"
],
"properties": {
"preferred": {
"type": "array",
"description": "Transports ordered by SDK preference.",
"items": {
"type": "string",
"enum": [
"rest",
"websocket",
"existing_media",
"webrtc"
]
}
},
"available": {
"type": "array",
"description": "Every transport this endpoint can support.",
"items": {
"type": "string",
"enum": [
"rest",
"websocket",
"existing_media",
"webrtc"
]
}
}
}
},
"flows": {
"type": "object",
"required": [
"entryPoints",
"responseModes",
"sideFlows",
"browserActions"
],
"properties": {
"entryPoints": {
"type": "array",
"items": {
"type": "string",
"enum": [
"phone",
"web_voice",
"web_chat"
]
}
},
"responseModes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"audio_stream",
"text_stream",
"json",
"none"
]
}
},
"sideFlows": {
"type": "array",
"description": "Advanced side flows that are not generated Browser-Originated Action capabilities.",
"items": {
"type": "object",
"required": [
"id",
"triggerType"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"triggerType": {
"type": "string"
},
"messageType": {
"type": "string",
"description": "WebSocket message type when triggerType is ws_message."
}
}
}
},
"browserActions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"slug",
"label",
"type",
"messageType",
"voiceInvocable"
],
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"label": {
"type": "string"
},
"type": {
"type": "string"
},
"messageType": {
"type": "string"
},
"voiceInvocable": {
"type": "boolean"
}
}
}
}
}
}
}
},
"example": {
"endpointId": "0f6c3d4e-8b8f-4c59-9d0e-7e5e3b1f7f0f",
"flowDefinitionId": "7e0dca65-b70b-461e-9d12-c18e0ab6e626",
"runtime": {
"sessionContinuity": "supported",
"migration": [
"text_to_voice",
"api_to_media"
]
},
"interactionModes": {
"text": true,
"audio_playback": true,
"voice_conversation": true,
"browser_actions": true,
"listen": true
},
"transports": {
"preferred": [
"rest",
"websocket",
"existing_media",
"webrtc"
],
"available": [
"rest",
"websocket",
"existing_media",
"webrtc"
]
},
"flows": {
"entryPoints": [
"web_chat",
"web_voice"
],
"responseModes": [
"json",
"audio_stream"
],
"sideFlows": [],
"browserActions": [
{
"id": "read-selection",
"slug": "read-selection",
"label": "Read aloud",
"type": "readAloud",
"messageType": "browser.action.readAloud",
"voiceInvocable": true
}
]
}
}
}
}
}

400​

Request validation failed

Exact response schema and examples
{
"description": "Request validation failed",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Request validation failed",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed"
}
}
}
}
}

401​

API key is missing or invalid

Exact response schema and examples
{
"description": "API key is missing or invalid",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "API key is missing or invalid",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "API key is missing or invalid"
}
}
}
}
}

403​

API key lacks the required scope or resource access

Exact response schema and examples
{
"description": "API key lacks the required scope or resource access",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "API key lacks the required scope or resource access",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "AUTHORIZATION_ERROR",
"message": "API key lacks the required scope or resource access"
}
}
}
}
}

404​

Endpoint not found for this team

Exact response schema and examples
{
"description": "Endpoint not found for this team",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Endpoint not found for this team",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "ENDPOINT_NOT_FOUND",
"message": "Endpoint not found for this team"
}
}
}
}
}

429​

Too many requests

Exact response schema and examples
{
"description": "Too many requests",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Too many requests",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests"
}
}
}
}
}

500​

Unexpected server error

Exact response schema and examples
{
"description": "Unexpected server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Unexpected server error",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error code.",
"example": "VALIDATION_ERROR"
},
"message": {
"type": "string",
"description": "Human-readable error summary.",
"example": "Request validation failed"
},
"details": {
"description": "Optional structured details, usually validation issues."
},
"requestId": {
"type": "string",
"description": "Fastify request id for log correlation when available."
}
}
}
}
},
"example": {
"error": {
"code": "INTERNAL_ERROR",
"message": "Unexpected server error"
}
}
}
}
}

Machine-readable reference​

Download the selected OpenAPI operations. The download contains this subset only.