Skip to main content

Copper CRM API Endpoints

The Copper CRM Developer API endpoints the iPaaS.com integration calls, grouped by entity — for firewall whitelisting, troubleshooting and deprecation checks.

This article lists every Copper CRM Developer API endpoint the iPaaS.com integration calls, grouped by entity. Use it for firewall whitelisting, troubleshooting, and checking whether a Copper CRM API change affects the integration.

API Endpoints Introduction

Copper CRM provides a REST API. Every endpoint the integration calls is served under a single base URL:

[Base URL] = https://api.copper.com

All endpoints sit under the /developer_api/v1 path. There is no separate sandbox host; the same base URL is used for all environments. (Copper's API was previously served from api.prosperworks.com; the current host is api.copper.com.)

Throughout this article, [Base URL] stands for https://api.copper.com.

Authentication

The integration authenticates to Copper CRM in one of two ways, using the credentials entered on the iPaaS.com subscription:

  • API Key: the API Key and API Email are sent with each request as the X-PW-AccessToken and X-PW-UserEmail headers. This is the method required to subscribe to Copper CRM webhooks.

  • OAuth 2.0: an access token obtained through the OAuth flow is sent as a Bearer token in the Authorization header. See Authorization Endpoint below.

See the Copper CRM Connections and Settings article for how to obtain and enter these credentials.

Table of Contents

  • People Endpoints

  • Companies Endpoints

  • Activities Endpoints

  • Custom Fields Endpoints

  • Webhooks Endpoints

People Endpoints

Get a Person by Id (GET)

[Base URL]/developer_api/v1/people/{PeopleId}

Retrieves a Copper CRM person, including its address, during a transfer to iPaaS.com.

Find a Person by Email (POST)

[Base URL]/developer_api/v1/people/fetch_by_email

Looks up a Copper CRM person by email address. Used to attach transactions to the right person and to prevent duplicate people.

Create a Person (POST)

[Base URL]/developer_api/v1/people

Creates a new Copper CRM person from an iPaaS.com Customer.

Update a Person (PUT)

[Base URL]/developer_api/v1/people/{PeopleId}

Updates an existing Copper CRM person from an iPaaS.com Customer.

Delete a Person (DELETE)

[Base URL]/developer_api/v1/people/{PeopleId}

Removes a Copper CRM person when a delete is transferred from iPaaS.com.

Associate a Company with a Person (POST)

[Base URL]/developer_api/v1/people/{PeopleId}/related

Links a Copper CRM person to a company as part of writing the person.

Remove a Company from a Person (DELETE)

[Base URL]/developer_api/v1/people/{PeopleId}/related

Removes the company link from a Copper CRM person when the association changes.

Companies Endpoints

Search Companies by Name (POST)

[Base URL]/developer_api/v1/companies/search

Finds a Copper CRM company by name so a person can be linked to it.

Create a Company (POST)

[Base URL]/developer_api/v1/companies

Creates a Copper CRM company when needed as part of linking a person to a company.

Activities Endpoints

Get an Activity by Id (GET)

[Base URL]/developer_api/v1/activities/{ActivityId}

Retrieves an existing Copper CRM activity.

Create an Activity (POST)

[Base URL]/developer_api/v1/activities

Creates a Copper CRM activity from an iPaaS.com Transaction.

Update an Activity (PUT)

[Base URL]/developer_api/v1/activities/{ActivityId}

Updates the Copper CRM activity for a transaction that has already been transferred.

Delete an Activity (DELETE)

[Base URL]/developer_api/v1/activities/{ActivityId}

Removes a Copper CRM activity when a delete is transferred from iPaaS.com.

Get All Activity Types (GET)

[Base URL]/developer_api/v1/activity_types

Lists the activity types configured in Copper CRM so the activity-type name in the mapping can be resolved to its identifier.

Custom Fields Endpoints

Get Custom Field Definitions (GET)

[Base URL]/developer_api/v1/custom_field_definitions

Lists the custom field definitions in Copper CRM so custom field values can be matched by name.

Webhooks Endpoints

Get All Webhooks (GET)

[Base URL]/developer_api/v1/webhooks

Lists the webhook subscriptions registered in Copper CRM.

Get a Webhook by Id (GET)

[Base URL]/developer_api/v1/webhooks/{WebhookId}

Retrieves a single Copper CRM webhook subscription.

Create a Webhook (POST)

[Base URL]/developer_api/v1/webhooks

Registers a webhook subscription so Copper CRM notifies iPaaS.com when People change.

Update a Webhook (PUT)

[Base URL]/developer_api/v1/webhooks/{WebhookId}

Updates an existing Copper CRM webhook subscription.

Delete a Webhook (DELETE)

[Base URL]/developer_api/v1/webhooks/{WebhookId}

Removes a Copper CRM webhook subscription.

Authorization Endpoint

OAuth 2.0 access tokens are obtained from Copper CRM's token endpoint, which is on a different host from the API base URL:

POST https://app.copper.com/oauth/token

The integration exchanges the authorization code for an access token at this endpoint during the OAuth flow. The token is then sent as a Bearer token on subsequent API requests.

Pagination

Copper CRM returns search results — such as the company search above — in pages. The page number and page size are supplied in the request body. See the Copper CRM Developer API documentation for the exact search-pagination parameters.

Rate Limits and Concurrency

Copper CRM limits API traffic to 180 requests per minute on a rolling window, and returns HTTP 429 when the limit is exceeded (Copper CRM Developer API documentation, checked at the time this documentation was written). Set the subscription's API Throttle Limit, API Throttle Seconds, Concurrent Connections and Concurrent Batch Executions so the integration stays within this limit; see Copper CRM Connections and Settings.

Related Documents

External References

Did this answer your question?