# Custom Object Instances

Everything about your Custom Object instances.
{% admonition type="warning" name="Permission Requirements" %}
  From now on, to access this endpoint, you need additional permissions. Please head over to the [Developer Hub](https://app.intercom.com/a/apps/_/developer-hub) app package authentication settings to configure the required permissions.
{% /admonition %}


## Update a contact

 - [PUT /contacts/{contact_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/updatecontact.md): You can update an existing contact (ie. user or lead).

{% admonition type="info" %}
  This endpoint handles both contact updates and custom object associations.

  See _update a contact with an association to a custom object instance_ in the request/response examples to see the custom object association format.
{% /admonition %}

## Update a conversation

 - [PUT /conversations/{conversation_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/conversations/updateconversation.md): You can update an existing conversation.

{% admonition type="info" name="Replying and other actions" %}
If you want to reply to a coveration or take an action such as assign, unassign, open, close or snooze, take a look at the reply and manage endpoints.
{% /admonition %}

{% admonition type="info" %}
  This endpoint handles both conversation updates and custom object associations.

  See _update a conversation with an association to a custom object instance_ in the request/response examples to see the custom object association format.
{% /admonition %}

## Update a contact

 - [PUT /contacts/{contact_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/updatecontact.md): You can update an existing contact (ie. user or lead).

{% admonition type="info" %}
  This endpoint handles both contact updates and custom object associations.

  See _update a contact with an association to a custom object instance_ in the request/response examples to see the custom object association format.
{% /admonition %}

## Update a conversation

 - [PUT /conversations/{conversation_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/updateconversation.md): You can update an existing conversation.

{% admonition type="info" name="Replying and other actions" %}
If you want to reply to a coveration or take an action such as assign, unassign, open, close or snooze, take a look at the reply and manage endpoints.
{% /admonition %}

{% admonition type="info" %}
  This endpoint handles both conversation updates and custom object associations.

  See _update a conversation with an association to a custom object instance_ in the request/response examples to see the custom object association format.
{% /admonition %}

## Create or Update a Custom Object Instance

 - [POST /custom_object_instances/{custom_object_type_identifier}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/createcustomobjectinstances.md): Create or update a custom object instance

## Get Custom Object Instance by External ID

 - [GET /custom_object_instances/{custom_object_type_identifier}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/getcustomobjectinstancesbyexternalid.md): Fetch a Custom Object Instance by external_id.

## Delete a Custom Object Instance by External ID

 - [DELETE /custom_object_instances/{custom_object_type_identifier}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/deletecustomobjectinstancesbyid.md): Delete a single Custom Object instance by external_id.

## Get Custom Object Instance by ID

 - [GET /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/getcustomobjectinstancesbyid.md): Fetch a Custom Object Instance by id.

## Delete a Custom Object Instance by ID

 - [DELETE /custom_object_instances/{custom_object_type_identifier}/{custom_object_instance_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/custom-object-instances/deletecustomobjectinstancesbyexternalid.md): Delete a single Custom Object instance using the Intercom defined id.

