Skip to main content

Documentation Index

Fetch the complete documentation index at: https://sovrnti.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

1. Create an account

Sign up at app.sovrnti.io.

2. Authenticate

Sovrnti uses OAuth 2.1 with PKCE. Register a client and run the standard authorization-code flow.
1

Register your client

curl -X POST https://auth.sovrnti.io/oauth/register \
	-H "Content-Type: application/json" \
	-d '{
		"client_name": "My integration",
		"redirect_uris": ["http://localhost:8080/callback"],
		"grant_types": ["authorization_code"],
		"response_types": ["code"],
		"token_endpoint_auth_method": "none"
	}'
The response includes a client_id.
2

Get an access token

Run the OAuth 2.1 + PKCE flow against https://auth.sovrnti.io/oauth/authorize with scope=Ping.Read and resource=https://graph.sovrnti.io/mcp. Exchange the resulting code for an access token.The token is a JWT bound to aud=https://graph.sovrnti.io/mcp (RFC 8707). The same token works for both REST and MCP on this host.

3. Call the ping endpoint

curl https://graph.sovrnti.io/v1/ping?echo=hello \
	-H "Authorization: Bearer ${SOVRNTI_TOKEN}"
Response:
{
	"ok": true,
	"org_id": "org_01HX...",
	"echo": "hello",
	"timestamp": "2026-05-05T15:42:01.123Z"
}
Response headers include Data-Residency-Zone and an X-Request-Id you can quote when reporting issues.

TypeScript SDK

A type-safe TypeScript SDK is published as @repo/sovrnti-sdk, generated from the same OpenAPI spec rendered in the API Reference.
import { createClient } from "@repo/sovrnti-sdk";

const client = createClient({
	baseUrl: "https://graph.sovrnti.io",
	getToken: async () => process.env.SOVRNTI_TOKEN,
});

const result = await client.ping.getV1Ping({ echo: "hello" });