# Contacts

Everything about your contacts

 - [GET /companies/{company_id}/contacts](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listattachedcontacts.md): You can fetch a list of all contacts that belong to a company.
 - [POST /contacts/{contact_id}/companies](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/attachcontacttoacompany.md): You can attach a company to a single contact.
 - [GET /contacts/{contact_id}/companies](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listcompaniesforacontact.md): You can fetch a list of companies that are associated to a contact.
 - [DELETE /contacts/{contact_id}/companies/{company_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/detachcontactfromacompany.md): You can detach a company from a single contact.
 - [GET /contacts/{contact_id}/notes](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listnotes.md): You can fetch a list of notes that are associated to a contact.
 - [POST /contacts/{contact_id}/notes](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/createnote.md): You can add a note to a single contact.
 - [GET /contacts/{contact_id}/segments](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listsegmentsforacontact.md): You can fetch a list of segments that are associated to a contact.
 - [GET /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listsubscriptionsforacontact.md): You can fetch a list of subscription types that are attached to a contact. These can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. This wi
 - [POST /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/attachsubscriptiontypetocontact.md): You can add a specific subscription to a contact. In Intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.Attaching a contact to an opt-out subscription
 - [DELETE /contacts/{contact_id}/subscriptions/{subscription_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/detachsubscriptiontypetocontact.md): You can remove a specific subscription from a contact. This will return a subscription type model for the subscription type that was removed from the contact.
 - [GET /contacts/{contact_id}/tags](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listtagsforacontact.md): You can fetch a list of all tags that are attached to a specific contact.
 - [POST /contacts/{contact_id}/tags](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/attachtagtocontact.md): You can tag a specific contact. This will return a tag object for the tag that was added to the contact.
 - [DELETE /contacts/{contact_id}/tags/{tag_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/detachtagfromcontact.md): You can remove tag from a specific contact. This will return a tag object for the tag that was removed from the 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). This endpoint handles both **contact updates** and **custom object associations**. See *`update a contact with an association to a custom object
 - [GET /contacts/{contact_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/showcontact.md): You can fetch the details of a single contact. If a contact has been merged into another contact via the Merge endpoint (`POST /contacts/merge`), requesting it by its original ID will return **HTTP 41
 - [DELETE /contacts/{contact_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/deletecontact.md): You can delete a single contact.
 - [POST /contacts/merge](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/mergecontact.md): You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`. Once a merge is completed, the source contact (`from`) is permanently removed from the active contact list. This
 - [POST /contacts/search](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/searchcontacts.md): You can search for multiple contacts by the value of their attributes in order to fetch exactly who you want. To search for contacts, you need to send a `POST` request to `https://api.intercom.io/cont
 - [GET /contacts](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listcontacts.md): You can fetch a list of all contacts (ie. users or leads) in your workspace. Contacts that have been merged (via POST /contacts/merge) will not appear in list results. Only the target contact from the
 - [POST /contacts](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/createcontact.md): You can create a new contact (ie. user or lead).
 - [GET /contacts/find_by_external_id/{external_id}](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/showcontactbyexternalid.md): You can fetch the details of a single contact by external ID. Note that this endpoint only supports users and not leads. If the contact with this external ID has been merged into another contact, the
 - [POST /contacts/{contact_id}/archive](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/archivecontact.md): You can archive a single contact.
 - [POST /contacts/{contact_id}/unarchive](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/unarchivecontact.md): You can unarchive a single contact.
 - [GET /contacts/{id}/banners](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listcontactbanners.md): Returns the banners a contact currently matches, so you can display them on surfaces outside the Messenger (native mobile apps, kiosks, embedded tools). Each banner in the response includes a `view_id
 - [POST /contacts/{id}/banners/{view_id}/dismiss](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/dismisscontactbanner.md): Records that a contact has dismissed a banner. Dismissals are shared across surfaces, so a banner dismissed through this endpoint will also stop appearing in the web Messenger for that contact, and vi
 - [POST /contacts/{contact_id}/block](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/blockcontact.md): Block a single contact.<br>**Note:** conversations of the contact will also be archived during the process.<br>More details in [FAQ How do I block Inbox spam?](https://www.intercom.com/help/en/article
 - [GET /contacts/{id}/merge_history](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/listcontactmergehistory.md): Retrieve the paginated list of contacts that have been merged into a given contact. Only available for contacts with a `user` role. Returns a `404` if the contact is not found or has a `lead` role.
 - [Contact](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/contact.md): Schema: #/components/schemas/contact
