---
title: "Get IAB and Google Vendors"
method: GET
path: "/cfw/cmp/v1/vendors"
tags: ["Vendors"]
---

# Get IAB and Google Vendors

`GET /cfw/cmp/v1/vendors`

## Request

- Base URL: `https://mobile-data.onetrust.io`
- URL: `https://mobile-data.onetrust.io/cfw/cmp/v1/vendors`
- Auth: none declared. Required headers: `OT-CDN-Location`, `OT-App-Id`, `OT-Device-Type`, `OT-SDK-Version`

Use this API to retrieve a list of active IAB and Google Vendors to be displayed on the Preference Center.

## Headers

- `OT-CDN-Location` 'cdn.cookielaw.org' | 'cdn-apac.onetrust.com' | 'cdn.au.onetrust.com' | 'cdn-ukwest.onetrust.com' | 'cookie-cdn.cookiepro.com' | 'otcc-demo.otprivacy.com' | 'otcc-training.onetrust.com', required: The location of the CDN.
- `OT-App-Id` string, required: The unique identifier for the app or domain.
- `OT-Device-Type` 'mobile' | 'ctv', required: The type of device.
- `OT-SDK-Version` string, required: The published version of the app or domain.
- `OT-SDK-Identification` string, nullable: The OT SDK identification.
- `OT-Language` string, nullable: The language in which the user interface should be displayed.
- `OT-Country-Code` string, nullable: The country code from which the user is accessing the app or website.
- `OT-Region-Code` string, nullable: The region code from which the user is accessing the app or website.
- `OT-Fetch-Type` 'APP_DATA_ONLY' | 'APP_DATA_AND_PROFILE' | 'APP_DATA_AND_SYNC_PROFILE', nullable: The type of data to download.
- `OT-Consent-String` string, nullable: The encoded consent string that contains the interface's metadata.
- `OT-Identifier` string, nullable: The unique identifier for the data subject.
- `OT-Identifier-Type` string, nullable: The identifier type associated with the unique identifier in OT-Identifier header
- `OT-Identifier-UpdateType` 'Rename-Identifier', nullable: The update type for the identifier. This header is used to specify how the identifier should be updated.
- `OT-Sync-Profile-Auth` string, nullable: The JSON Web Token (JWT) generated using Public Keys within the OneTrust application.
- `OT-Platform` 'Apple' | 'Android', nullable: To handle platform-specific features like ATT (App Tracking Transparency for Apple) or GoogleAdId (for Android) in a structured way, you can send the platform type in the parameters of an API or request.
- `OT-Exclude-Html-Tags` boolean, nullable: This is specifically to unbold the vendor numbers only.
- `OT-Is-Anonymous-User` boolean, nullable: This flag indicates whether the request is anonymous. When `true`, profile creation is skipped.
- `OT-Tcf-Eu2v2-Consent-String` string, nullable: The IAB TCF string that contains information on consent preferences.
- `OT-Addtl-Consent-String` string, nullable: The Additional Consent string for Google Vendors.

## Response `200`

Success

- object
  - `errors` object[]
    - `code` 'SUCCESS' | 'ERROR_CODE_TEXT_RESOURCE_NOT_FOUND' | 'ERROR_CODE_NO_CONTENT' | 'ERROR_CODE_BLOB_LOCATIONS_UNAVAILABLE' | 'ERROR_CODE_INVALID_LOCATION' | 'ERROR_CODE_INVALID_COUNTRY_OR_REGION' | 'ERROR_CODE_INVALID_DEVICE_TYPE' | 'ERROR_CODE_INVALID_FETCH_TYPE' | 'ERROR_CODE_INVALID_CONSENT_REQUEST' | 'ERROR_CODE_HTTP_IF_NONE_MATCHED' | 'ERROR_CODE_SYNC_GROUP' | 'ERROR_CODE_FAILURE' | 'ERROR_CODE_DEFAULT_PURPOSE_STATUS' | 'ERROR_CODE_INVALID_OT_CONSENT_STRING' | 'ERROR_CODE_GENERIC_ERROR' | 'ERROR_CODE_MISSING_REQUIRED_HEADER' | 'ERROR_CODE_NO_ACCESS' | 'ERROR_CODE_INVALID_INTERACTION_TYPE' | 'ERROR_CODE_INVALID_CONTENT_TYPE_HEADER' | 'ERROR_IDENTIFIER_MISMATCH' | 'ERROR_UCP_NOT_CONFIGURED' | 'ERROR_CODE_INVALID_TC_STRING' | 'ERROR_GOOGLE_ADS_DISABLED' | 'ERROR_CODE_CONSENT_LOGGING' | 'ERROR_CODE_INVALID_REQUEST_BODY' | 'ERROR_CODE_UNSUPPORTED_VERSION' | 'ERROR_CODE_INVALID_AGE_RANGE' | 'ERROR_CODE_AGE_RANGE_REQUIRED' | 'ERROR_CODE_EMPTY_CONSENT' | 'ERROR_CODE_GLOBAL_OPT_OUT_NOT_CONFIGURED' | 'ERROR_CODE_GLOBAL_OPT_OUT_DISABLED' | 'ERROR_CODE_DSAR', required
    - `message` 'Not Found' | 'No content' | 'success' | 'Unable to fetch data for the specified Application ID. Please check your configurations.' | 'Invalid location' | 'Invalid country code or region code. If you want to skip validation, please set the header 'OT-Geolocation-Skip-Validation' to true.' | 'Invalid Device Type' | 'Invalid Fetch type' | 'Missing either or all of TenantId or Identifier or Authorization' | 'If-None-Match' | 'syncGroup' | 'failure' | 'NO_CONSENT' | 'Invalid OT consent string' | 'Something went wrong' | 'No access to this resource' | 'Invalid Interaction Type' | 'Content-Type header should be application/json' | 'Input Identifier does not match with one in consent string' | 'The UC Purposes API call was successful, but no data is available for display.' | 'UC Purposes is disabled.' | 'Error decoding TC string, default consent is returned.' | 'Google Ads is disabled.' | 'Consent Logging has failed, please retry in sometime and if issue still persists please reach out to support team.' | 'Error parsing request body' | 'The published version is not supported. Please publish a newer version.' | 'The upper bound of the age range must be greater than lower bound.' | 'At least one age bound (lower or upper) must be provided.' | 'At least one purpose consent is required.' | 'Global Opt-Out is not configured.' | 'Global Opt-Out is disabled.', required
  - `warnings` object[]
    - `code` 'WARNING_CODE_PUBLISHED_VERSION_MISMATCH', required
    - `message` 'Requested data for the OT-SDK-Version does not match the published version on the OneTrust server. The latest published version will be returned instead.', required
  - `appConfig` object, required: The object that contains the application configurations.
    - `showBanner` boolean, required: The flag that indicates whether to show the banner.
    - `bannerReason` 'Geo rule Banner is not enabled.' | 'Geo rule Banner is enabled and is first launch.' | 'Sdk's Automatic reconsent has expired.' | 'Reconsent triggered for an authenticated user.' | 'The TC String has expired.' | 'Hundred percent sync is not completed for cross device sync enabled scenario.' | 'The template type is updated to IAB.' | 'Sdk has been published with reconsent.' | 'Banner will not be shown as consent validity holds true.' | 'Banner will not be shown as cross device sync is hundred percent complete.', required: The reason the banner is being displayed.
    - `templateType` 'GDPR' | 'CCPA' | 'IAB2' | 'IAB2V2' | 'GENERIC' | 'LGPD' | 'GENERIC_PROMPT' | 'CPRA' | 'CDPA' | 'USNATIONAL' | 'CUSTOM' | 'COLORADO' | 'CTDPA' | 'UCPA' | 'OREGON' | 'FLORIDA' | 'DELAWARE' | 'IOWA' | 'MONTANA' | 'NEBRASKA' | 'TENNESSEE' | 'TEXAS' | 'NEW_JERSEY' | 'NEW_HAMPSHIRE' | 'MARYLAND' | 'INDIANA' | 'KENTUCKY' | 'RHODE_ISLAND' | 'MINNESOTA', required: The type of template used for the banner.
    - `bannerReasonCode` 101 | 102 | 103 | 104 | 105 | 107 | 109 | 150 | 151 | 152, required: The code associated with the reason the banner is displayed.
    - `multiProfileConsent` object
      - `downloadDataAfterSwitch` boolean, required
      - `maxProfilesLimit` number, required
    - `gcmInfo` object
      - `userConsented` boolean, required
      - `gcmConsents` object, required
        - `adPersonalization` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `adStorage` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `adUserData` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `analyticsStorage` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `functionalityStorage` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `personalizationStorage` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
        - `securityStorage` 'UNASSIGNED' | 'UNDEFINED' | 'DENIED' | 'GRANTED', required
    - `countryCode` string
    - `regionCode` string
    - `shouldResetLocalState` boolean: The flag that indicates whether to discard local changes on the client side and collect fresh consent.
    - `lastReconsentDate` number
    - `rejectAllButtonBehavior` string
    - `globalOptOutData` object
      - `linkedCategories` object[]
        - `id` string, required
        - `groupName` string, required
      - `confirmationMessage` string, required
      - `instructionalMessage` string, required
      - `communicationMedium` string, required
      - `submitButtonText` string, required
      - `closeButtonText` string, required
      - `cancelButtonText` string, required
      - `inputValidationError` string, required
      - `submissionError` string, required
      - `knownUserError` string, required
      - `mobileSectionHeader` string, required
      - `emailFieldPlaceholderText` string, required
      - `closeButtonAriaLabel` string, required
  - `iab2V2Vendors` object
    - `groupPrefixes` object, required
      - `stack` string, required
      - `feature` string, required
      - `purpose` string, required
      - `specialPurpose` string, required
      - `specialFeature` string, required
    - `purposes` object, required
      - `1` object
        - `id` number
        - `name` string
        - `description` string
        - `iabIllustrations` string[]
    - `specialPurposes` object, required
      - `1` object, required
        - `id` number
        - `name` string
        - `description` string
        - `iabIllustrations` string[]
    - `features` object, required
      - `1` object, required
        - `id` number
        - `name` string
        - `description` string
        - `iabIllustrations` string[]
    - `specialFeatures` object, required
      - `1` object, required
        - `id` number
        - `name` string
        - `description` string
        - `iabIllustrations` string[]
    - `vendors` object, required
      - `1` object, required
        - `purposes` number[]
        - `legIntPurposes` number[]
        - `flexiblePurposes` number[]
        - `specialPurposes` number[]
        - `features` number[]
        - `specialFeatures` number[]
        - `id` number
        - `name` string
        - `iab2V2GVLVersion` number
        - `dataDeclaration` number[]
        - `urls` object, required
          - `langId` string
          - `privacy` string
          - `legIntClaim` string
        - `dataRetention` object, required
          - `stdRetention` number
          - `purposes` object
          - `specialPurposes` object
        - `cookieMaxAgeSeconds` number
        - `usesNonCookieAccess` boolean
        - `deviceStorageDisclosureUrl` string
        - `legIntStatus` string
        - `consentStatus` string
    - `iabDataCategories` object, required
      - `1` object
        - `id` number
        - `name` string
      - `2` object
        - `id` number
        - `name` string
      - `3` object
        - `id` number
        - `name` string
      - `4` object
        - `id` number
        - `name` string
      - `5` object
        - `id` number
        - `name` string
      - `6` object
        - `id` number
        - `name` string
      - `7` object
        - `id` number
        - `name` string
      - `8` object
        - `id` number
        - `name` string
      - `9` object
        - `id` number
        - `name` string
      - `10` object
        - `id` number
        - `name` string
      - `11` object
        - `id` number
        - `name` string
    - `vendorListVersion` number
    - `lastUpdated` string
  - `googleVendors` object, required
    - `vendors` object, required
      - `320` object
        - `id` number
        - `name` string
        - `policyUrl` string
        - `consentStatus` number
      - `1085` object
        - `id` number
        - `name` string
        - `policyUrl` string
        - `consentStatus` number
      - `1421` object
        - `id` number
        - `name` string
        - `policyUrl` string
        - `consentStatus` number
    - `vendorListVersion` number
  - `generalVendors` object
  - `vendorListUIData` object, required
    - `general` object, required
      - `backgroundColor` string: The background color of the notification in light mode.
      - `backgroundColorDark` string: The background color of the notification in dark mode.
      - `toggleActiveColor` string
      - `toggleActiveColorDark` string
      - `toggleInactiveColor` string
      - `toggleInactiveColorDark` string
      - `lineBreakColor` string
      - `lineBreakColorDark` string
      - `titleTextColor` string
      - `titleTextColorDark` string
      - `disclosureTintColor` string
      - `disclosureTintColorDark` string
      - `pageHeaderTitle` string
      - `iabVendorsTitle` string
      - `googleVendorsTitle` string
      - `allowAllConsentText` string
      - `filter` object, required
        - `onColor` string
        - `onColorDark` string
        - `color` string
        - `colorDark` string
      - `searchBar` object, required
        - `textColor` string
        - `textColorDark` string
        - `searchPlaceholderText` string
        - `searchNoResultsFoundText` string
        - `searchResultsTotalText` string
        - `backgroundColorDark` string: The background color of the notification in dark mode.
        - `resultsFoundText` string, required
      - `segmentControl` object, required
        - `foreGroundColor` string
        - `foreGroundColorDark` string
        - `selectedForeGroundColor` string
        - `selectedForeGroundColorDark` string
        - `tintColor` string
        - `tintColorDark` string
        - `font` string
        - `selectedFont` string
      - `buttons` object, required: The UI settings for the buttons.
        - `savePreferencesButton` object, required
          - `borderRadius` string: The border radius of the button.
          - `color` string
          - `colorDark` string
          - `fontSize` string
          - `text` string
          - `textColor` string
          - `textColorDark` string
          - `interactionType` string
        - `acceptAll` object: The UI settings for the accept all button.
          - `borderRadius` string: The border radius of the button.
          - `color` string
          - `colorDark` string
          - `fontSize` string
          - `text` string
          - `textColor` string
          - `textColorDark` string
          - `interactionType` string, required
          - `position` number: Applicable to ctv device type only
          - `positionBeforePurpose` number: Applicable to mobile device type only
          - `positionAfterPurpose` number: Applicable to mobile device type only
        - `rejectAll` object
          - `borderRadius` string: The border radius of the button.
          - `color` string
          - `colorDark` string
          - `fontSize` string
          - `text` string
          - `textColor` string
          - `textColorDark` string
          - `interactionType` string, required
          - `position` number: Applicable to ctv device type only
          - `positionBeforePurpose` number: Applicable to mobile device type only
          - `positionAfterPurpose` number: Applicable to mobile device type only
      - `useRTL` boolean, required: The flag that indicates whether to use Right-To-Left text direction.
      - `generalVendorsTitle` string
      - `showTogglesForGeneralVendors` boolean
      - `generalVendorsPolicyText` string
      - `filterVendorListTitle` string
    - `vendorDetailsUIData` object, required
      - `backButtonColor` string
      - `backButtonColorDark` string
      - `vendorsPolicyText` string
      - `legIntClaimPolicyText` string
      - `consentToggleText` string
      - `legitInterestToggleText` string
      - `consentPurposes` string
      - `features` string
      - `specialFeatures` string
      - `specialPurposes` string
      - `legitimateInterestPurposesText` string
      - `lifespan` string
      - `lifespanDay` string
      - `lifespanDays` string
      - `lifespanMonth` string
      - `lifespanMonths` string
      - `disclosureTitle` string
      - `nonCookieUsageText` string
      - `storageIdentifierText` string
      - `storageIdentifierType` string
      - `storagePurposes` string
      - `storageDomain` string
      - `dataDeclarationText` string
      - `dataRetentionText` string
      - `dataStdRetentionText` string
      - `domainsUsed` string
      - `domainUse` string
      - `sdkListText` string
      - `title` object, required
        - `fontSize` string
        - `show` boolean
        - `text` string
        - `textAlign` string
        - `textColor` string
        - `textColorDark` string
      - `description` object, required
        - `show` boolean
        - `fontSize` string
        - `text` string
        - `textAlign` string
        - `textColor` string
        - `textColorDark` string
      - `link` object, required
        - `fontSize` string
        - `show` boolean
        - `text` string
        - `textAlign` string
        - `textColor` string
        - `textColorDark` string
        - `url` string
        - `urlQRCode` string: The QR code for the policy link URL.
  - `otConsentString` string

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).
- `500`: Internal Server Error

---

[API](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp.md) - [All operations](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp/llms.txt) - [OpenAPI document](https://skmtc.dev/onetrust/apis/consent-preferences-consent-management-platform-cmp/revisions/563a5ce3f382?raw)
