openapi: 3.2.0
info:
title: Sourcepoint GDPR TCF GDPR TCF vendor list API
version: 1.0.0
description: Sourcepoint Technologies API for managing property and end-user GDPR TCF information.
servers:
- url: https://cdn.privacy-mgmt.com/consent/tcfv2
tags:
- name: GDPR TCF vendor list
paths:
/vendor-list/vendor-purpose-mapping:
get:
tags:
- GDPR TCF vendor list
summary: Map vendors and purposes
description: 'Returns mapping of vendors and purposes with legal bases for 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 TCF 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/4403605562259#h_01H08080CKBEKA9KBF6AHFB1TC) 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'
/vendor-list/vendors:
get:
tags:
- GDPR TCF vendor list
summary: Retrieve vendors on vendor list
description: Returns a list of vendors for the GDPR TCF vendor list associated with the specified property.
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/vendors'
components:
schemas:
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 (e.g. IAB, Custom, etc...)
example: IAB
iabId:
type: integer
description: If available, the vendor's IAB ID.
example: 590
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
vendors:
description: Returns vendors on the vendor list associated with the property.
properties:
vendors:
type: array
items:
type: object
properties:
_id:
type: string
description: ID of the vendor
example: 623454ae293cdf6fc91234
name:
type: string
description: Name of the vendor
example: Vendor name
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
x-readme:
explorer-enabled: true
proxy-enabled: true