---
schema_version: "1"
id: f039069720f76e0041c5fe8eafb87146787c5ec20209e377fafdd8e57afc05dd
title: Consents
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/commerce-api/references/generated-api-specs/consents.md
canonical_url: https://developer.salesforce.com/docs/commerce/commerce-api/references/consents
source_site: developer.salesforce.com
content_type: documentation
content_hash: 68c016debb469d3582cf839aef56d63c2ba408523a303c85bd8e88ee610266ed
products:
  - B2C Commerce API
  - Salesforce APIs
---
Consents

# Consents

[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/consents/consents-oas-v1-public.yaml)

## API Overview

Use the Consents Admin API to manage customer consent subscription preferences for marketing communications across multiple channels. This API provides complete CRUD (Create, Read, Update, Delete) operations for subscription management, with support for rich text markup in subscription titles and subtitles.

### Authentication & Authorization

For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request.

You must include one of the following OAuth scopes in the client ID used to generate the token:

*   `sfcc.consents`: Required for reading subscription data (GET operations)
*   `sfcc.consents.rw`: Required for creating, updating, and deleting subscription data (POST, PUT, PATCH, DELETE operations)

For a full list of permissions, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)

For detailed setup instructions, see the [Authorization for Admin APIs guide.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)

### Data Model

#### Subscriptions

Subscriptions represent a customer's consent to receive specific types of marketing communications. Each subscription includes:

*   Identifier:
    *   `subscriptionId`: Descriptive identifier following kebab-case format (1-255 characters, pattern: `^[a-z0-9]+(?:-[a-z0-9]+)*$`)
    *   `siteId`: Commerce Cloud site identifier for multi-site organizations
*   Display Information: Rich text content with localization and HTML markup support
    *   `title`: Localized subscription titles with markup support (required for creation)
    *   `subtitle`: Optional localized subscription subtitles with markup support
*   Consent Configuration:
    *   `channels`: Array of supported communication methods (required, 1-10 items)
    *   `tags`: Configurable filter tags for subscription categorization (0-10 items, defaults to empty array)
    *   `consentType`: Type classification (`marketing` or `legal`, defaults to `marketing`)
    *   `consentRequired`: Whether the subscription is mandatory (defaults to `false`)
    *   `defaultStatus`: Default consent state (`opt_in` or `opt_out`, defaults to `opt_out`)
    *   `enabled`: Whether the subscription is currently active (defaults to `true`) - defined as reusable `Enabled` schema component
*   System Integration:
    *   `umaSubscriptionId`: Salesforce UMA CommSubscription object ID (15-18 characters)

#### Channels

Channels define the communication methods available for a subscription:

*   `email`: Email communications
*   `sms`: SMS/text messages
*   `whatsapp`: WhatsApp

#### Tags

Tags can be used to filter the subscriptions for various uses. Provided tags include:

*   `homepage_banner`: Main website homepage
*   `registration`: Customer registration process
*   `checkout`: During the checkout process
*   `user_profile`: User profile management area

### Response Details

#### Timeouts

Admin API requests must respond within 60 seconds. If a response exceeds this threshold, an HTTP 504 status code is returned. For details, see [Timeouts and Limits.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/timeouts-limits.html)

#### Error Handling

Error responses follow the [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) problem detail format. To trace errors, include a `correlation-id` header in your request — the response returns it as `x-correlation-id`. For details, see [HTTP Status Codes and Errors.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/error-response-codes.html)

**Version:** 1.1.5

## Servers

*   `https://{shortCode}.api.commercecloud.salesforce.com/shopper/consents/v1`
    *   `shortCode (default shortCode) An eight-character string assigned to a realm for routing purposes. See [Base URL and Request Formation.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html)`

## Security

*   `AmOAuth2` (oauth2) AccountManager OAuth 2.0 bearer token Authentication.
    *   OAuth flow clientCredentials (tokenUrl: https://account.demandware.com/dwsso/oauth2/access\_token)
    *   Scope sfcc.consents: Consents READONLY
    *   Scope sfcc.consents.rw: Consents
    *   OAuth flow authorizationCode (authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize, tokenUrl: https://account.demandware.com/dwsso/oauth2/access\_token, refreshUrl: https://account.demandware.com/dwsso/oauth2/access\_token)

## Operations

### GET Get all subscriptions

`GET /organizations/{organizationId}/subscriptions`

Operation ID: `getSubscriptions`. Security: AmOAuth2 (sfcc.consents).

Retrieve all current subscriptions for the specified organization and site.

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f\_ecom\_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    
*   `siteId` (query, SiteId, required) The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.
    
    _Example: SiteId_
    
    ```
    RefArch
    ```
    

#### Responses

*   **200** Successfully retrieved subscriptions.
    
    Media type: `application/json`. Schema: `SubscriptionsResponse`.
    
    _Example: GetSubscriptionsResponse_ Example response for getting all subscriptions for a specific site (RefArch)
    
    ```
    {
      "data": [
        {
          "subscriptionId": "weekly-newsletter",
          "siteId": "RefArch",
          "title": {
            "default": {
              "markup": "Weekly <strong>Newsletter</strong>",
              "source": "Weekly <strong>Newsletter</strong>"
            },
            "fr-FR": {
              "markup": "Bulletin <strong>Hebdomadaire</strong>",
              "source": "Bulletin <strong>Hebdomadaire</strong>"
            }
          },
          "subtitle": {
            "default": {
              "markup": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>",
              "source": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>"
            },
            "fr-FR": {
              "markup": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>",
              "source": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>"
            }
          },
          "tags": [
            "homepage_banner",
            "user_profile"
          ],
          "channels": [
            "email",
            "whatsapp"
          ],
          "umaSubscriptionId": "0Xl000000000000000",
          "consentType": "marketing",
          "consentRequired": false,
          "defaultStatus": "opt_out",
          "enabled": true
        },
        {
          "subscriptionId": "promotional-offers",
          "siteId": "RefArch",
          "title": {
            "default": {
              "markup": "Promotional <em>Offers</em>",
              "source": "Promotional <em>Offers</em>"
            },
            "fr-FR": {
              "markup": "Offres <em>Promotionnelles</em>",
              "source": "Offres <em>Promotionnelles</em>"
            }
          },
          "subtitle": {
            "default": {
              "markup": "Receive special promotional offers - <a href=\"https://example.com/offers\">View Offers</a>",
              "source": "Receive special promotional offers - <a href=\"https://example.com/offers\">View Offers</a>"
            },
            "fr-FR": {
              "markup": "Recevez des offres promotionnelles spéciales - <a href=\"https://example.com/offers\">Voir les offres</a>",
              "source": "Recevez des offres promotionnelles spéciales - <a href=\"https://example.com/offers\">Voir les offres</a>"
            }
          },
          "tags": [
            "checkout"
          ],
          "channels": [
            "sms",
            "email"
          ],
          "umaSubscriptionId": "0Xl000000000000001",
          "consentType": "legal",
          "consentRequired": true,
          "defaultStatus": "opt_in",
          "enabled": true
        }
      ]
    }
    ```
    
*   **400**
    
    Possible reasons:
    
    *   The Marketing Consent feature is not enabled for this organization.
    
    Media type: `application/problem+json`. Schema: `ErrorResponse`.
    
    _Example: ConsentsFeatureNotEnabled_
    
    ```
    {
      "title": "Consents Feature Not Enabled",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/consents-feature-not-enabled",
      "detail": "The Marketing Consents feature is not enabled for this organization."
    }
    ```
    

### PUT Create subscription

`PUT /organizations/{organizationId}/subscriptions/{subscriptionId}`

Operation ID: `createSubscription`. Security: AmOAuth2 (sfcc.consents.rw).

Create a new subscription for the specified organization.

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f\_ecom\_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    
*   `siteId` (query, SiteId, required) The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.
    
    _Example: SiteId_
    
    ```
    RefArch
    ```
    
*   `subscriptionId` (path, SubscriptionId, required) The unique identifier of the subscription

#### Request body (required)

Media type: `application/json`. Schema: `SubscriptionPutRequest`.

_Example: PutSubscriptionRequest_ Example request for creating or replacing a subscription

```
{
  "subscriptionId": "weekly-newsletter",
  "siteId": "RefArch",
  "title": {
    "default": {
      "markup": "Weekly <strong>Newsletter</strong>",
      "source": "Weekly <strong>Newsletter</strong>"
    },
    "fr-FR": {
      "markup": "Bulletin <strong>Hebdomadaire</strong>",
      "source": "Bulletin <strong>Hebdomadaire</strong>"
    }
  },
  "subtitle": {
    "default": {
      "markup": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>",
      "source": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>"
    },
    "fr-FR": {
      "markup": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>",
      "source": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>"
    }
  },
  "tags": [
    "homepage_banner",
    "user_profile"
  ],
  "channels": [
    "email",
    "whatsapp"
  ]
}
```

#### Responses

*   **201** Subscription created successfully.
    
    Media type: `application/json`. Schema: `Subscription`.
    
    _Example: PutSubscriptionResponse_ Example response for creating or replacing a subscription
    
    ```
    {
      "subscriptionId": "weekly-newsletter",
      "siteId": "RefArch",
      "title": {
        "default": {
          "markup": "Weekly <strong>Newsletter</strong>",
          "source": "Weekly <strong>Newsletter</strong>"
        },
        "fr-FR": {
          "markup": "Bulletin <strong>Hebdomadaire</strong>",
          "source": "Bulletin <strong>Hebdomadaire</strong>"
        }
      },
      "subtitle": {
        "default": {
          "markup": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>",
          "source": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>"
        },
        "fr-FR": {
          "markup": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>",
          "source": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>"
        }
      },
      "tags": [
        "homepage_banner",
        "user_profile"
      ],
      "channels": [
        "email",
        "whatsapp"
      ],
      "umaSubscriptionId": "0Xl000000000000000",
      "consentType": "marketing",
      "consentRequired": false,
      "defaultStatus": "opt_out",
      "enabled": true
    }
    ```
    
*   **400**
    
    Possible reasons:
    
    *   The Marketing Consent feature is not enabled for this organization.
    *   The request format is invalid or malformed JSON.
    *   Required fields (title, channels) are missing.
    *   The siteId in the request body does not match the siteId parameter.
    
    Media type: `application/problem+json`. Schema: `ErrorResponse`.
    
    _Example ConsentsFeatureNotEnabled: same as GET /organizations/{organizationId}/subscriptions 400 response._
    
    _Example: SubscriptionCreationValidationError_
    
    ```
    {
      "title": "Subscription Creation Validation Error",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/subscription-creation-validation-error",
      "detail": "Unable to create consent subscription."
    }
    ```
    
    _Example: SubscriptionIdMismatchError_
    
    ```
    {
      "title": "Subscription ID Mismatch",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/subscription-id-mismatch",
      "detail": "The subscriptionId in the request body does not match the subscriptionId parameter."
    }
    ```
    
    _Example: SiteIdMismatchError_
    
    ```
    {
      "title": "Site ID Mismatch",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/site-id-mismatch",
      "detail": "The siteId in the request body does not match the siteId parameter. Both must specify the same site."
    }
    ```
    
*   **409** Conflict - Subscription already exists
    
    Media type: `application/problem+json`. Schema: `ErrorResponse`.
    
    _Example: SubscriptionAlreadyExists_
    
    ```
    {
      "title": "Subscription Already Exists",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/subscription-already-exists",
      "detail": "A subscription with this ID already exists. Use PATCH to update existing subscriptions."
    }
    ```
    

### DELETE Delete subscription

`DELETE /organizations/{organizationId}/subscriptions/{subscriptionId}`

Operation ID: `deleteSubscription`. Security: AmOAuth2 (sfcc.consents.rw).

Delete an existing subscription for the specified organization.

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f\_ecom\_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    
*   `siteId` (query, SiteId, required) The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.
    
    _Example: SiteId_
    
    ```
    RefArch
    ```
    
*   `subscriptionId` (path, SubscriptionId, required) The unique identifier of the subscription

#### Responses

*   **204** Subscription deleted successfully.
*   **400**
    
    Possible reasons:
    
    *   The Marketing Consent feature is not enabled for this organization.
    *   The siteId parameter is invalid or does not exist.
    
    Media type: `application/problem+json`. Schema: `ErrorResponse`.
    
    _Example ConsentsFeatureNotEnabled: same as GET /organizations/{organizationId}/subscriptions 400 response._
    

### PATCH Update subscription

`PATCH /organizations/{organizationId}/subscriptions/{subscriptionId}`

Operation ID: `updateSubscription`. Security: AmOAuth2 (sfcc.consents.rw).

Update an existing subscription for the specified organization.

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f\_ecom\_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    
*   `siteId` (query, SiteId, required) The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.
    
    _Example: SiteId_
    
    ```
    RefArch
    ```
    
*   `subscriptionId` (path, SubscriptionId, required) The unique identifier of the subscription

#### Request body (required)

Media type: `application/json`. Schema: `SubscriptionPatchRequest`.

_Example: PatchSubscriptionRequest_ Example request for updating a subscription

```
{
  "subscriptionId": "weekly-newsletter",
  "siteId": "RefArch",
  "title": {
    "default": {
      "markup": "Weekly <strong>Newsletter</strong> - <em>Updated</em>",
      "source": "Weekly <strong>Newsletter</strong> - <em>Updated</em>"
    },
    "fr-FR": {
      "markup": "Bulletin <strong>Hebdomadaire</strong> - <em>Mis à jour</em>",
      "source": "Bulletin <strong>Hebdomadaire</strong> - <em>Mis à jour</em>"
    }
  },
  "subtitle": {
    "default": {
      "markup": "Get our updated weekly newsletter with the latest features - <a href=\"https://example.com\">Learn More</a>",
      "source": "Get our updated weekly newsletter with the latest features - <a href=\"https://example.com\">Learn More</a>"
    },
    "fr-FR": {
      "markup": "Recevez notre bulletin hebdomadaire mis à jour avec les dernières fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>",
      "source": "Recevez notre bulletin hebdomadaire mis à jour avec les dernières fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>"
    }
  },
  "tags": [
    "homepage_banner",
    "user_profile",
    "checkout_page"
  ],
  "channels": [
    "email",
    "sms",
    "whatsapp"
  ],
  "consentType": "marketing",
  "consentRequired": false,
  "defaultStatus": "opt_out",
  "enabled": true
}
```

#### Responses

*   **200** Subscription updated successfully.
    
    Media type: `application/json`. Schema: `Subscription`.
    
    _Example: PatchSubscriptionResponse_ Example response for updating a subscription
    
    ```
    {
      "subscriptionId": "weekly-newsletter",
      "siteId": "RefArch",
      "title": {
        "default": {
          "markup": "Weekly <strong>Newsletter</strong> - <em>Updated</em>",
          "source": "Weekly <strong>Newsletter</strong> - <em>Updated</em>"
        },
        "fr-FR": {
          "markup": "Bulletin <strong>Hebdomadaire</strong> - <em>Mis à jour</em>",
          "source": "Bulletin <strong>Hebdomadaire</strong> - <em>Mis à jour</em>"
        }
      },
      "subtitle": {
        "default": {
          "markup": "Get our updated weekly newsletter with the latest features - <a href=\"https://example.com\">Learn More</a>",
          "source": "Get our updated weekly newsletter with the latest features - <a href=\"https://example.com\">Learn More</a>"
        },
        "fr-FR": {
          "markup": "Recevez notre bulletin hebdomadaire mis à jour avec les dernières fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>",
          "source": "Recevez notre bulletin hebdomadaire mis à jour avec les dernières fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>"
        }
      },
      "tags": [
        "homepage_banner",
        "user_profile",
        "checkout_page"
      ],
      "channels": [
        "email",
        "sms",
        "whatsapp"
      ],
      "umaSubscriptionId": "0Xl000000000000000",
      "consentType": "marketing",
      "consentRequired": false,
      "defaultStatus": "opt_out",
      "enabled": true
    }
    ```
    
*   **400**
    
    Possible reasons:
    
    *   The Marketing Consent feature is not enabled for this organization.
    *   The request format is invalid or malformed JSON.
    *   The subscriptionId in the request body does not match the subscriptionId URL parameter.
    *   The siteId in the request body does not match the siteId parameter.
    
    Media type: `application/problem+json`. Schema: `ErrorResponse`.
    
    _Example ConsentsFeatureNotEnabled: same as GET /organizations/{organizationId}/subscriptions 400 response._
    
    _Example SubscriptionIdMismatchError: same as PUT /organizations/{organizationId}/subscriptions/{subscriptionId} 400 response._
    
    _Example SiteIdMismatchError: same as PUT /organizations/{organizationId}/subscriptions/{subscriptionId} 400 response._
    
    _Example: SubscriptionUpdateValidationError_
    
    ```
    {
      "title": "Subscription Update Validation Error",
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/subscription-update-validation-error",
      "detail": "Unable to update consent subscription due to validation errors."
    }
    ```
    

## Schemas

### OrganizationId

An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f\_ecom\_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).

Type: `string`.

Pattern: ^f\_ecom\_\[a-z\]{4}\_(prd|stg|dev|s\[0-9\]{2}|\[0-9\]{3})$. Example: `f_ecom_zzxy_prd`.

### SiteId

The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites

Type: `string`.

Minimum length: 1. Maximum length: 32. Example: `RefArch`.

### SubscriptionsResponse

*   `data` (_array of Subscription_, required)  
    Minimum items: 0. Maximum items: 50.
    
    _Example_
    
    ```
    [
      {
        "id": "weekly-newsletter",
        "siteId": "RefArch",
        "title": {
          "default": {
            "markup": "Weekly <strong>Newsletter</strong>",
            "source": "Weekly <strong>Newsletter</strong>"
          },
          "fr-FR": {
            "markup": "Bulletin <strong>Hebdomadaire</strong>",
            "source": "Bulletin <strong>Hebdomadaire</strong>"
          }
        },
        "subtitle": {
          "default": {
            "markup": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>",
            "source": "Get our weekly newsletter with the latest updates - <a href=\"https://example.com\">Subscribe</a>"
          },
          "fr-FR": {
            "markup": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>",
            "source": "Recevez notre bulletin hebdomadaire avec les dernières mises à jour - <a href=\"https://example.com\">S&rsquo;abonner</a>"
          }
        },
        "tags": [
          "homepage_banner",
          "user_profile"
        ],
        "channels": [
          "email"
        ],
        "umaSubscriptionId": "0Xl000000000000000",
        "consentType": "marketing",
        "consentRequired": false,
        "defaultStatus": "OPT_OUT",
        "enabled": true
      }
    ]
    ```
    

### ErrorResponse

*   `title` (_string_, required) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization  
    Maximum length: 256. Example: `You do not have enough credit`.
*   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
    Maximum length: 2048. Example: `NotEnoughMoney`.
*   `detail` (_string_, required) A human-readable explanation specific to this occurrence of the problem.  
    Example: `Your current balance is 30, but that costs 50`.
*   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
    Maximum length: 2048. Example: `/account/12345/msgs/abc`.

### SubscriptionId

Identifier for the subscription

Type: `string`.

Minimum length: 1. Maximum length: 255. Pattern: ^\[a-z0-9\]+(?:-\[a-z0-9\]+)\*$. Example: `weekly-newsletter`.

### SubscriptionPutRequest

*   `siteId` (_SiteId_)
*   `subscriptionId` (_SubscriptionId_)
*   `title` (_SubscriptionTitle_, required)
*   `subtitle` (_SubscriptionSubtitle_)
*   `tags` (_array of Tag_)  
    Default: `[]`. Minimum items: 0. Maximum items: 10.
*   `channels` (_array of Channel_, required)
*   `consentType` (_ConsentType_)
*   `consentRequired` (_ConsentRequired_)
*   `defaultStatus` (_string_) Default state of the consent value  
    Allowed values: `opt_in`, `opt_out`. Default: `opt_out`. Example: `opt_out`.
*   `enabled` (_Enabled_)

### Subscription

*   `subscriptionId` (_SubscriptionId_, required)
*   `siteId` (_SiteId_)
*   `title` (_SubscriptionTitle_, required)
*   `subtitle` (_SubscriptionSubtitle_)
*   `tags` (_array of Tag_)  
    Default: `[]`. Minimum items: 0. Maximum items: 10.
    
    _Example_
    
    ```
    [
      "homepage_banner",
      "user_profile",
      "checkout",
      "registration"
    ]
    ```
    
*   `channels` (_array of Channel_, required)  
    Minimum items: 1. Maximum items: 10.
    
    _Example_
    
    ```
    [
      "email",
      "sms"
    ]
    ```
    
*   `umaSubscriptionId` (_string_) Salesforce Id for the corresponding CommSubscription object in UMA  
    Minimum length: 15. Maximum length: 18. Example: `0Xl000000000000000`.
*   `consentType` (_ConsentType_)
*   `consentRequired` (_ConsentRequired_)
*   `defaultStatus` (_string_) Default state of the consent value  
    Allowed values: `opt_in`, `opt_out`. Default: `opt_out`. Example: `opt_out`.
*   `enabled` (_Enabled_)

### SubscriptionPatchRequest

*   `siteId` (_SiteId_)
*   `subscriptionId` (_SubscriptionId_)
*   `title` (_SubscriptionTitle_)
*   `subtitle` (_SubscriptionSubtitle_)
*   `tags` (_array of Tag_)  
    Default: `[]`. Minimum items: 0. Maximum items: 10.
*   `channels` (_array of Channel_)
*   `consentType` (_ConsentType_)
*   `consentRequired` (_ConsentRequired_)
*   `defaultStatus` (_string_) Default state of the consent value  
    Allowed values: `opt_in`, `opt_out`. Default: `opt_out`. Example: `opt_out`.
*   `enabled` (_Enabled_)

### SubscriptionTitle

The localized title of the subscription with markup support

Additional properties: `MarkupText`.

_Example_

```
{
  "default": {
    "markup": "Monthly <strong>Product Updates</strong>",
    "source": "Monthly <strong>Product Updates</strong>"
  },
  "fr-FR": {
    "markup": "Mises à jour <strong>Produit Mensuelles</strong>",
    "source": "Mises à jour <strong>Produit Mensuelles</strong>"
  }
}
```

### SubscriptionSubtitle

The localized subtitle of the subscription with markup support

Additional properties: `MarkupText`.

_Example_

```
{
  "default": {
    "markup": "Stay informed about new features - <a href=\"https://example.com\">Learn More</a>",
    "source": "Stay informed about new features - <a href=\"https://example.com\">Learn More</a>"
  },
  "fr-FR": {
    "markup": "Restez informé des nouvelles fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>",
    "source": "Restez informé des nouvelles fonctionnalités - <a href=\"https://example.com\">En savoir plus</a>"
  }
}
```

### Tag

Filter criteria for consent subscriptions

Type: `string`.

Minimum length: 1. Maximum length: 256. Example: `homepage_banner`.

### Channel

Type: `string`.

Allowed values: `email`, `sms`, `whatsapp`. Example: `email`.

### ConsentType

Type of consent subscription

Type: `string`.

Allowed values: `marketing`, `legal`. Default: `marketing`. Example: `marketing`.

### ConsentRequired

Whether this subscription is mandatory

Type: `boolean`.

Default: `false`. Example: `false`.

### Enabled

Whether this subscription is currently enabled

Type: `boolean`.

Default: `true`. Example: `true`.

### MarkupText

The markup text for rich text content

*   `markup` (_string_, required) The rendered HTML  
    Maximum length: 2000. Example: `Monthly <strong>Product Updates</strong> - <a href="https://example.com">Learn More</a>`.
*   `source` (_string_, required) The raw markup text  
    Maximum length: 2000. Example: `Monthly <strong>Product Updates</strong> - <a href="https://example.com">Learn More</a>`.

_Example_

```
{
  "markup": "Monthly <strong>Product Updates</strong> - <a href=\"https://example.com\">Learn More</a>",
  "source": "Monthly <strong>Product Updates</strong> - <a href=\"https://example.com\">Learn More</a>"
}
```