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 →.