Documentation Index
Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
Use this file to discover all available pages before exploring further.
How it works
When Archal runs your agent against hosted twins, all HTTP calls flow through an Archal TLS proxy. The proxy intercepts the outgoingAuthorization header, saves
the original value in x-archal-upstream-authorization, and routes the request to
the correct twin.
If your agent sends a request without any Authorization header, the proxy
auto-injects a default bootstrap token before the request reaches the twin.
This means most agents work against twins without any token configuration — the
proxy handles it transparently.
For direct-to-twin connections (local archal twin sessions, no proxy), the twin
accepts any non-empty bearer token. Missing tokens return the same error the real
service returns (401, not_authed, etc.).
Bootstrap tokens by twin
Each twin ships a built-in token that passes auth without a state-side lookup. Use these in harnesses, CI, and local tests. They are dummy values — they are accepted only by the twin, not by the real service.| Twin | Bootstrap token | Override env var |
|---|---|---|
| GitHub | ghp_test_bootstrap_token | GITHUB_BOOTSTRAP_TOKEN |
| Slack | xoxb-bootstrap-slack-token | SLACK_BOOTSTRAP_TOKEN |
| Jira | ATATT3xFfGF0_bootstrap_jira_token | JIRA_BOOTSTRAP_TOKEN |
| Stripe | sk_test_bootstrap | STRIPE_BOOTSTRAP_TOKEN |
| Discord | MTAxX2Jvb3RzdHJhcF90b2tlbg.bootstrap.signature | DISCORD_BOOTSTRAP_TOKEN |
test-token works.
Overriding tokens
The proxy injects a default bootstrap token automatically, so overrides are uncommon. You would only need one if your scenario logic branches on the token value or you are hitting a twin directly from a harness that sets its ownAuthorization header.
Set the env var in your harness or .archal.json:
harness.json:
