To authenticate and access Databricks REST APIs, you can use personal access tokens or passwords. We strongly recommend that you use tokens. Like passwords, tokens should be treated with care. Unlike passwords, tokens expire and can be revoked.
Token-based authentication is enabled by default for all Databricks accounts launched after January 2018. If it is disabled, your administrator must enable it before you can perform the tasks described in this topic. See Enable Token-based Authentication.
This section describes how to generate a personal access token in the Databricks UI. You can also generate and revoke tokens using the Token API.
Click the user profile icon in the upper right corner of your Databricks workspace.
Click User Settings.
Go to the Access Tokens tab.
Click the Generate New Token button.
Optionally enter a description (comment) and expiration period.
Click the Generate button.
Copy the generated token and store in a secure location.
This section describes how to revoke personal access tokens using the Databricks UI. You can also generate and revoke access tokens using the Token API.
- Click the user profile icon in the upper right corner of your Databricks workspace.
- Click User Settings.
- Go to the Access Tokens tab.
- Click x for the token you want to revoke.
- On the Revoke Token dialog, click the Revoke Token button.
Create a .netrc file with
machine <your-domain> login token password <personal-access-token-value>
<your-domain> with the domain name of your Databricks deployment. For example,
You can optionally set
login to your Databricks username and
password to your Databricks password. However, we recommend that you use a personal access token to authenticate to an API endpoint. If you choose to use a username and password, do not use
-u to pass your credentials. In other words, do not use
curl -u <your-username>:<your-password> -X GET https://<your-domain>/api/2.0/token/list.
<personal-access-token-value> with the value of your personal access token.
To invoke the
.netrc file, use
-n in your
curl -n -X GET https://<your-domain>/api/2.0/token/list
You can include the token in the header using
Bearer authentication. You can use this approach with
curl or any client that you build.
curl 'https://<your-domain>/api/2.0/token/list' -X GET -H "Authorization: Bearer <personal-access-token-value>"