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
| Name | Location | Required | Description | Schema |
|---|---|---|---|---|
endpointId | query | Yes | Endpoint 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.
| Status | Description |
|---|---|
| 200 | Default Response |
| 400 | Request validation failed |
| 401 | API key is missing or invalid |
| 403 | API key lacks the required scope or resource access |
| 404 | Endpoint not found for this team |
| 429 | Too many requests |
| 500 | Unexpected server error |
200
Default Response
Content type: application/json.
Required means required within its containing object. Exact schema below retains all constraints and alternatives.
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
endpointId | string | Yes | Not described in snapshot. | format: "uuid" |
flowDefinitionId | null,string | Yes | Active flow definition id, or null when the endpoint has no linked flow. | format: "uuid" |
runtime | object | Yes | Not described in snapshot. | — |
runtime.sessionContinuity | string | Yes | Not described in snapshot. | enum: ["supported"] |
runtime.migration | array | Yes | Not described in snapshot. | — |
interactionModes | object | Yes | Not described in snapshot. | — |
interactionModes.text | boolean | Yes | Not described in snapshot. | — |
interactionModes.audio_playback | boolean | Yes | Not described in snapshot. | — |
interactionModes.voice_conversation | boolean | Yes | Not described in snapshot. | — |
interactionModes.browser_actions | boolean | Yes | Not described in snapshot. | — |
interactionModes.listen | boolean | Yes | Not described in snapshot. | — |
transports | object | Yes | Not described in snapshot. | — |
transports.preferred | array | Yes | Transports ordered by SDK preference. | — |
transports.available | array | Yes | Every transport this endpoint can support. | — |
flows | object | Yes | Not described in snapshot. | — |
flows.entryPoints | array | Yes | Not described in snapshot. | — |
flows.responseModes | array | Yes | Not described in snapshot. | — |
flows.sideFlows | array | Yes | Advanced side flows that are not generated Browser-Originated Action capabilities. | — |
flows.sideFlows[].id | string | Yes | Not described in snapshot. | — |
flows.sideFlows[].name | string | No | Not described in snapshot. | — |
flows.sideFlows[].triggerType | string | Yes | Not described in snapshot. | — |
flows.sideFlows[].messageType | string | No | WebSocket message type when triggerType is ws_message. | — |
flows.browserActions | array | Yes | Not described in snapshot. | — |
flows.browserActions[].id | string | Yes | Not described in snapshot. | — |
flows.browserActions[].slug | string | Yes | Not described in snapshot. | — |
flows.browserActions[].label | string | Yes | Not described in snapshot. | — |
flows.browserActions[].type | string | Yes | Not described in snapshot. | — |
flows.browserActions[].messageType | string | Yes | Not described in snapshot. | — |
flows.browserActions[].voiceInvocable | boolean | Yes | Not 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.