Company Model: Updating company_id

Hello Intercom developers,

Something in the API 1.4 documentation has just caught our attention:

Note that the company_id field itself cannot be updated through the API.

We are flabbergasted.

This:

curl https://api.intercom.io/users -X POST -d '
{
  "id": "INTERCOM_ID",
  "user_id": "NEW_INTERNAL_USER_ID",
}'

works.

This:

curl https://api.intercom.io/companies -X POST -d '
{
  "id": "INTERCOM_ID",
  "company_id": "NEW_INTERNAL_COMPANY_ID",
}'

does not.

We do not understand the discrepancy between two otherwise extremely similar endpoints.

1/ Do you have any plan to support that?
2/ Do you have an alternative solution to update Company resources’ company_id property? The documentation mentions “cannot be updated through the API”, so does that mean some other way exists? We looked it up, and CSV imports only allow User resources too. So what else is there?

Thanks in advance for your reply.
Anthony.

Um, do you have any input on this? :thinking:

Thanks in advance.

Hey Antoine, welcome to the forum!

Per our resources, companies are looked up via company_id , if not found via company_id , the new company will be created, if found, that company will be updated.

Since we look up a company based on the company_id, we need it to be constant. We’ve seen this requested before and I’ll make sure to give this a +1 with our Product Team on your behalf.

There aren’t any methods (CSV, API, UI) at the moment to workaround this, but something you could do is remove all users associated with a company and that would remove it from the UI, but then all the data would be not be visible either.

From there you would need to pull all the company data out - custom attributes, etc. and recreate those in a new company. The drawback here is that attributes like web sessions would be lost.

Definitely flagging this for our team as something you’d like to see be available via the API however - keep an eye on our Product Changes page for more updates in this space!

Hello Andrew,

Thank you for your reply.

Please ask your team to provide a similar behavior as for Users, which are looked up via user_id, but also id, which even takes precedence, allowing to edit the user_id.

Thanks in advance,
Antoine.