diff --git a/website/docs/how-to/how-to-create-project-api-tokens.mdx b/website/docs/how-to/how-to-create-project-api-tokens.mdx new file mode 100644 index 0000000000..84acd5a24c --- /dev/null +++ b/website/docs/how-to/how-to-create-project-api-tokens.mdx @@ -0,0 +1,33 @@ +--- +title: How to create Project API Tokens +--- + +:::info Permissions + +Creating Project API tokens requires you to have the `CREATE_PROJECT_API_TOKEN` permission. + +::: + +Unleash SDKs use API tokens to authenticate to the Unleash API. Unleash supports different types of API tokens, each with different levels of access and privileges. Refer to the [API tokens and client keys](../reference/api-tokens-and-client-keys.mdx) article for complete overview of the different token types. + +## Step 1: Navigate to the API token creation form {#step-1} + +Navigate to the Project _API access_ page in the admin UI (available at the URL `/admin/projects//api-access`). Use the navigation tab "Project Settings" and select "API access". + +![The Project overview "Project settings" submenu with the API access item highlighted.](/img/configure_project_api.png) + +On the API access page, use the "New API token" button to navigate to the token creation form. + +![The Project API access page with the "New API token" button highlighted.](/img/admin_new_project_api_key_button.png) + +## Step 2: Fill in the API token form {#step-2} + +![Project API token creation form. ](/img/admin_create_project_token_form.png) + +Fill in the form with the desired values for the token you want to create. Refer to the [API tokens and client keys](../reference/api-tokens-and-client-keys.mdx#token-data) article for a detailed explanation of what all the fields mean. + +## Using Project API tokens + +When you have created the Project API token, it will be listed on the Project API access page. If you have the required permissions to see the token (`READ_PROJECT_API_TOKEN`), you can copy it for easy use in your applications. + +![API access token table with a "copy token" button highlighted.](/img/copy_project_token.png) diff --git a/website/docs/reference/api-tokens-and-client-keys.mdx b/website/docs/reference/api-tokens-and-client-keys.mdx index b9c5132a44..f545fce53d 100644 --- a/website/docs/reference/api-tokens-and-client-keys.mdx +++ b/website/docs/reference/api-tokens-and-client-keys.mdx @@ -21,6 +21,7 @@ This section describes what API tokens are. For information on how to create the Use API tokens to connect to the Unleash server API. API tokens come in four distinct types: - [Admin tokens](#admin-tokens) +- [Project level access tokens](#project-access-tokens) - [Personal access tokens](#personal-access-tokens) - [Client tokens](#client-tokens) - [Front-end tokens](#front-end-tokens) @@ -55,6 +56,18 @@ Do **not** use admin tokens for: Support for scoped admin tokens with more fine-grained permissions is currently in the planning stage. + +### Project level access tokens + +All project members can see any `CLIENT` (server-side client token) and `FRONTEND` (client-side client token) respectively. + +Use personal access tokens to: + +- Provide more fine-grained permissions for automation than an admin token provides +- Give access to all project members (or anyone with `READ_PROJECT_API_TOKEN` permission) to read the token +- Give access to the project owner (or anyone with `CREATE_PROJECT_API_TOKEN` permission) to create a token, + + ### Personal access tokens **Personal access tokens** are a special form of admin tokens and grant access to the same resources that the user that created them has access to. These permissions are dynamic, so if a user's permissions change through addition of a custom role, the token will likewise have altered permissions. diff --git a/website/static/img/admin_create_project_token_form.png b/website/static/img/admin_create_project_token_form.png new file mode 100644 index 0000000000..633dc41ea5 Binary files /dev/null and b/website/static/img/admin_create_project_token_form.png differ diff --git a/website/static/img/admin_new_project_api_key_button.png b/website/static/img/admin_new_project_api_key_button.png new file mode 100644 index 0000000000..103ba1187f Binary files /dev/null and b/website/static/img/admin_new_project_api_key_button.png differ diff --git a/website/static/img/configure_project_api.png b/website/static/img/configure_project_api.png new file mode 100644 index 0000000000..93c152a445 Binary files /dev/null and b/website/static/img/configure_project_api.png differ diff --git a/website/static/img/copy_project_token.png b/website/static/img/copy_project_token.png new file mode 100644 index 0000000000..fe95d289bb Binary files /dev/null and b/website/static/img/copy_project_token.png differ