---
title: "Invoke one protocol-approved capability adapter"
method: POST
path: "/api/v1/capabilities/{id}/invoke"
tags: ["Capabilities"]
---

# Invoke one protocol-approved capability adapter

`POST /api/v1/capabilities/{id}/invoke`

## Request

- Base URL: `https://axiomrelay.io`
- URL: `https://axiomrelay.io/api/v1/capabilities/{id}/invoke`
- Auth: none declared

The registry controls protocol exposure, limits, risk, authorization, and executor selection. R3/R4 capabilities are not enabled in the public beta.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string
- `X-Axiom-Protocol` 'http' | 'mcp' | 'webmcp' | 'a2a' | 'sdk'

## Request body

- object

## Response `200`

Bounded invocation result

## Other responses

- `400`: Invalid input or idempotency key
- `403`: Protocol or policy denied
- `404`: Capability/version not found
- `413`: Input exceeds the contract limit
- `429`: Rate limit reached
- `503`: Executor gated or unavailable

---

[API](https://skmtc.dev/axiomrelay/apis/axiom-relay-control-plane-api.md) · [All operations](https://skmtc.dev/axiomrelay/apis/axiom-relay-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/axiomrelay/apis/axiom-relay-control-plane-api/revisions/64ba55463cd2?raw)
