Skip to content

API tokens#

Codacy provides account and repository-level API tokens that allow you to:

The sections below provide details about the two types of API tokens and instructions on how to generate and revoke them.

Warning

Never write API tokens to your configuration files and keep your API tokens well protected, as they grant owner permissions to your projects on Codacy.

It's a best practice to store API tokens as environment variables. Check the documentation of your CI/CD platform on how to do this.

Generating and revoking account API tokens#

Account API tokens are defined at the Codacy user account level. Each account API token authorizes access to the same organizations, repositories, and operations as the roles and permissions of the owner of the account.

Important

If you're using an account API token to upload coverage be sure to check the roles that your Git provider account must have to authorize uploading coverage to Codacy.

Use a dedicated service account to integrate Codacy with your repositories. This prevents disruption of service if the user who created an account API token loses access to the repositories, which may happen when a user leaves the team or the organization.

You can create new account API tokens programmatically using the Codacy API or using the Codacy UI:

  1. Open your account, tab Access management.

  2. Click the button Create API token under Account API tokens.

  3. Select an expiration date from the modal options. You can select between a range of 7 days to 90 days, create a custom expiration date, or create a token with no expiration.

Creating an account API token

Creating an account API token modal

Tip

You can create multiple account API tokens. This can be useful to have a more flexible control by revoking only a specific token.

When you have tokens created, you can view them inside the tokens table. By hovering a token, you are able to copy its value.

Creating an account API token modal

To delete an account API token, click the trash icon in the Actions column of the table. After this, all applications or services using that token to access the Codacy API will fail to authenticate and will receive the reply {"error":"not found"}.

Generating and revoking repository API tokens#

Repository API tokens are defined on individual repositories. Each repository API token only authorizes access to the corresponding repository — it can't be used to access any other repository or organization data. On API v3, it's further restricted to the operations listed below; on the legacy API v2, a repository API token has full access to that repository's endpoints, with no such restriction.

You can create new repository API tokens programmatically using the Codacy API or using the Codacy UI:

  1. Open your repository Settings, tab Integrations.

  2. Click the button Create API token under Repository API tokens.

    • Optionally give the token a name. Names may contain only letters, numbers, and dashes, up to 100 characters. If you don't set a name, Codacy generates one for you.
    • Select an expiration date for the token. Repository API tokens must always have an expiration date, up to a maximum of one year from creation — there's no option to create a token that never expires.

    Tip

    You can create multiple (up to 100) API tokens per repository. This can be useful to have a more flexible control by revoking only a specific token.

    Creating a repository API token

Note

Repository API tokens created before expiration dates became mandatory keep working without an expiration date — they aren't retroactively required to have one.

When a repository API token expires, requests authenticated with it are rejected with a distinct "token expired" error, so you can tell an expired token apart from one that's invalid or was deleted.

To revoke a repository API token, click the X next to the token. After this, all applications or services using that token to access the Codacy API will fail to authenticate and will receive the reply {"error":"not found"}.

What repository API tokens can do on API v3#

On API v3, a repository API token authorizes only the following operations, and only on the repository it was created for. This restriction doesn't apply to API v2, where a repository API token can access any endpoint for its repository:

For any other endpoint, including creating, listing, or revoking API tokens themselves, use an account API token instead.

See also#

Was this page helpful?

Your feedback helps us improve the documentation.