openapi: 3.0.2
info:
title: Sourcepoint GDPR Standard API
version: 1.0.0
description: Sourcepoint Technologies API for managing property and end-user GDPR Standard information.
servers:
- url: https://cdn.privacy-mgmt.com/consent/tcfv2
paths:
/consent/v3/history/{siteId}:
get:
tags:
- GDPR Standard end-user consent status
summary: Get end-user consent status
description: Returns end-user GDPR Standard consent status for a property. In addition to the `siteId`,
you will also need to include either the end-user's `consentUUID` 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/consentUUID'
- $ref: '#/components/parameters/authId'
- $ref: '#/components/parameters/latest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/getConsentResponse'
/consent/v3/{siteId}:
delete:
tags:
- GDPR Standard end-user consent status
summary: Delete end-user consent status
description: Deletes end-user GDPR Standard consent status for a property. In addition to the `siteId`,
you will also need to include either the end-user's `consentUUID` or `authId`.
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/consentUUID'
- $ref: '#/components/parameters/authId'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
type: object
properties:
n:
type: integer
example: 1
ok:
type: integer
example: 1
deletedCount:
type: integer
example: 1
/vendor-list/vendor-purpose-mapping:
get:
tags:
- GDPR Standard vendor list
summary: Map vendors and purposes
description: 'Returns mapping of vendors and purposes with legal bases on the vendor list associated
with the property.
**Note**: *For each vendor, the response will only include purposes that have a configured legal
basis ( **Consent**, **Legitimate Interest**, **Disclosure Only**). Any purposes that are **Not
Applicable** will not be returned in the response.*
*Additionally, vendors will need at least one purpose with a configured legal basis to be returned
in the response.*'
parameters:
- name: siteId
in: query
required: true
description: The property ID for the property in the Sourcepoint portal.
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/mapResponse'
/vendor-list/vendor-url-mapping:
post:
tags:
- GDPR Standard vendor list
summary: Vendor URL mapping
description: Intended to be used by publishing systems to help determine if a vendor URL has been
defined appropriately in the Sourcepoint system. This API can help developers that are integrating
with Content Management Systems (CMS) verify that a URL referenced in content can be related to
vendor and purpose consent preferences which can be queried and set based on user actions.
Before
utilizing this API, ensure [vendor URL mappings are configured for the vendor](https://docs.sourcepoint.com/hc/en-us/articles/4403605574419#h_01H0N5Q7SC3ZPB47GMRNKR8PG0)
in the Sourcepoint portal.
parameters:
- name: allCategoryMapping
in: query
required: false
description: Will return `categoryMapping` array which details all vendors and their configured
purposes for the property
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
siteId:
type: string
description: Property ID for the property in the Sourcepoint portal.
example: 1234
vendorUrls:
type: array
description: Array of URLs to be matched against
items:
type: string
description: URL
example: www.sourcepoint.com
required:
- siteId
- vendorUrls
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/vendorURLMappingResponse'
components:
schemas:
mapResponse:
description: Returned response to vendor purpose mapping
type: array
items:
type: object
properties:
vendorId:
type: string
description: Unique ID for a vendor
example: abcd2fbeb8e05c306f2aefgh
categories:
type: array
description: Details purposes configured for each vendor
items:
type: object
properties:
id:
type: string
description: Unique ID for purpose
example: 1234e01e32bd4d27654b5678
type:
type: string
description: Legal basis configured for purpose
example: CONSENT
getConsentResponse:
description: Returned response to get consent request
type: array
items:
type: object
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: Date consent status was created
example: '2023-05-08T15:37:18.365Z'
consentUUID:
type: string
description: Consent UUID for end-user
example: 1234f5a8-67c9-4a38-a7cd-6fe4f30a5678
messageId:
type: integer
description: ID of the first layer message shown to end-user
example: 123456
vendorListId:
type: string
description: ID of the vendor list
example: 9876a560b8e05c06542b2a31
vendors:
type: array
description: Vendors consented to
items:
anyOf:
- $ref: '#/components/schemas/customVendors'
- $ref: '#/components/schemas/GoogleATPVendors'
legIntVendors:
type: array
description: Vendors consented to who use legitimate interest as a legal basis for at least
one purpose.
items:
anyOf:
- $ref: '#/components/schemas/customVendors'
- $ref: '#/components/schemas/GoogleATPVendors'
categories:
type: array
description: Purposes consented to
items:
$ref: '#/components/schemas/customPurposes'
legIntCategories:
type: array
description: Purposes consented to who use legitimate interest as a legal basis.
items:
$ref: '#/components/schemas/customPurposes'
customVendors:
description: Returns custom vendor information
properties:
id:
type: string
description: Sourcepoint vendor ID
example: 5f23e826b8e05c0c0abcdef
name:
type: string
description: Vendor name
example: Custom vendor example
vendorType:
type: string
description: Vendor type
example: CUSTOM
GoogleATPVendors:
description: Returns Google ATP vendor information
properties:
id:
type: string
description: Sourcepoint vendor ID
example: 1234abcd5678efgh0d4fdb8f
name:
type: string
description: Vendor name
example: Google ATP vendor
vendorType:
type: string
description: Vendor type
example: CUSTOM
googleId:
type: integer
description: Google vendor ID
example: 1234
customPurposes:
description: Returns custom purpose information
properties:
id:
type: string
description: Sourcepoint purpose ID
example: 5fdbbcdf4f3f9789140e23a0
name:
type: string
description: Purpose name
example: Custom purpose example
vendorURLMappingResponse:
description: Returns vendor URL mapping for property
properties:
vendorUrlMapping:
type: array
items:
type: object
properties:
url:
type: string
description: URL that is being mapped and has been passed in the body of the request.
example: www.sourcepoint.com
matchPattern:
type: array
description: Pattern(s) matched for a particular vendor.
items:
type: object
properties:
ruleBoolean:
type: boolean
description: Boolean field in the pattern configuration for the vendor (i.e. MUST
or MUST NOT).
example: true
type:
type: string
description: Type of match made to the urlPattern (e.g. "MATCH", "BEGINS_WITH",
"ENDS_WITH")
example: CONTAINS
urlPattern:
type: string
description: URL pattern for comparison configured in Sourcepoint portal for vendor
example: sourcepoint.com
rules:
type: array
description: All patterns configured for the vendor.
items:
type: object
properties:
patterns:
type: array
items:
type: object
properties:
ruleBoolean:
type: boolean
description: Boolean field in the pattern configuration for the vendor (i.e.
MUST or MUST NOT).
example: true
type:
type: string
description: Type of match made to the urlPattern (e.g. "MATCH", "BEGINS_WITH",
"ENDS_WITH")
example: CONTAINS
urlPattern:
type: string
description: URL pattern for comparison configured in Sourcepoint portal for
vendor
example: sourcepoint.com
vendorId:
type: string
description: Sourcepoint ID for the vendor
example: 5f23e826b8e05c0c0d4fdb8f
vendorType:
type: string
description: Type of vendor (i.e. CUSTOM)
example: CUSTOM
name:
type: string
description: Name of the vendor
example: Sourcepoint Technologies, Inc. (non-CMP)
description:
type: string
description: If configured for the vendor in the Sourcepoint portal, the description of
the vendor.
example: Description example for the vendor
policyUrl:
type: string
description: If available, the URL to the vendor's privacy policy
example: https://www.sourcepoint.com/privacy-notice/
purposes:
type: array
description: Details the purposes configured for the vendor.
items:
type: object
properties:
id:
type: string
description: ID for purpose
example: 5fdbbcdf4f3f9789140e23a0
type:
type: string
description: Legal basis configured for the purpose.
example: CONSENT
categoryMapping:
description: Only returned if the allCategoryMapping query parameter is set to true. Details
**all** the vendors and their configured purposes for the property.
type: array
items:
type: object
properties:
vendorId:
type: string
description: Sourcepoint ID for the vendor
example: 23452fbeb8e05c3057240f85
categories:
type: array
items:
type: object
properties:
id:
type: string
description: ID for purpose
example: 5fd7e01e32bd4d27654ba1d5
type:
type: string
description: Legal basis configured for the purpose.
example: LEGITIMATE_INTEREST
parameters:
consentUUID:
name: consentUUID
in: query
description: Retrieved from the first-party cookie consentUUID
required: false
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