Skip to content

Developer Access

The Chainabit developer platform is available on the Chainer subscription tier and above. This page explains what you get, how to activate developer-token access, and how tokens are scoped.


Subscription Tiers

TierDeveloper Token AccessDescription
freeNoStandard account access
bitterNoExtended features, no API keys
chainerYesFull developer platform access
architectYesEnterprise-grade developer access

Upgrade to Chainer at app.chainabit.comSettings → Billing.


Generating a Developer Token

  1. Log in to app.chainabit.com.
  2. Navigate to Settings → Developer.
  3. Click Create Developer Token.
  4. Enter a name for the token (e.g., "GitHub Actions", "Production Pipeline").
  5. Select the scopes your integration needs (see below).
  6. Optionally bind the token to a specific account if the integration should not roam across your accessible accounts.
  7. Set an expiry in days (1–365).
  8. Click Create. Copy the token immediately — it is shown only once and cannot be retrieved later.

The token has the prefix cbt_live_.


Available Scopes

Select the minimum set of scopes your integration requires.

ScopeAccess granted
contexts:readRead knowledge contexts and run semantic search
contexts:writeCreate and update knowledge contexts
agents:readRead agent definitions and instances
agents:executeExecute agent tools and create AI sessions
analytics:readRead analytics and audit data
members:readRead account and workspace members

Available Scopes

Select the minimum set of scopes your integration requires.

ScopeAccess granted
execution:runCreate scoped AI runs and automation requests
wallet:readRead wallet balance and wallet-backed execution readiness
profile:readRead basic profile fields on routes that explicitly allow developer tokens
email:readRead email fields on routes that explicitly allow developer tokens
byok:manageManage bring-your-own-key credentials when your account is allowed to use BYOK
webhook:manageManage webhook subscriptions and inspect delivery metadata

High-risk scopes should be granted deliberately and reviewed regularly.

Using a Developer Token

Pass the token directly as a Bearer token on supported endpoints. No browser login or session exchange is required on current servers.

bash
curl -X POST "$BASE_URL/ai/features/chat.basic/runs" \
  -H "Authorization: Bearer cbt_live_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"input":"Run the nightly health check"}'
javascript
const response = await fetch(`${BASE_URL}/ai/features/chat.basic/runs`, {
  method: 'POST',
  headers: {
    Authorization: 'Bearer cbt_live_your_token_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ input: 'Run the nightly health check' }),
});
const { data } = await response.json();
python
import httpx

result = httpx.post(
    f"{BASE_URL}/ai/features/chat.basic/runs",
    json={"input": "Run the nightly health check"},
    headers={
        "Authorization": "Bearer cbt_live_your_token_here",
        "Content-Type": "application/json",
    },
).json()

Each request is independently authenticated against the stored token hash. The CLI also supports passing the token through CHAINABIT_TOKEN, --token-env, --token-file, or --token-stdin.

Security Recommendations

  • Never embed cbt_live_... tokens in frontend code.
  • Never commit tokens to repositories or CI logs.
  • Rotate tokens per environment instead of sharing one token across dev, staging, and production.
  • Prefer the narrowest scopes possible.
  • Revoke tokens immediately if they appear in shell history, screenshots, build logs, or chat transcripts.

Rate Limits

Developer-token requests share the same global rate limit as session-based requests. The default threshold is 120 requests per 60-second window per account.

AI endpoints may also consume credits governed by the entitlements system. See Rate Limiting for full threshold tables.

Revoking a Token

From the Hub: Settings → Developer → find the token → click Revoke. Revocation is immediate; any subsequent request using that token returns 401.

From the CLI:

bash
chainabit auth keys revoke <id>

Built with purpose.