# Copper — CRM API: connection

> Canonical URL: https://developers.apideck.com/apis/crm/copper/connection

# How to Connect to Copper

This guide walks you through generating an API key in Copper and entering it in Vault, together with your email address and a default status for new opportunities.

- [Before you start](#before-you-start)
- [How to generate your API key](#how-to-generate-your-api-key)
- [Vault connection setup](#vault-connection-setup)
- [Authentication method](#authentication-method)
- [Permissions and key ownership](#permissions-and-key-ownership)
- [Revoking an API key](#revoking-an-api-key)
- [Troubleshooting](#troubleshooting)

## Before you start

- You need a Copper account on a plan that includes API access.
- You need to be a Copper **Admin**. Copper states that only Admin users can generate API keys. If you are not an Admin, ask one of your Copper Admins to generate the key, or to give you the Admin role.
- Decide whose account the key belongs to before you generate it. The key is entered together with that user's email address, and the connection sees what that user is allowed to see. See [Permissions and key ownership](#permissions-and-key-ownership).

## How to generate your API key

1. Sign in to Copper as an Admin user.

2. Go to **Settings** > **Integrations** > **API Keys**. Copper's developer documentation calls the same page **System settings** > **API Keys**. Both describe it in [Generating an API key](https://support.copper.com/en/articles/8823347-generating-an-api-key) and [Copper Developer API: authentication](https://developer.copper.com/introduction/authentication.html).

3. Click **Generate API Key**.

4. Optionally give the key a label that will help you recognise it later, for example "Apideck Integration".

5. Copy the key and store it somewhere secure. Anyone holding it can reach your Copper data through the API.

6. Note the email address of the user who generated the key. It is shown in the **Creator** column next to the key. You need this exact email address in Vault.

## Vault connection setup

Enter the following in Vault:

- **Email**: the email address of the user who generated the API key (the address in the **Creator** column).
- **API Key**: the key you generated in Copper.

Vault also asks for one required setting for opportunities:

- **Status**: the default status given to new opportunities. Choose one of **Open**, **Won**, **Lost** or **Abandoned**. Choose **Open** if new opportunities should start as active deals.

Click **Save** to complete the connection.

## Authentication method

Copper uses API key authentication. When you connect through Vault, your key and email address are sent as request headers on every call, as described in [Copper Developer API: requests and rate limits](https://developer.copper.com/introduction/requests.html):

```
X-PW-AccessToken: your-api-key
X-PW-Application: developer_api
X-PW-UserEmail: your-email-address
```

API keys carry no scopes. What the connection can read and write follows the key owner's permissions in Copper.

## Permissions and key ownership

Copper's API respects Team Permissions, so the connection can only reach the records the key owner can reach. Copper's [best practices](https://developer.copper.com/introduction/best_practices.html) make two recommendations that follow from this:

- Use the API key of an Admin user, because Admins have unrestricted data access.
- If the integration creates records, consider a separate, non-personal integration user in Copper. Records created through the API are then owned by that user, which makes them easy to recognise and filter.

## Revoking an API key

To revoke a key:

1. Go to **Settings** > **Integrations** > **API Keys** in Copper.
2. Find the key you want to revoke.
3. Click the trash can icon next to it.

Deleting a key revokes its access. If the key you deleted was the one in use, generate a new key and update the Vault connection with it.

## Troubleshooting

**Requests fail with an authentication error.** Check that the **Email** field holds the email address of the user who generated the key, not the address of the person setting up the connection. Also check that the key was copied in full and has not been deleted in Copper. If in doubt, generate a new key and update both fields in Vault.

**You cannot find the API Keys page.** Only Admin users can generate API keys. Ask a Copper Admin to generate the key for you, or to grant you the Admin role.

**Some records are missing.** The connection only sees what the key owner can see under Copper's Team Permissions. Use a key generated by an Admin user to reach all records.

**Requests are rejected with HTTP 429.** Copper limits how many API calls can be made per minute. Requests succeed again once the rolling window has passed; see [Copper Developer API: requests and rate limits](https://developer.copper.com/introduction/requests.html).

If something is still not working, contact [Apideck Support](https://help.apideck.com/en/articles/7774658).


[API reference](https://developers.apideck.com/apis/crm/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/crm/coverage)
