Skip to content

Personal access tokens and scopes

Elicitra Developer Access uses personal access tokens (PATs), not organization-wide service tokens. Each PAT belongs to exactly one user and one organization, has the mcp audience, and starts with the recognizable eli_pat_ prefix.

Developer Access is included for Growth and Scale organizations. Free and Pro members can read these docs and see the upgrade path, but credentials cannot be created or used on those tiers.

  • Owners can create their own PATs and manage or revoke every PAT in the organization.
  • Admins can create, inspect, rotate, and revoke only their own PATs.
  • Members can see documentation and tier status, but cannot manage credentials.

Creating a PAT or performing a secret-sensitive action requires a recent authenticated session or step-up. A ban, loss of organization membership, or demotion below admin permanently revokes that user’s PATs. Every MCP request rechecks current membership and role; cached access is not authoritative.

Choose the least privilege your workflow needs:

Profile Effective scopes Available operations
Scenarios and campaigns — read scenario:read, campaign:read Product-reference search, account context, list/get/review of scenarios and campaigns, and scenario export.
Full draft authoring scenario:read, campaign:read, scenario:write, campaign:write All read operations plus create/update of scenario and campaign drafts.

Write always implies read. Existing PATs retain their simple profile without rotation: a legacy read PAT expands to both read scopes, and a legacy write PAT expands to all four scopes when authenticated. The UI and elicitra_account_info show effective scopes. A read-only PAT discovers exactly 10 tools; a write PAT discovers all 14. Direct calls to hidden write tools are rejected independently.

The full secret contains 256 bits of cryptographic randomness and is shown exactly once. Elicitra retains only a public lookup id and SHA-256 digest and compares digests in constant time. Copy the token directly to your operating-system secret store or an environment variable such as ELICITRA_MCP_TOKEN. Never place it in a prompt, repository, project MCP file, issue, or log.

The default expiry is 90 days and the maximum is 365 days. Rotation is intentionally explicit:

  1. Create a new PAT with the required scopes.
  2. Update each client secret store and verify the new connection.
  3. Revoke the previous PAT.

Elicitra cannot recover a lost secret. Revoke it and create another.

  • Growth: up to 5 active PATs per organization.
  • Scale: up to 25 active PATs, unless a contractual override sets a different limit.

On a Scale-to-Growth downgrade, Elicitra keeps the five oldest active PATs, ordered by createdAt and then id, and suspends the rest. A downgrade to Free or Pro suspends every PAT. Upgrading later does not automatically reactivate suspended credentials: an owner or eligible admin must reactivate them explicitly, subject to the current quota.

The shared limits are 60 requests per minute per PAT and 300 requests per minute per organization. Before authentication, Elicitra also limits each source IP to 120 requests per minute and 8 concurrent requests. A rate-limiter outage fails closed with HTTP 503; it never bypasses limits.

Normal rate-limit responses use HTTP 429. Use bounded exponential backoff and respect any response guidance. MCP application errors such as revision conflicts remain JSON-RPC tool results over HTTP 200 and are documented under Errors and limits.