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-AccessTokenandX-PW-UserEmailheaders. 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
Bearertoken in theAuthorizationheader. 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}/relatedLinks 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}/relatedRemoves 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
