Skip to main content

Make your first API call

The quickest way to confirm your API key works is GET /v1/me — it returns the context your key is acting as: the tenant, the environment (sandbox vs live), and the scopes the key was granted. No resources are created, so it's a safe "hello world."

Request

curl https://api.permissio.us/v1/me \
-H "Authorization: Bearer sk_test_your_key_here"

Or with an official SDK:

Node.js
import { Permissio } from "permissio-sdk";

const client = new Permissio({ apiKey: process.env.PERMISSIO_API_KEY! });
const me = await client.me();
console.log(me.env, me.scopes); // "sandbox", ["envelopes:read", …]
Python
from permissio import Permissio

client = Permissio(api_key="sk_test_your_key_here")
print(client.me())

Response

{
"id": "usr_1a2b3c4d5e6f7080",
"email": "you@example.com",
"name": "Ada Lovelace",
"tenantId": "tnt_abc123",
"tenantName": "Acme Corp",
"keyId": "key_9f8e7d6c5b4a3210",
"env": "sandbox",
"scopes": ["envelopes:read", "envelopes:write", "templates:read"],
"planTier": "growth"
}

Check that env matches the key prefix you used (sk_test_…sandbox, sk_live_…live) and that scopes includes what your integration needs. An invalid or missing key returns 401 with code: "invalid_api_key"; a key without a required scope returns 403 with code: "missing_scope".

Next, put it to work: Send your first envelope →.