# Subscription Types

Everything about subscription types

## List subscriptions for a contact

 - [GET /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/preview/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 will return a list of Subscription Type objects that the contact is associated with.

The data property will show a combined list of:

  1.Opt-out subscription types that the user has opted-out from.
  2.Opt-in subscription types that the user has opted-in to receiving.

Note: This endpoint only returns subscriptions where the contact has explicitly configured their preference. Subscriptions that are in the default state — where the contact has not made an explicit opt-in or opt-out choice — are not included in the response.

## Add subscription to a contact

 - [POST /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/preview/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 type will opt that user out from receiving messages related to that subscription type.

  2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type.

This will return a subscription type model for the subscription type that was added to the contact.

## Remove subscription from a contact

 - [DELETE /contacts/{contact_id}/subscriptions/{id}](https://developers.intercom.com/docs/references/preview/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.

## List subscriptions for a contact

 - [GET /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/preview/rest-api/api.intercom.io/subscription-types/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 will return a list of Subscription Type objects that the contact is associated with.

The data property will show a combined list of:

  1.Opt-out subscription types that the user has opted-out from.
  2.Opt-in subscription types that the user has opted-in to receiving.

Note: This endpoint only returns subscriptions where the contact has explicitly configured their preference. Subscriptions that are in the default state — where the contact has not made an explicit opt-in or opt-out choice — are not included in the response.

## Add subscription to a contact

 - [POST /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/preview/rest-api/api.intercom.io/subscription-types/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 type will opt that user out from receiving messages related to that subscription type.

  2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type.

This will return a subscription type model for the subscription type that was added to the contact.

## Remove subscription from a contact

 - [DELETE /contacts/{contact_id}/subscriptions/{id}](https://developers.intercom.com/docs/references/preview/rest-api/api.intercom.io/subscription-types/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.

## List subscription types

 - [GET /subscription_types](https://developers.intercom.com/docs/references/preview/rest-api/api.intercom.io/subscription-types/listsubscriptiontypes.md): You can list all subscription types. A list of subscription type objects will be returned.

