Skip to content

Capabilities API

Capability REST endpoints, requests, and responses.
MethodPathRequestResponse
GET/api/capabilities/sourcesPaginationQueryCapabilitySourceList
GET/api/capabilities/searchCapabilitySearchQueryCapabilitySearchResult
POST/api/capabilities/describeCapabilityDescribeRequestCapabilityDescribeResult
POST/api/capabilities/callCapabilityCallRequestCapabilityCallResult
GET /api/capabilities/sources
ParameterTypeRequiredConstraints
limitintegerNo1–100; default 20
offsetintegerNoMinimum 0; default 0
Terminal window
curl "https://app.dexto.ai/api/capabilities/sources?limit=20&offset=0" \
-H "Authorization: Bearer $DEXTO_API_KEY"
FieldJSON typeRequiredDescription
sourcesarray<CapabilitySource>YesSources visible to the authenticated owner
sources[].idstringYesStable source identifier
sources[].kindstringYesapp, connection, llm, mcp, platform, skill, or workspace
sources[].titlestringYesDisplay title
sources[].toolCountintegerNoNumber of tools currently exposed by the source
GET /api/capabilities/search
ParameterTypeRequiredConstraints
qstringYesNon-empty after trimming
limitintegerNo1–100; default 20
offsetintegerNoMinimum 0; default 0
Terminal window
curl "https://app.dexto.ai/api/capabilities/search?q=search%20the%20web&limit=10" \
-H "Authorization: Bearer $DEXTO_API_KEY"
FieldJSON typeRequiredNullableDescription
itemsarray<CapabilityTool>YesNoMatching capabilities
totalintegerYesNoTotal matches before pagination
hasMorebooleanYesNoWhether another page exists
nextOffsetintegerYesYesOffset for the next page
POST /api/capabilities/describe
FieldJSON typeRequiredConstraints
pathstringYesDotted capability alias such as dexto.platform.web_search
Terminal window
curl https://app.dexto.ai/api/capabilities/describe \
-H "Authorization: Bearer $DEXTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "path": "dexto.platform.web_search" }'
FieldJSON typeRequiredDescription
foundbooleanYesWhether the alias resolved
pathstringWhen found is falseRequested alias
toolCapabilityToolDescriptionWhen found is trueCapability metadata and schemas
POST /api/capabilities/call
FieldJSON typeRequiredConstraints
pathstringOne of path or idDotted capability alias
idCapabilityIdOne of path or idStructured capability identifier
inputany JSON valueNoDefaults to {}; validated against the capability input schema
idempotencyKeystringNoNon-empty caller-defined operation key
Terminal window
curl https://app.dexto.ai/api/capabilities/call \
-H "Authorization: Bearer $DEXTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"path": "dexto.platform.web_search",
"input": { "query": "Dexto agent platform" },
"idempotencyKey": "search-dexto-2026-09-12"
}'
FieldJSON typeRequiredDescription
okbooleanYesDiscriminator for success or failure
dataany JSON valueWhen ok is trueCapability-specific output
errorCapabilityErrorWhen ok is falseStructured invocation failure
receiptCapabilityReceiptSuccess: yes; failure: noExecution receipt when invocation began

A Capability describes an operation exposed by a platform, connection, app, skill, model, or workspace source.

{
"id": { "sourceId": "dexto.platform", "toolId": "web_search" },
"sourceId": "dexto.platform",
"name": "Web search",
"description": "Search the public web.",
"aliases": ["dexto.platform.web_search"],
"tags": ["search", "web"],
"execution": { "mode": "hosted", "owner": "cloud" },
"invocable": { "mode": "available" }
}

CapabilityTool

id required
CapabilityId

Structured identifier.

Show child attributes
sourceId required
string

Capability source identifier.

toolId required
string

Tool identifier within the source.

resourceId optional
string

Source-specific resource identifier.

version optional
string

Source-specific capability version.

sourceId required
string

Capability source identifier.

name required
string

Display name.

description required
string

Human-readable operation description.

aliases required
array<string>

Dotted invocation aliases.

tags required
array<string>

Search terms.

inputSchema optional
object

JSON Schema for invocation input.

outputSchema optional
object

JSON Schema for successful output.

execution required
CapabilityExecution

Execution location and owner.

Show child attributes
mode required
string

hosted, workspace, remote_mcp, llm_gateway, or instruction_only.

owner hosted/workspace
string

cloud or runtime.

connectionId remote_mcp
string

Remote MCP connection identifier.

provider llm_gateway
string

Gateway provider identifier.

invocable required
CapabilityInvocability

Current invocation availability.

Show child attributes
mode required
string

available, describe_only, or planned.

reason not available
string

Why invocation is unavailable.

CapabilityToolDescription

Includes every CapabilityTool field plus:

examples optional
array<object>

Example labels and inputs.

inputTypeScript optional
string

Source-provided display definition.

outputTypeScript optional
string

Source-provided display definition.

typeScriptDefinitions optional
object<string, string>

Named source-provided display definitions.

usageNotes optional
array<string>

Invocation guidance.

CapabilityReceipt

capabilityId required
CapabilityId

Invoked capability.

finishedAt required
string

ISO 8601 completion timestamp.

invocationId required
string

Server-generated invocation identifier.

sourceId required
string

Executing source.

status required
string

blocked or completed.

CapabilityError

code required
string

approval_required, approval_denied, not_found, timeout, tool_error, or validation_failed.

message required
string

Human-readable failure description.

approvalKey approval_required
string nullable

Approval request key when available.

approval optional
object

Approval metadata.

details validation_failed
object

Validation issues containing code, message, and path.