# Compatibility

How Sidaxis is reached: HTTPS functions with an API key, and an MCP server any Streamable HTTP client with OAuth 2.1 connects to without a key to paste.

## HTTP

Any client that can send an HTTPS request with a header. One base path, `https://api.sidaxis.com/functions/v1/<function-name>`, authenticated with `x-sidaxis-api-key`. No SDK is required; the machine-readable contract is [openapi.yaml](/openapi.yaml).

## MCP server — available

`https://api.sidaxis.com/functions/v1/mcp`, in production. Transport is MCP Streamable HTTP — a single `POST` with `Accept: application/json, text/event-stream`. Authorisation is OAuth 2.1 with dynamic client registration, and a call without a valid token answers `401 Unauthorized`. Nine tools: the six mandate calls, public receipt verification, and the two One Face calls an agent uses to ask a person to prove she is present. Each maps one-to-one onto an endpoint in the API reference.

Any MCP client that speaks Streamable HTTP and OAuth 2.1 connects — the client registers itself; there is no key to paste. The One Face pair keeps the shape intact: the agent hands the person a single-use card, she proves she is present on the hosted screen, and the agent polls for the result. See [MCP](/mcp).

> Sidaxis is designed to be consumed by an agent, and mandates are why: the agent asks, the person proves, and the mandate is what the agent can act inside afterwards.

## Browsers

The capture pipeline runs on the person's own device with a camera and a microphone. Use the [hosted screen](/sessions/create) or run it yourself [headless](/hosted-or-headless). Where a desktop has no camera, the desktop-to-phone handoff carries the capture to the phone.
