# Subscription Types Everything about subscription types ## List subscriptions for 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 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. ## Add subscription to a contact - [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 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/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/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. ## Add subscription to a contact - [POST /contacts/{contact_id}/subscriptions](https://developers.intercom.com/docs/references/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/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/rest-api/api.intercom.io/subscription-types/listsubscriptiontypes.md): You can list all subscription types. A list of subscription type objects will be returned.