Skip to content

Bulk Create Companies

POST https://api.copper.com/developer_api/v1/companies/bulk_create

BETA Disclaimer ⚠️

Please note that our new bulk create/update APIs (including this one) are still undergoing final testing before their official release. We reserve the right to increase or decrease the maximum request size of these APIs (see the Request Size Limit section). Should you encounter any issues, please let us know so we can diagnose and resolve them. Your help in this regard is greatly appreciated.

Request Size Limit

This is a bulk-create endpoint with a maximum request size of 10. If you sent a request larger than that limit, you will receive a 422 back with response:

{
  "error": "Request size too large, limit is 10"
}

Responses

All valid requests (JSON is formatted correctly on request) will result in a 200 OK. Bulk APIs guarantee the same response object ordering as the request objects meaning you can match each response object up to the request's objects easily.

If an object is created successfully, it will be returned in the response array in the same JSON structure you would expect from the single-create endpoint. The key thing to look for is a present and numeric "id" value.

If an object fails to create, it's response object (within the response array) will look like this:

{
  "success": false,
  "message": {
    "name": [
      {
        "error": "invalid"
      }
    ]
  }
}

Notes

Some other notes about this bulk API: * Company email_domains must be unique so there must be no overlap between email_domains in the system and emails provided in your bulk create request. Otherwise the relevant companies will fail to create. * This endpoint is eligible to return computed custom field values, click here for more information. * Our bulk APIs have an additional rate limit of 3 requests per second. You may receive 429 error responses if you exceed this limit.

Request body

The request body is just an array of single-create JSON Request objects within an array with a key of "companies", as seen below:

{
  "companies": [
    {
      "name": "Demo Company",
      "address": {
        "street": "123 Main Street",
        "city": "Savannah",
        "state": "Georgia",
        "postal_code": "31410",
        "country": "United States"
      },
      "email_domain": "democompany.com",
      "details": "This is a demo company",
      "phone_numbers": [
        {
        "number": "415-123-45678",
        "category": "work"
        }
      ],
      "socials": [],
      "tags": [],
      "websites": [],
      "custom_fields": []
    }
  ]
}

Example Requests

Create company

curl --location --request POST "https://api.copper.com/developer_api/v1/companies/bulk_create" \
  --header "X-PW-AccessToken: YOUR_TOKEN_HERE" \
  --header "X-PW-Application: developer_api" \
  --header "X-PW-UserEmail: YOUR_EMAIL_HERE" \
  --header "Content-Type: application/json" \
  --data '{
    "companies": [
      {
        "name": "Company One",
        "email_domain": "company1.com"
      },
      {
        "name": "Company Two",
        "email_domain": "company2.com"
      }
    ]
  }'
[
  {
    "id": 12345,
    "name": "Company One",
    "address": null,
    "assignee_id": null,
    "contact_type_id": null,
    "details": null,
    "email_domain": "company1.com",
    "phone_numbers": [],
    "primary_contact_id": null,
    "socials": [],
    "tags": [],
    "websites": [],
    "custom_fields": [],
    "interaction_count": 0,
    "date_created": 1496707930,
    "date_modified": 1496707930
  },
    {
    "id": 67890,
    "name": "Company One",
    "address": null,
    "assignee_id": null,
    "contact_type_id": null,
    "details": null,
    "email_domain": "company2.com",
    "phone_numbers": [],
    "primary_contact_id": null,
    "socials": [],
    "tags": [],
    "websites": [],
    "custom_fields": [],
    "interaction_count": 0,
    "date_created": 1496707931,
    "date_modified": 1496707931
  }
]