Auth Types
| Type | Use Case | Header Sent |
|---|---|---|
| API Key | Static server-to-server auth | X-API-Key: your-key |
| Bearer Token | OAuth/static token | Authorization: Bearer token |
| JWT Forward | Per-user actions | Authorization: Bearer <user-jwt> |
API Key
Your agent sends a static key in a custom header. OpenAPI spec:- Select API Key
- Enter header name (
X-API-Key) - Enter your key
Bearer Token
Your agent sends a static token in the Authorization header. OpenAPI spec:- Select Bearer Token
- Enter your token
JWT Forward
Your agent forwards the user’s Crow identity token to your API. This enables user-specific actions like “check my orders” or “cancel my subscription.”This is not your app’s session JWT. It’s a Crow-scoped identity token your backend mints with
CROW_VERIFICATION_SECRET. See Identity Verification.- Select JWT Forward
- No additional config—token comes from widget user
JWT Forward only works for authenticated widget users. Anonymous users won’t have a token to forward.
Which to Use?
| Scenario | Auth Type |
|---|---|
| All requests use same credentials | API Key or Bearer |
| User-specific actions (my orders, my account) | JWT Forward |
| Public API, no auth needed | None |
Troubleshooting
| Issue | Solution |
|---|---|
| 401 errors | Check secret matches, verify token not expired |
| Tools not showing for users | JWT Forward requires authenticated users |
Double path prefix (/api/api/) | Put prefix in Base URL OR paths, not both |
Multi-Subdomain Endpoints
Route API calls to different subdomains with separate credentials
