Masker authenticates API calls using a GitHub OAuth session cookie. There is no password login and no API key issuance today — long-lived scoped tokens are on the May 30 roadmap. Until then, the session cookie is the credential for allDocumentation Index
Fetch the complete documentation index at: https://docs.masker.dev/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/* endpoints.
How the session cookie works
When you complete the GitHub OAuth flow, Masker sets a cookie on your browser:| Property | Value |
|---|---|
| Name | masker_session |
| HttpOnly | Yes — JavaScript cannot read it |
| Secure | Yes — HTTPS only |
| SameSite | Lax |
| Lifetime | 30 days, sliding — renewed on every authenticated request |
| Domain | Bound to the API host |
Authenticating API requests
Send the cookie value in aCookie request header:
masker_session), then export it as an environment variable:
The OAuth flow
The OAuth handshake is browser-driven. Masker does not expose an API endpoint that lets you complete it headlessly.Start the OAuth flow
Navigate to
GET /api/v1/auth/github. Masker redirects your browser to GitHub’s authorization page.Approve the GitHub request
GitHub asks you to authorize Masker. Once you approve, GitHub redirects back to Masker.
Logging out
204 No Content, clears the cookie, and permanently invalidates the server-side session row. The cookie value cannot be reused after logout.
Identifying the current user
What 401 and 403 mean
- 401
unauthenticated— The request arrived with nomasker_sessioncookie, or with a cookie that has expired or been invalidated. Sign in again to get a fresh session. - 403
forbidden— Your session is valid, but you are not permitted to perform this action. For example, deleting an agent requires admin access; a non-admin user’s request will be rejected with 403.
Webhook endpoints
Two endpoints are called by external systems and therefore cannot use themasker_session cookie:
POST /proxy/{agent_id}/v1/chat/completionsPOST /vapi/webhook/{agent_id}
X-Vapi-Signature header against the MASKER_VAPI_WEBHOOK_SECRET environment variable. Configure the same secret value on both sides — a mismatch returns 401.
Coming soon
Scoped API tokens are targeting the May 30 release. Tokens will be issuable from the portal with explicit scopes (
agents:read, sessions:read, reports:read) and will be the recommended credential for CI and machine-to-machine access. OIDC and mTLS support are on the longer-term roadmap.