API keys

API keys are secrets used by Appwrite Server SDKs and the Appwrite CLI to prove their identity. What can be accessed each API key is restricted by scopes instead of permissions.

Best practice

It is a best practice to grant only the scopes you need to meet your project's goals to an API key. API keys should be treated as a secret. Never share the API key and keep API keys out of client applications.

Create API key

Project settings screen

Project settings screen

To create a new API key, navigate to Overview > Integration > API keys and click Create API key.

When adding a new API Key, you can choose which scopes to grant your application. If you need to replace your API Key, create a new key, update your app credentials and, once ready, delete your old key.

Scopes

NameDescription
users.readAccess to read your project's users
users.writeAccess to create, update, and delete your project's users
teams.readAccess to read your project's teams
teams.writeAccess to create, update, and delete your project's teams
databases.readAccess to read your project's databases
databases.writeAccess to create, update, and delete your project's databases
collections.readAccess to read your project's database collections
collections.writeAccess to create, update, and delete your project's database collections
attributes.readAccess to read your project's database collection's attributes
attributes.writeAccess to create, update, and delete your project's database collection's attributes
indexes.readAccess to read your project's database collection's indexes
indexes.writeAccess to create, update, and delete your project's database collection's indexes
documents.readAccess to read your project's database documents
documents.writeAccess to create, update, and delete your project's database documents
files.readAccess to read your project's storage files and preview images
files.writeAccess to create, update, and delete your project's storage files
buckets.readAccess to read your project's storage buckets
buckets.writeAccess to create, update, and delete your project's storage buckets
functions.readAccess to read your project's functions and code deployments
functions.writeAccess to create, update, and delete your project's functions and code deployments
execution.readAccess to read your project's execution logs
execution.writeAccess to execute your project's functions
locale.readAccess to access your project's Locale service
avatars.readAccess to access your project's Avatars service
health.readAccess to read your project's health status
rules.readAccess to read your project's proxy rules
rules.writeAccess to create, update, and delete your project's proxy rules
migrations.readAccess to read your project's migrations
migrations.writeAccess to create, update, and delete your project's migrations
vcs.readAccess to read your project's VCS repositories
vcs.writeAccess to create, update, and delete your project's VCS repositories
assistant.readAccess to read the Assistant service