Sourcepoint Global Enterprise API

REST API for the Global Enterprise consent product, providing a single multi-regulation consent surface across global properties. Supports retrieving end-user consent history, deleting consent status, and web methods including getUserConsents and postRejectAll for cross-regulation consent orchestration.

OpenAPI Specification

sourcepoint-global-enterprise-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Sourcepoint Global Enterprise API
  version: 1.0.0
  description: Sourcepoint Technologies API for managing property and end-user Global Enterprise information.
servers:
- url: https://cdn.privacy-mgmt.com/global-cmp
paths:
  /consent/history/{siteId}:
    get:
      tags:
      - Global Enterprise end-user consent status
      summary: Get end-user consent history
      description: Returns end-user consent history. In addition to the `siteId`, you will also need to
        include <u>either</u> the end-user's `globalcmpUUID` or `authId`.
      parameters:
      - name: siteId
        in: path
        required: true
        description: The property ID for the property in the Sourcepoint portal.
        schema:
          type: integer
      - $ref: '#/components/parameters/uuid'
      - $ref: '#/components/parameters/authId'
      - $ref: '#/components/parameters/latest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getConsentHistory'
  /consent/{siteId}:
    delete:
      tags:
      - Global Enterprise end-user consent status
      summary: Delete end-user consent status
      description: Deletes end-user Global Enterprise consent status for a property. In addition to the
        `siteId`, you will also need to include <u>either</u> the end-user's `globalcmpUUID` or `authId`.<br><br>This
        endpoint does not support mass deletions of end-user consent records. Please speak to your Sourcepoint
        representative to execute any mass deletions.
      parameters:
      - name: siteId
        in: path
        required: true
        description: The property ID for the property in the Sourcepoint portal.
        schema:
          type: integer
      - $ref: '#/components/parameters/uuid'
      - $ref: '#/components/parameters/authId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deleteConsentStatus'
components:
  schemas:
    deleteConsentStatus:
      description: Returned response to delete consent status
      type: array
      items:
        type: object
        properties:
          acknowledged:
            type: boolean
            example: true
          deletedCount:
            type: number
            example: 1
    getConsentHistory:
      description: Returned response to get consent history
      type: array
      items:
        type: object
        description: Consent status entry for the given `dateCreated`
        properties:
          _id:
            type: string
            description: Unique identifier for the consent record
            example: 6842d825666f5a1254fd263f
          siteId:
            type: number
            description: Sourcepoint ID for property.
            example: 39470
          dateCreated:
            type: string
            description: The date the consent status was created/last updated.
            example: '2023-08-07T14:17:35.388Z'
          uuid:
            type: string
            description: Retrieved from`globalcmp` object in the `_sp_user_consent_{propertyId}` local
              storage item
            example: abcd0c03-b8d6-49a4-a2e8-6bbcb8d0e1d7
          messageId:
            type: number
            description: First layer message ID.
            example: 123456
          privacyManagerId:
            type: string
            description: Privacy manager ID. This property will be `null` if consent was given from the
              first layer message.
            example: 987654
          vendorListId:
            type: string
            description: The Global Enterprise vendor list associated with the property
            example: 656a2175e17a3c2f823f12345
          vendors:
            type: array
            description: Vendors that have been opted into by the end-user. A vendor is considered opted
              into if at least one of the mapped privacy choices to the vendor is opted into.
            items:
              type: object
              properties:
                _id:
                  type: string
                  description: Vendor ID
                  example: 5e37fc3e56a5e60e0031234
                name:
                  type: string
                  description: Name of the vendor
                  example: Demo vendor name
                vendorType:
                  type: string
                  description: Type of vendor
                  example: CUSTOM
          categories:
            type: array
            description: Privacy choices that has been opted into by the end-user
            items:
              type: object
              properties:
                _id:
                  type: string
                  description: Privacy choice ID
                  example: 656f28c517853af88460a54a
                name:
                  type: string
                  description: Name of the privacy choice
                  example: Sell or share my personal information / opt into targeted advertising
                systemId:
                  type: number
                  description: If available, a global ID that remains the same across all vendor lists
                    for Sourcepoint-supplied privacy choices. Custom privacy choices do not have system
                    IDs because they vary for each vendor list.
                  example: 3
  parameters:
    uuid:
      name: uuid
      in: query
      description: Retrieved from`globalcmp` object in the `_sp_user_consent_{propertyId}` local storage
        item
      schema:
        type: string
    authId:
      name: authId
      in: query
      description: Retrieved from the first-party cookie authId
      required: false
      schema:
        type: string
    latest:
      name: latest
      in: query
      description: (Optional) Only return latest consent record for the end-user
      required: false
      schema:
        type: boolean
x-readme:
  explorer-enabled: true
  proxy-enabled: true