# List subscriptions for a contact

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.

Endpoint: GET /contacts/{contact_id}/subscriptions
Version: Preview
Security: bearerAuth

## Path parameters:

  - `contact_id` (string, required)
    The unique identifier for the contact which is given by Intercom
    Example: "63a07ddf05a32042dffac965"

## Header parameters:

  - `Intercom-Version` (string)
    Intercom API version.By default, it's equal to the version set in the app package.
    Enum: "1.0", "1.1", "1.2", "1.3", "1.4", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "Preview"

## Response 200 fields (application/json):

  - `type` (string)
    The type of the object
    Enum: "list"

  - `data` (array)
    A list of subscription type objects associated with the workspace .

  - `data.type` (string)
    The type of the object - subscription
    Example: "subscription"

  - `data.id` (string)
    The unique identifier representing the subscription type.
    Example: "123456"

  - `data.state` (string)
    The state of the subscription type.
    Enum: "live", "draft", "archived"

  - `data.default_translation` (object)
    A translation object contains the localised details of a subscription type.

  - `data.default_translation.name` (string)
    The localised name of the subscription type.
    Example: "Announcements"

  - `data.default_translation.description` (string)
    The localised description of the subscription type.
    Example: "Offers, product and feature announcements"

  - `data.default_translation.locale` (string)
    The two character identifier for the language of the translation object.
    Example: "en"

  - `data.translations` (array)
    An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.

  - `data.consent_type` (string)
    Describes the type of consent.
    Enum: "opt_out", "opt_in"

  - `data.content_types` (array)
    The message types that this subscription supports - can contain email or sms_message.
    Enum: "email", "sms_message"

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: "error.list"

  - `request_id` (string,null)
    Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85"

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: "unauthorized"

  - `errors.message` (string,null)
    Optional. Human readable description of the error.
    Example: "Access Token Invalid"

  - `errors.field` (string,null)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: "email"


