API Keys

API keys authenticate programmatic access to Chainlink Platform products, such as the CRE CLI, the ACE APIs, and the CRE Connect API. This page describes how API key permissions work, which permissions are available for each product, and how to create and manage API keys.

How API keys work

An API key is an organization-level credential. When you create an API key, you select the permissions the key has, and the key can act only within those permissions.

  • A single API key can include permissions for multiple products. For example, one key can deploy CRE workflows and read ACE reports.
  • API key permissions are a subset of all permissions. Some permissions, such as managing members or billing, are available only to organization members through their roles.
  • An API key can act only within the permissions you select for it.
  • You can give an API key only permissions that your own roles include. When you edit a key, you can keep permissions it already has even if your roles don't include them.

To create and manage API keys, you need a role that includes API key permissions, such as Platform User, Platform Admin, or Owner. See RBAC for the full list of roles.

Available permissions

The following tables list the permissions you can assign to an API key for each product, grouped the same way as the API Scope section of the creation form. Role columns show which member roles include each permission, so you can match a key's access to a role. A check mark indicates that the role includes the permission. The Owner role includes every permission for every product. For what each role is for, and for the permissions available only to members, see RBAC.

PermissionDescriptionAdminUser
platform:organization:readView organization information.✓✓
platform:owner_address:readView the organization's addresses in the address book.✓✓

CRE

PermissionDescriptionAdminDeveloperViewer
cre:workflow:readView workflows.✓✓✓
cre:workflow:artifact:readDownload workflow artifacts.✓✓✓
cre:workflow:artifact:writeUpload workflow artifacts, which is required to deploy a workflow.✓✓
cre:workflow:write/private_registryDeploy, pause, activate, and delete workflows in the private registry.✓✓
platform:owner_address:linking:write/creLink and unlink workflow owner addresses, which is required to deploy workflows to the onchain registry.✓

ACE

Policy manager

PermissionDescriptionAdminOperatorViewer
ace:policy_manager:policy_engine:readRead policy engines.✓✓✓
ace:policy_manager:policy_engine:writeCreate and update policy engine.✓✓
ace:policy_manager:policy_engine:archive:writeArchive policy engine (affects everything deployed under it).✓
ace:policy_manager:policy:readRead policies and data validator instances.✓✓✓
ace:policy_manager:policy:writeCreate and update policy and data validator instances.✓✓
ace:policy_manager:policy:archive:writeArchive policy and data validator instances.✓✓
ace:policy_manager:target:readRead targets and their protections.✓✓✓
ace:policy_manager:target:writeCreate and update target and its protections.✓✓
ace:policy_manager:target:archive:writeArchive target and its protections.✓✓
ace:policy_manager:target_access:readRead a target's cross-org evaluation access grants.✓
ace:policy_manager:target_access:writeGrant and revoke cross-org evaluation access to a target.✓
ace:policy_manager:implementation:readRead extractors and policy types.✓✓✓
ace:policy_manager:implementation:writeCreate and update extractor or policy type (updates affect every instance built on it).✓✓
ace:policy_manager:implementation:archive:writeArchive extractor or policy type (affects every instance built on it).✓

Identity manager

PermissionDescriptionAdminOperatorViewer
ace:identity_manager:registry:readRead identity and credential registries, and credential types.✓✓✓
ace:identity_manager:registry:writeCreate and update identity or credential registry, and credential types.✓✓
ace:identity_manager:registry:archive:writeArchive identity or credential registry (affects everything deployed under it).✓
ace:identity_manager:registry_access:readRead a registry's cross-org access grants.✓
ace:identity_manager:registry_access:writeGrant and revoke cross-org read access to a registry.✓
ace:identity_manager:identity:readRead identities and credentials.✓✓✓
ace:identity_manager:identity:writeCreate and update identity, and assign credentials.✓✓
ace:identity_manager:identity:archive:writeArchive identity and credentials.✓✓

Reporting

PermissionDescriptionAdminOperatorViewer
ace:reporting:policy:readRead the reporting service's policy view.✓✓✓
ace:reporting:identity:readRead the reporting service's identity view.✓✓✓
ace:reporting:target:readRead the reporting service's target view.✓✓✓
ace:reporting:transaction:readRead the reporting service's transaction view.✓✓✓
ace:reporting:permit:readRead the reporting service's permit view.✓✓✓
ace:reporting:registry:readRead the reporting service's registry usage view.✓✓✓

Evaluation

PermissionDescriptionAdminOperatorViewer
ace:evaluation:permit:readRead evaluation permits.✓✓✓
ace:evaluation:permit:writeCreate evaluation permit.✓✓

Core

PermissionDescriptionAdminOperatorViewer
ace:core:org_config:readRead organization details.✓✓✓
ace:core:network:readRead supported networks.✓✓✓
ace:core:wallet:readRead wallets.✓✓✓
ace:core:wallet:writeCreate wallet.✓

Active monitoring

PermissionDescriptionAdminOperatorViewer
ace:active_monitoring:action_variable:readRead action variables.✓✓✓
ace:active_monitoring:contract_group:readRead contract groups.✓✓✓
ace:active_monitoring:contract_group:writeCreate contract groups.✓✓
ace:active_monitoring:rule_group:readRead rule groups.✓✓✓
ace:active_monitoring:rule_group:writeCreate and update rule groups.✓✓
ace:active_monitoring:monitored_address:readRead monitored addresses.✓✓✓
ace:active_monitoring:monitored_address:writeAdd addresses to the screening watch list.✓✓
ace:active_monitoring:screening_interval:readRead the screening interval.✓✓✓
ace:active_monitoring:screening_interval:writeSet, remove, start and stop the screening interval.✓✓
ace:active_monitoring:decision_log:readRead decision logs.✓✓✓
ace:active_monitoring:decision_log:writeDismiss and enforce decision logs.✓✓
ace:active_monitoring:provider_api_key:readRead screening-provider API key metadata.✓✓✓
ace:active_monitoring:provider_api_key:writeSet and remove screening-provider API keys.✓✓

Administration

PermissionDescriptionAdminOperatorViewer
platform:member_role:write/aceChange members' ACE roles.✓

CRE Connect

Core

PermissionDescriptionAdminOperatorViewer
crec:network:readRead available blockchain networks.✓✓✓
crec:wallet:readRead wallets.✓✓✓
crec:wallet:writeCreate or update wallet.✓✓
crec:wallet:archive:writeArchive wallet.✓

Operations

PermissionDescriptionAdminOperatorViewer
crec:operation:readRead operations and search by initiator/signer/canceller.✓✓✓
crec:operation:writeCreate operation (draft or pre-signed).✓✓
crec:operation:signature:writeSign (finalize) or cancel operation.✓✓

Channels

PermissionDescriptionAdminOperatorViewer
crec:channel:readRead channels.✓✓✓
crec:channel:writeCreate or update channel.✓✓
crec:channel:archive:writeArchive channel.✓

Watchers

PermissionDescriptionAdminOperatorViewer
crec:watcher:readRead watchers.✓✓✓
crec:watcher:writeCreate or update watcher.✓✓
crec:watcher:archive:writeArchive watcher.✓

Queries

PermissionDescriptionAdminOperatorViewer
crec:query:readRead queries.✓✓✓
crec:query:writeCreate query.✓✓

Events

PermissionDescriptionAdminOperatorViewer
crec:event:readRead events, run history, and search events.✓✓✓

Administration

PermissionDescriptionAdminOperatorViewer
platform:member_role:write/crecChange members' CRE Connect roles.✓

Data Streams

API keys cannot be scoped to Data Streams. Data Streams uses its own authentication with credentials managed in the Data Streams portal. See Data Streams API Authentication.

Creating an API key

To create an API key:

  1. Sign in to app.chain.link.
  2. Click your account's icon in the top-right corner, then click Org settings in the dropdown to open the Organization page.
  3. Click to open the API Keys tab and click Create API Key.
  4. Enter a name for the key.
  5. In the API Scope section, select the permissions for the key:
    • Each product (Platform, ACE, CRE, and CRE Connect) has its own expandable section. Expand the products the key needs access to.
    • Each product has a preset: None, Read, All, or Custom. Read grants the product's read permissions, All grants every permission available for that product, and Custom is applied automatically when you change any individual permission. The Chainlink Platform section offers only None, Read, and Custom.
    • To grant individual permissions instead of a preset, set each permission group to None, Read, or All. Some groups offer only a subset of these options.
  6. Click Create API Key, then copy the key and click Done.

Managing API keys

The API Keys tab on the Organization page lists your organization's API keys with their name, key ID, author, product access, creation date, and status. Use the Status and Product access filters or the search field to find specific keys.

Click a key's name to open its edit panel. The Scopes tab shows the same permission selection as the creation form: change the presets or individual permissions, then click Save changes. The Actions tab lists the operations you can perform on the key:

  • Rename API Key: changes the key's name. The new name is visible to all organization members.
  • Rotate Key: generates a new value for the same key. Use this when a key's value may have been exposed.
  • Delete API: permanently deletes the API key and its value.

API key security

  • Never share your API keys. Each member should use keys with only the permissions they need.
  • If a key's value may have been exposed, rotate the key from its Actions tab.
  • Review your organization's API keys regularly and delete keys that are no longer needed.

What's next?

Get the latest Chainlink content straight to your inbox.