Skip to main content

Send your key

Create a key in Settings → API Keys (see API keys). Keys start with vd_sk_. Send it in either header:
The examples in these docs read the key from the VALENDATA_API_KEY environment variable:
Reading a public skill (GET /v1/skills/{slug} and its health) needs no key.

Scopes

A key can only do what its scopes allow. An AI assistant connected with OAuth gets the scopes you tick on the consent screen; some scopes come with others, some are opt-in under Optional extra access (never granted by default), and some can only be put on an API key (see the last column). The /v1 routes that change, delete, or schedule a skill take API keys; an AI assistant reaches them through the MCP tools, with skills:write. An assistant only sees the MCP tools its scopes allow; see Which tools the assistant sees. A new key gets skills:read, skills:invoke, and runs:read unless you pick others. A key made before scopes existed has every scope. A key can also be limited to some skills or workflows. See API keys.

When it fails

Every request made with a key counts against that key’s rate limit, and the response says how much is left. See Rate limits. All other errors are on Errors and limits.