API/MCP server
v1.0.0-beta.mdGet API keys
Agents

MCP server

https://api.sidaxis.com/functions/v1/mcp

In production: Streamable HTTP, OAuth 2.1 with dynamic client registration, and nine tools that each map one-to-one onto an endpoint documented here.

Endpointhttps://api.sidaxis.com/functions/v1/mcp
TransportMCP Streamable HTTP
AuthorisationOAuth 2.1 with dynamic client registration

The client registers itself, the person signs in and approves it on a consent screen, and every tool then acts as that user — so a tool can never read or move more than the person herself can. There is no API key on this path and no token to paste.

Connect

{ "mcpServers": { "sidaxis": { "url": "https://api.sidaxis.com/functions/v1/mcp" } } }

The first call triggers registration and the consent screen; after approval the tools answer. A single POST with Accept: application/json, text/event-stream carries the whole transport, and a request without a valid OAuth token answers 401 Unauthorized — that is the expected unauthenticated response, not a fault.

The nine tools

ToolEndpointWhat it does
mandate_scopesmandate-scopesThe eight canonical scopes with human labels. Public, cacheable, no subject data.
mandate_checkmandate-checkAdvisory. Would this action fit inside the mandate? Nothing is locked, reserved or debited, and under concurrency it can return a false positive. Never treat it as permission to act.
mandate_consumemandate-consumeAuthoritative. The only call that moves the ceiling, under SELECT … FOR UPDATE, and it requires idempotency_key. Without it a network timeout becomes a double charge.
mandate_getmandate-getRead one mandate with its human statement, or list by effective status.
mandate_revokemandate-revokeImmediate and terminal. It needs no cooperation from the agent being revoked.
mandate_issuemandate-issueIssue a mandate. It requires a capture_id from a live capture on a human surface within the last five minutes, so an agent can never mint its own authority.
receipt_verifyrpc/get_receipt_v2Public verification of a receipt, no key required. An unknown hash returns null, never a 404, so nobody can probe for existence.
identity_verification_requestagent-verification-requestOne Face: mint a single-use card the person opens on her own device to prove she is present. Default 300 s, maximum 900 s.
identity_verification_resultagent-verification-resultOne Face: read the outcome — pending, opened, verified, refused or expired. Polling, not webhooks.

Refusals are not errors

A refused action comes back as a successful call with allowed: false and three message layers: reason (machine-stable, never translated), developer_message (English, for logs) and user_message (localised). Branch on allowed, never on a status code. See errors.

One Face for agents

The pair that makes this server useful to a consumer-facing agent: the agent asks for a verification and gets a single-use link; the person opens it on her own device and proves she is present; the agent polls for the result. The agent never touches a camera or a microphone. See One Face agent card.

What is deliberately absent, and why

Enrollment and face recognition are not tools. A proof of a living person is a 128-float descriptor produced on that person's own device, by her camera and microphone, at that instant. A tool call is text executed on a server with neither. Listing “capture a face” would imply a machine can enrol or recognise a human — the exact fraud this product exists to prevent.

So the shape is always the same: the agent asks, the person proves. The agent operates inside what she already authorised, and when the ceiling is exceeded or a document is missing, the engine sends her back to the screen.

Theme and alias lookup stay out too: they are surface concerns, not agent concerns. Attribute disclosure waits until the consent step has an agent-facing shape.

Sidaxis is the human authorisation layer. It never moves money, holds funds or settles. The machine-readable contract is openapi.yaml.
Sidaxis API documentationQuickstartAuthenticationHosted or headlessSandbox and productionIdempotencyRate limitsErrors and refusalsField namesWebhooksAssuranceThe document ruleAlias availabilityMerchant themeMCP serverCompatibilityStatusRoadmapChangelogIdentityEnroll an identityRecognise a personDisclose an attributeMandatesThe eight scopesIssue a mandateCheck an actionConsume a mandateRead a mandateRevoke a mandateReceiptsRead a merchant's receiptsVerify a receiptHosted sessionsCreate a hosted sessionConsume a hosted sessionOne Face for agents