- JWT-based access for signed-in users and frontend applications
- API key access for backend systems and automation
AUTH_URL, JWT_TOKEN, and TITAN_TOKEN where relevant. Tab labels match other integration pages so your language choice stays in sync.
When to use each token type
Before you begin
- cURL
- Go
- TypeScript
- Python
- Rust
How authentication fits into the platform
Use a JWT
JWTs are best when a user is signed in through the dashboard or when a frontend needs to call Titan APIs on behalf of a user.Step 1: sign in
- cURL
- Go
- TypeScript
- Python
- Rust
Step 2: retrieve the active session
- cURL
- Go
- TypeScript
- Python
- Rust
Create an API key
API keys are the recommended choice for backend integrations.Step 1: obtain a JWT
You create API keys as an authenticated user, so start with a JWT.Step 2: create a scoped key
- cURL
- Go
- TypeScript
- Python
- Rust
key value securely. It is the secret your automation will use.
Scopes
Scopes are fixed when you create a key. Request the minimum set your integration needs.Platform scopes
MCP scopes
These cover the MCP server tool surface. Each tool checks its own scope, so a key scoped to search cannot fetch or crawl.
See Authentication and scopes for a ready-made key recipe.
Admin scopes
Admin scopes are issued only on admin-type keys, not on ordinary user keys.Use the token in API requests
All user-facing examples in this documentation use a bearer header on Task Service calls:- cURL
- Go
- TypeScript
- Python
- Rust
- A JWT
- An API key
Best practices
Troubleshooting
Next steps
- Quickstart: run your first task
- Use the Task Service API
- Create and manage tasks
- Credits and billing — wallet, ledger, and which scopes cover billing reads vs writes
- HTTP errors and exceptions — standard and non-standard API error shapes
- MCP quickstart — connect an AI agent with an MCP-scoped key