1---
2title: Programmatic access
3description: Learn about types of access tokens and how to use them.
4---
5
6When setting up CI or writing a script to help manage your projects, we recommend avoiding using your username and password to authenticate. With these credentials, anyone will be able to log in and use your account.
7
8Instead of providing credentials, you can generate tokens that will allow you to manage each integration point separately. Anyone who has access to these tokens will be able to perform actions against your account. Please treat them with the same care as a user password. In case something is leaked, you can revoke these tokens to block access.
9
10## Personal access tokens
11
12You can create Personal access tokens from the [Access tokens](https://expo.dev/settings/access-tokens) on your dashboard. Anyone with this token can perform actions on your behalf. That applies to all content on your Personal Account, as well as any Personal Accounts or Organizations that you have been granted access to.
13
14## Robot users and access tokens
15
16Accounts can create Robot users to take actions on resources owned by the Account. Bot Users can be assigned [a role](/accounts/working-together) to limit the actions they are authorized to perform. Bot users cannot sign in to any Expo products, cannot own any projects themselves, and can only authenticate via an access token.
17
18## Access tokens usage
19
20You can use any tokens you have created to perform actions with the Expo CLI (other than signing in and out). To use tokens, you need to define an environment variable, like `EXPO_TOKEN="token"`, before running commands.
21
22If you are using GitHub Actions, [you can configure the `token` property](https://github.com/expo/expo-github-action#configuration-options) to include this environment variable in all of the job steps.
23
24Common situations where access tokens are useful:
25
26- Publish or build from CI without providing your Expo username and password
27- Renew a token to keep it as secure as possible; no need to reset your password and sign out of all sessions
28- Give someone (or a script) one-time access to your project with limited permissions
29
30## Revoke access tokens
31
32In case a token is accidentally leaked, you can revoke it without changing your username and password. When you revoke the access token, you block all access to your account using this token. To do this, go to the [Access Token page](https://expo.dev/settings/access-tokens) on your dashboard and delete the token you want to revoke.
33