Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

An organization API key, uk_sk_live_… or uk_sk_test_…. The environment is resolved from the stored key row on every request, never from a request parameter.

Every route behind this credential is rate limited per key — 1000 requests a minute — with a second ceiling of 3000 a minute across all the keys of one environment, so splitting your traffic across keys isolates it and minting more keys does not buy more of it. A test key can never spend a live key's allowance. Every response carries the current state in headers; see the rate-limits guide.

Body

application/json

One JSON-RPC 2.0 message. An array (a batch) is refused: MCP removed batching, and a server that answered part of one would drop calls where nobody can see it.

jsonrpc
string
required
Allowed value: "2.0"
method
enum<string>
required

Notifications such as notifications/initialized are accepted too and answered with 202.

Available options:
initialize,
ping,
tools/list,
tools/call
id

A string or a number, echoed back verbatim. Omit it and the message is a notification: it is acknowledged with 202 and never answered.

params
object

The method's parameters. For tools/call: name and arguments.

Response

The JSON-RPC response. It carries result or error, never both — and an error here is the protocol refusing (unknown method, unknown tool, malformed message), not the transport failing.

jsonrpc
string
Allowed value: "2.0"
id
any

The id of the message this answers.

result
object

For tools/call: content (a text block carrying the JSON answer), structuredContent (the same answer as an object) and isError when the tool refused.

error
object