Attio supports two authentication approaches:
- Best for single-workspace scenarios
- Generated through developer settings page
- Simpler setup for command-line tools
- Required for multi-workspace applications
- Follows OAuth 2.0 specification
- More complex but supports delegated access
Include your token in the Authorization header:
Authorization: Bearer <access_token>
Alternative: HTTP Basic Authentication (token as username, blank password)
Both API keys and OAuth tokens use scopes to control access:
record_permission:read- Read recordsrecord_permission:read-write- Create/update recordsobject_configuration:read- Read object definitionsobject_configuration:read-write- Modify objectslist_configuration:read- Read list definitionslist_configuration:read-write- Modify listslist_entry:read- Read list entrieslist_entry:read-write- Create/update list entriesuser_management:read- View workspace membersuser_management:read-write- Manage workspace membersnote:read- Read notesnote:read-write- Create/update noteswebhook_configuration:read- View webhookswebhook_configuration:read-write- Manage webhooks
For CLI tools, store the API token in an environment variable:
export ATTIO_API_KEY="your_api_key_here"