---
title: "Return Detailed Cookie Consent Configuration"
method: GET
path: "/v1/cookie-consent/configs/{configId}"
tags: ["cmp"]
---

# Return Detailed Cookie Consent Configuration

`GET /v1/cookie-consent/configs/{configId}`

## Request

- Base URL: `https://api.osano.com`
- URL: `https://api.osano.com/v1/cookie-consent/configs/{configId}`
- Auth: API key in header `x-osano-api-key`
- TypeScript: <https://skmtc.dev/osano/apis/osano-api-reference/docs/v1/cookie-consent/configs/:configId/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a detailed Cookie Consent Configuration by ID.

## Response `200`

Success

- CmpConfigResponse
  - `name` string: The name of the configuration.
  - `domains` string[]: A list of domains (cannot be null or empty) that are permitted to host the configuration.
  - `orgIds` string[]: A list of organization IDs that the configuration is associated with. If omitted or empty, the configuration is associated with the root organization of the customerId that created the API key used to make the request.
  - `mode` 'debug' | 'permissive' | 'production': The compliance mode for the configuration. - `debug`: Discovery/Listener Mode - Script and cookie information will be gathered for categorization, but blocking will not occur and the consent dialog will not be displayed. - `permissive`: Permissive Mode - The consent dialog will be displayed. All <i>uncategorized</i> scripts will be reported as discoveries and allowed regardless of consent given. All <i>categorized</i> scripts will be allowed or blocked based on the user selection. - `production`: Strict Mode <b>(recommended)</b> - The consent dialog will be displayed, and all uncategorized scripts will be blocked until they have been classified. Note: It is recommended that all discovered scripts & cookies are classified before changing the mode to `production` as all unclassified entities will be blocked. For more information, see Compliance Mode Definitions in the [Cmp Setup Guide](https://docs.osano.com/hc/en-us/articles/22472106973332-Cmp-Setup-Guide#Step1)
  - `configuration` object
    - `additionalLinks` array[]: A nested array where the inner array contains two strings that represent the text and URL for an additional link that can be added to the consent banner. - The first string determines the text that will be displayed on the link and must be one of `cookiePolicy`, `doNotSellOrShare`, `imprint`, `googlePrivacyPolicy`, `privacyPolicy`, `privacyStatement`, `securityPolicy`, `storagePolicy`, `subjectRightsRequest`, `termsAndConditions`, `termsOfService`, or `termsOfUse`,. <b>Note:</b> this string value cannot be the same as the `policyLinkText` value. - The second string is the relative or absolute URL that the link will navigate to when clicked. Example: `[['subjectRightsRequest', 'https://example.com/subject-rights-request']]`
      - string[]
    - `allowTimeout` boolean: Enables or disables the automatic timeout of banners and dialogs that are on a timer. If disabled, the site visitor will need to interact with the banner or dialog to make it disappear.
    - `amazonConsent` boolean: When set to `true`, Amazon Consent Signal will be shared with Amazon Ads scripts on your site. If you’re not using Amazon Ads scripts, we recommend setting this to `false` or omitting this property.
    - `ccpaRelaxed` boolean: When enabled, visitors in California, Colorado, Connecticut, Utah, and Virginia will be shown consent banner format 1 and consent will be implied. When disabled, visitors in California, Colorado, Connecticut, Utah, and Virginia will be shown consent banner format 3 and explicit consent is required. For more information, see [US State Level Legislation Opt-Out Banner Format Setting](https://docs.osano.com/hc/en-us/articles/22469433588756-US-State-Level-Legislation-Opt-Out-Banner-Format-Setting)
    - `codeSplitting` boolean: When enabled, the `osano.js` script is segemented into a reduced initial payload with additional requests made as needed. This may help improve site rendering.
    - `crossDeviceNoticeSeconds` integer: How many seconds the cross-device notice stays on screen after a signed-in visitor's saved preferences replace the choices they just made on this device. Only applies when cross-device consent is enabled.
    - `crossDomain` boolean: When enabled, it allows multiple domains to be added to the configuration settings and allows initial consent to be shared across unrelated domains owned by the same entity. For more information, see [Cross Domain Support](https://docs.osano.com/cross-domain-support).
    - `deleteStorageOnOptout` boolean: When enabled, cookies and local storage items belonging to a consent category will be automatically deleted when an end user withdraws consent for that category. Essential category items are never deleted.
    - `dntSupport` boolean: Enables or disables honoring Do Not Track (DNT) signals from the site visitor's browser.
    - `doNotSellCategories` string[]: The consent categories that are opted out when the site visitor exercises the Do Not Sell option. Required when `enableDoNotSell` is `true`.
    - `enableDoNotSell` boolean: When set to `true`, the Do Not Sell opt-out experience is enabled for site visitors. Requires the `cmpDoNotSell` plan entitlement to disable.
    - `enableDoNotSellDefault` boolean: The default opt-out state applied for the Do Not Sell categories when a site visitor has not yet recorded a preference.
    - `externalStylesheet` boolean: When set to `true`, the consent banner will load an external stylesheet from the Osano CDN with an additional request. This may help improve site rendering. When set to `false`, the consent banner will load CSS styling inline.
    - `forcedClassifyEnabled` boolean: When set to `true`, Osano will automatically block a list of curated scripts and cookies (in addition to (and superseding) your existing rules) in regions where their specific usage has been declared illegal by regulatory bodies. When false, Osano will respect existing classification settings. See [Block List](https://docs.osano.com/hc/en-us/articles/22469397117716-Block-list) for a list of blocked cookies.
    - `forceManagePreferences` boolean: When set to `true`, a "Manage Preferences" button will be present on banner templates 1 and 3. When set to `false`, banner templates 1 and 3 will not have a "Manage Preferences" button. For more information on banner templates, see [Consent Banner Gallery](https://docs.osano.com/hc/en-us/articles/21084783710996-Consent-Banner-Gallery).
    - `googleConsent` boolean: When enabled, Google Consent Mode for Google Analytics is supported. GCM must be implemented via Google configuration for this option to function. If you're unsure whether you're using GCM, it is recommended to set this to `false`. For more information, see [Google Consent Mode](https://docs.osano.com/google-consent).
    - `gpcSupport` boolean: When set to `true`, the Global Privacy Control (GPC) signal is honored. For more information, see [Global Privacy Control](https://docs.osano.com/global-privacy-controls-gpc)
    - `iframeBlocking` '' | 'debug' | 'permissive' | 'production': The mode for allowing or blocking iframes. Note: If `""` is selected, then iframes will not be blocked or discovered. If the top level mode is set to a lower level than the iframe mode, then the iframe mode will be ignored.
    - `localStorageBlocking` '' | 'debug' | 'permissive' | 'production': The mode for allowing or blocking local storage. Note: If `""` is selected, then local storage will not be blocked or discovered. If the top level mode is set to a lower level than the local storage mode, then the local storage mode will be ignored.
    - `managePreferencesEnabled` boolean: When set to `true`, First Layer Categories are disabled and users in EEA member countries and the UK won't see category toggles in the banner. When set to `false`, First Layer Categories are enabled and users in EEA member countries and the UK are shown cookie category toggles in the banner. For more information, see [First Layer Categories](https://docs.osano.com/first-layer-categories).
    - `microsoftConsent` boolean: When set to `true`, Osano will share user consent choices with Microsoft UET. Microsoft UET must be implemented on your website for this option to function. Please note that this signal is incompatible with the use of IAB TCF 2.x consent signals.
    - `palette` object: The styling and color palette for the banner, drawer, and DNS (Do Not Sell) dialogs. Colors must be given in [CSS numerical format](https://www.w3.org/TR/css-color-3/#numerical) (hexadecimal, RGBa or HSLa). Color keywords are not supported. To remove a color, set the value to `null`.
      - `buttonAcceptBackgroundColor` string, nullable: The background color of the Accept button in the banner. If this is not set, it will fallback to the value set for `buttonBackgroundColor`.
      - `buttonAcceptBackgroundColorHover` string, nullable: The background color of the Accept button in the banner when hovered. If this is not set, it will fallback to the value set for `buttonBackgroundColorHover`.
      - `buttonAcceptBorderColor` string, nullable: The border color of the Accept button in the banner. If this is not set, it will fallback to the value set for `buttonBorderColor`.
      - `buttonAcceptForegroundColor` string, nullable: The text color of the Accept button in the banner. If this is not set, it will fallback to the value set for `buttonForegroundColor`.
      - `buttonBackgroundColor` string, nullable: The background color of the buttons.
      - `buttonBackgroundColorHover` string, nullable: The background color of the buttons when hovered.
      - `buttonBorderColor` string, nullable: The border color of the buttons. If this is not set, it will default to the value set for `buttonForegroundColor`.
      - `buttonCloseColor` string, nullable: The text color of the close button in the banner. If this is not set, it will fallback to the value set for `dialogForegroundColor`.
      - `buttonDenyBackgroundColor` string, nullable: The background color of the Deny button in the banner. If this is not set, it will fallback to the value set for `buttonBackgroundColor`.
      - `buttonDenyBackgroundColorHover` string, nullable: The background color of the Deny button in the banner when hovered. If this is not set, it will fallback to the value set for `buttonBackgroundColorHover`.
      - `buttonDenyBorderColor` string, nullable: The border color of the Deny button in the banner. If this is not set, it will fallback to the value set for `buttonBorderColor`.
      - `buttonDenyForegroundColor` string, nullable: The text color of the Deny button in the banner. If this is not set, it will fallback to the value set for `buttonForegroundColor`.
      - `buttonRejectAllBackgroundColor` string, nullable: The background color of the Reject All button in the banner. If this is not set, it will fallback to the value set for `buttonBackgroundColor`.
      - `buttonRejectAllBackgroundColorHover` string, nullable: The background color of the Reject All button in the banner when hovered. If this is not set, it will fallback to the value set for `buttonBackgroundColorHover`.
      - `buttonRejectAllBorderColor` string, nullable: The border color of the Reject All button in the banner. If this is not set, it will fallback to the value set for `buttonBorderColor`.
      - `buttonRejectAllForegroundColor` string, nullable: The text color of the Reject All button in the banner. If this is not set, it will fallback to the value set for `buttonForegroundColor`.
      - `buttonForegroundColor` string, nullable: The text color of the buttons.
      - `buttonManageBackgroundColor` string, nullable: The background color of the Manage Preferences button in the banner. If this is not set, it will fallback to the value set for `buttonBackgroundColor`.
      - `buttonManageBorderColor` string, nullable: The border color of the Manage Preferences button in the banner. If this is not set, it will fallback to the value set for `buttonBorderColor`.
      - `buttonManageForegroundColor` string, nullable: The text color of the Manage Preferences button in the banner. If this is not set, it will fallback to the value set for `buttonForegroundColor`.
      - `buttonManageBackgroundColorHover` string, nullable: The background color of the Manage Preferences button in the banner when hovered. If this is not set, it will fallback to the value set for `buttonBackgroundColorHover`.
      - `dialogBackgroundColor` string, nullable: The background color of the dialogs.
      - `dialogForegroundColor` string, nullable: The text color of the dialogs.
      - `dialogGpcBackgroundColor` string, nullable: The background color of the GPC opt-out indicator in the banner.
      - `dialogGpcBorderColor` string, nullable: The border color of the GPC opt-out indicator in the banner.
      - `dialogGpcForegroundColor` string, nullable: The text color of the GPC opt-out indicator in the banner.
      - `dialogGpcColor` string, nullable: The status dot color of the GPC opt-out indicator in the banner.
      - `dialogType` 'bar' | 'box', nullable: The type of banner to display. - `bar`: A banner that appears at the top or bottom of the page. - `box`: A dialog that appears in the center of the page.
      - `displayPosition` string, nullable: If the `dialogType` is `bar`, valid options are `top` and `bottom` and defaults to `top` if `displayPosition` is `null`. If the `dialogType` is `box`, then valid options are `top-left`, `top-right`, `bottom-left`, `bottom-right`, and `center` and defaults to `center` if `displayPosition` is `null`.
      - `gpcBackgroundColor` string, nullable: The background color of the GPC opt-out widget.
      - `gpcBorderColor` string, nullable: The border color of the GPC opt-out widget.
      - `gpcForegroundColor` string, nullable: The text color of the GPC opt-out widget.
      - `gpcColor` string, nullable: The status dot color of the GPC opt-out widget.
      - `gpcBackgroundColorHover` string, nullable: The background color of the GPC opt-out widget when hovered.
      - `infoDialogBackgroundColor` string, nullable: The background color of the drawer and DNS dialogs. If this is not set, it will fallback to the value set for `dialogBackgroundColor`.
      - `infoDialogForegroundColor` string, nullable: The text color of the drawer and DNS dialogs. If this is not set, it will fallback to the value set for `dialogForegroundColor`.
      - `infoDialogOverlayColor` string, nullable: The overlay color of the drawer and DNS dialogs.
      - `infoDialogButtonBackgroundColor` string, nullable: The background color of the drawer and DNS dialogs buttons. If this is not set, it will fallback to the value set for `buttonBackgroundColor`.
      - `infoDialogButtonBackgroundColorHover` string, nullable: The background color of the drawer and DNS dialogs buttons when hovered. If this is not set, it will fallback to the value set for `buttonBackgroundColorHover`.
      - `infoDialogButtonBorderColor` string, nullable: The border color of the drawer and DNS dialogs buttons. If this is not set, it will fallback to the value set for `buttonBorderColor`.
      - `infoDialogButtonCloseColor` string, nullable: The text color of the close button in the drawer and DNS dialogs. If this is not set, it will fallback to the value set for `infoDialogForegroundColor`.
      - `infoDialogButtonForegroundColor` string, nullable: The text color of the drawer and DNS dialogs buttons. If this is not set, it will fallback to the value set for `buttonForegroundColor`.
      - `infoDialogGpcBackgroundColor` string, nullable: The background color of the GPC opt-out indicator in the drawer.
      - `infoDialogGpcBorderColor` string, nullable: The border color of the GPC opt-out indicator in the drawer.
      - `infoDialogGpcForegroundColor` string, nullable: The text color of the GPC opt-out indicator in the drawer.
      - `infoDialogGpcColor` string, nullable: The status dot color of the GPC opt-out indicator in the drawer.
      - `infoDialogLinkColor` string, nullable: The color of links in the drawer and DNS dialogs. If this is not set, it will fallback to the value set for `linkColor`.
      - `infoDialogPosition` 'right' | 'left', nullable: The position of the drawer.
      - `infoDialogToggleOffTrackColor` string, nullable: The background color of the toggle button in the drawer and DNS dialogs when it is in the disabled position. If this is not set, it will fallback to the value set for `toggleOffTrackColor`.
      - `infoDialogToggleOffThumbColor` string, nullable: The color of the toggle button indicator in the drawer and DNS dialogs when it is in the disabled position. If this is not set, it will fallback to the value set for `toggleOffThumbColor`.
      - `infoDialogToggleOnTrackColor` string, nullable: The background color of the toggle button in the drawer and DNS dialogs when it is in the enabled position. If this is not set, it will fallback to the value set for `toggleOnTrackColor`.
      - `infoDialogToggleOnThumbColor` string, nullable: The color of the toggle button indicator in the drawer and DNS dialogs when it is in the enabled position. If this is not set, it will fallback to the value set for `toggleOnThumbColor`.
      - `linkColor` string, nullable: The color of the links.
      - `optOutWidgetPosition` 'right' | 'left', nullable: The position of the opt-out widget.
      - `theme` 'classic' | 'modern', nullable: The visual style set used for the banner and drawer. When omitted, the default for your plan is applied — Classic for most customers. Once set, the value is preserved until you change it.
      - `toggleOffThumbColor` string, nullable: The color of the toggle button indicators when they are in the disabled position.
      - `toggleOffTrackColor` string, nullable: The background color of the toggle buttons when they are in the disabled position.
      - `toggleOnTrackColor` string, nullable: The background color of the toggle buttons when they are in the enabled position.
      - `toggleOnThumbColor` string, nullable: The color of the toggle button indicators when they are in the enabled position.
      - `toggleButtonOffColor` string, nullable: The color of the toggle button indicators when they are in the disabled position. This property is deprecated. Please use `toggleOffThumbColor` instead.
      - `toggleButtonOnColor` string, nullable: The color of the toggle button indicators when they are in the enabled position. This property is deprecated. Please use `toggleOnThumbColor` instead.
      - `toggleOffBackgroundColor` string, nullable: The background color of the toggle buttons when they are in the disabled position. This property is deprecated. Please use `toggleOffTrackColor` instead.
      - `toggleOnBackgroundColor` string, nullable: The background color of the toggle buttons when they are in the enabled position. This property is deprecated. Please use `toggleOnTrackColor` instead.
      - `widgetPosition` 'right' | 'left', nullable: The position of the widget.
      - `focusOutlineColor` string, nullable: The color of the focus outline for interactive elements in the banner, drawer, and DNS dialogs.
    - `policyLinkInDrawer` boolean: Enables or disables the presentation of the policy link in the preferences drawer.
    - `policyLinkText` 'cookieNotice' | 'cookiePolicy' | 'storagePoloicy' | 'privacyNotice' | 'privacyPolicy': The text of the link displayed in the dialog (and optionally, in the drawer - see `policyLinkInDrawer` property) that links the site visitor to the url specified in the `storagePolicyHref` property.
    - `showConsentUuid` boolean: When set to `true`, the end user’s consent UUID will be present in the Preference Drawer with a copy button. When disabled, an end user will need to access their Osano cookie in their browser to locate the consent UUID.
    - `showCrossDeviceNotice` boolean: When set to `true`, a notice is shown after a signed-in visitor's consent choices are updated from another device. Only applies when cross-device consent is enabled.
    - `showOptOutWidget` boolean: When set to `true`, the opt-out widget will be displayed on the site. When set to `false`, the opt-out widget will be hidden.
    - `showWidget` boolean: When set to `true`, the consent widget will be displayed on the site. When set to `false`, the widget will be hidden.
    - `storagePolicyHref` string: The URL for your site's privacy policy. Can be relative or absolute.
    - `tattleSampling` number, float: The percentage of visitors (0-1) for whom discoveries will be recorded. A value of 0 disables discovery recording, while a value of 1 records discoveries for all visitors.
    - `timeoutSeconds` integer: The number of seconds to wait before hiding the banner and saving default consent settings.
    - `translations` object: Translation overrides for the configuration text strings.
      - `messaging` object
        - `categories` object
        - `closeButton` object
        - `default` object
        - `timer` object
        - `usageHow` object
        - `usageList` object
        - `usageWhat` object
        - `viewCookies` object
        - `viewDisclosures` object
      - `drawer` object
        - `description` object
        - `header` object
      - `doNotSell` object
        - `description` object
        - `header` object
      - `categories` object
        - `ANALYTICS` object
          - `description` object
          - `label` object
        - `ESSENTIAL` object
          - `description` object
          - `label` object
        - `MARKETING` object
          - `description` object
          - `label` object
        - `OPT_OUT` object
          - `description` object
          - `label` object
        - `PERSONALIZATION` object
          - `description` object
          - `label` object
      - `buttons` object
        - `accept` object
        - `acceptAll` object
        - `deny` object
        - `denyAll` object
        - `denyNonEssential` object
        - `dialog` object
          - `denyAll` object
            - `fr` object
          - `openDrawer` object
            - `fr` object
        - `managePreferences` object
        - `rejectNonEssential` object
        - `save` object
      - `optOut` object
        - `active` object
        - `honored` object
        - `signalActive` object
        - `signalHonored` object
    - `variantMapping` union: Maps US jurisdictions to the consent banner variant they get. `byJurisdiction` keys are lower-case state codes such as `us-ca`, plus the country-wide `us` catch-all for states the mapping does not list. Values are `one` (banner format 1, consent implied) or `three` (banner format 3, explicit consent). `behavior` is always `fallbackToOsano`. Send `byJurisdiction` and `behavior` together or send the empty object `{}` to clear the stored mapping; a mapping with only one of the two keys, unknown keys, values, or behaviors — including the retired flat shape with state codes at the top level — is rejected with `400`. A visitor's state code is checked first, then the `us` key. A US jurisdiction matching neither falls back to Osano's curated per-state defaults (`behavior: fallbackToOsano`). Listing `us-ca: three` with `us: one` therefore gives California format 3 and every other state format 1, including states with active privacy laws. The legacy `ccpaRelaxed` boolean applies only when no usable mapping is stored (`false` — curated per-state defaults; `true` — format 1 for all US states). While a usable mapping is stored, `ccpaRelaxed` is overwritten to mirror it: `true` for the opt-out-all encoding (`byJurisdiction` exactly `{us: one}`), `false` otherwise. A mapping with no usable entries is not stored, which hands control back to `ccpaRelaxed`. Requires the `cmpUsJurisdictionCustomization` plan entitlement: sending a usable mapping without it is rejected with `403` (`FE0004`), and a mapping stored before a plan downgrade is dropped on the next update or publish.
      - object
        - `byJurisdiction` object
        - `behavior` 'fallbackToOsano'
      - object
        - `byJurisdiction` object, required
        - `behavior` 'fallbackToOsano', required
  - `created` integer: The unix epoch timestamp when the configuration was created.
  - `updated` integer: The unix epoch timestamp when the configuration was last updated.
  - `publishStatus` 'unpublished' | 'in-progress' | 'published' | 'outdated' | 'error'
  - `lastPublished` integer: The unix epoch timestamp when the configuration was last published.
  - `publishedRevision` integer
  - `tattleRecordStopped` boolean
  - `configId` string, uuid, required: The configuration ID.
  - `customerId` string: The customer ID associated with the configuration.

## Other responses

- `400`: Bad Request

## Changes

- **2026-11-06** `ac31099cf83e`: 8 info
  - added the optional property `allOf[#/components/schemas/CmpConfig]/configuration/crossDeviceNoticeSeconds` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/CmpConfig]/configuration/doNotSellCategories` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/CmpConfig]/configuration/enableDoNotSell` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/CmpConfig]/configuration/enableDoNotSellDefault` to the response with the `200` status
  - …4 more
- **2026-05-12** `4fc37598750d`: 18 breaking, 59 info
  - the response property `allOf[#/components/schemas/CmpConfig]/configuration/palette/buttonBackgroundColor` became nullable for the status `200`
  - the response property `allOf[#/components/schemas/CmpConfig]/configuration/palette/buttonDenyBackgroundColor` became nullable for the status `200`
  - the response property `allOf[#/components/schemas/CmpConfig]/configuration/palette/buttonDenyForegroundColor` became nullable for the status `200`
  - the response property `allOf[#/components/schemas/CmpConfig]/configuration/palette/buttonForegroundColor` became nullable for the status `200`
  - …73 more
- **2025-10-11** `5ab36f60b5d0`: 1 info
  - added the optional property `allOf[#/components/schemas/CmpConfig]/orgIds` to the response with the `200` status

[Operation history](https://skmtc.dev/osano/apis/osano-api-reference/changes/v1/cookie-consent/configs/:configId/get.md)

---

[API](https://skmtc.dev/osano/apis/osano-api-reference.md) - [All operations](https://skmtc.dev/osano/apis/osano-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/osano/apis/osano-api-reference/revisions/ac31099cf83e?raw)
