openapi: 3.0.2 info: title: Sourcepoint U.S. Multi-State Privacy API version: 1.0.0 description: Sourcepoint Technologies API for managing property and end-user U.S. Multi-State Privacy information. servers: - url: https://cdn.privacy-mgmt.com/usnat paths: /consent/history/{siteId}: get: tags: - U.S. Multi-State Privacy 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 either the end-user's `usnatUUID` 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: - U.S. Multi-State Privacy end-user consent status summary: Delete end-user consent status description: Deletes end-user U.S. Multi-State Privacy consent status for a property. In addition to the `siteId`, you will also need to include either the end-user's `usnatUUID` 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/uuid' - $ref: '#/components/parameters/authId' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/deleteConsentStatus' /consent/{siteId}/reject-all: post: tags: - U.S. Multi-State Privacy end-user consent status summary: Opt-out all privacy choices and vendors description: Opt-out of all vendors and privacy choices for an end-user's consent profile within the U.S. Multi-State Privacy framework. In addition to the `siteId`, you will also need to include the end-user's `authId` or `uuid`.

**Note:** This is a server-side call and will not update client-side end-user consent unless your organization is utilizing `authId`. To opt an end-user out of all vendors and purposes using their `uuid` please refer to [postRejectAll command](https://sourcepoint-public-api.readme.io/reference/postrejectall-4). 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/rejectAll' components: schemas: rejectAll: description: Returned response for opt-out of all privacy choices and vendors type: object properties: applies: type: boolean description: 'true: end-user''s region is in the framework territories | false: end-user''s region is not in the framework territories' example: true applicableSections: type: array items: type: string description: Section ID considered to be enforced for this transaction. In most cases, this field should have a single section ID. In rare occasions where such a single section ID can not be determined, the field may contain up to 2 values. [Click here](https://github.com/InteractiveAdvertisingBureau/Global-Privacy-Platform/blob/main/Sections/Section%20Information.md#section-ids) for more information on section ID values. example: 7 categories: type: array items: type: string description: Privacy choices opted into by the end-user. A successful reject all call should produce an empty array. example: null gpcEnabled: type: boolean description: '`true` if the vendor list utilizes *Respect Global Privacy Control* setting and the end-user''s browser had GPC enabled when the consent history record was created.' example: false consentedToAll: type: boolean description: Is consent profile consented to all vendors and privacy choices on the vendor list? A successful reject all call should produce a `false` response. example: false rejectedAny: type: boolean description: Has consent profile reject any privacy choices or vendors? A successful reject all call should produce a `true` response. example: true consentStatus: type: object properties: rejectedAny: type: boolean description: Has consent profile reject any privacy choices or vendors? A successful reject all call should produce a `true` response. example: true consentedToAll: type: boolean description: Is consent profile consented to all vendors and privacy choices on the vendor list? A successful reject all call should produce a `false` response. example: false consentedToAny: type: boolean description: Is consent profile consented to any vendors and privacy choices on the vendor list? A successful reject all call should produce a `false` response. example: false granularStatus: type: object properties: sellStatus: type: boolean description: Is consent profile consented to the selling of personal data? A successful reject all call should produce a `false` response. example: false shareStatus: type: boolean description: Is consent profile consented to the sharing of personal data? A successful reject all call should produce a `false` response. example: false sensitiveDataStatus: type: boolean description: Is consent profile consented to the processing of any sensitive data category? A successful reject all call should produce a `false` response. example: false gpcStatus: type: boolean description: Did end-user have gpc enabled on their browser? example: false previousOptInAll: type: boolean description: Was the end-user's consent profile previously opted into all privacy choices and vendors? example: false hasConsentData: type: boolean description: Does the end-user have consent data? example: true consentStrings: type: array items: type: object properties: sectionId: type: number description: Section ID considered to be enforced for this transaction. example: 7 sectionName: type: string description: Section name considered to be enforced for this transaction example: usnat consentString: type: string description: End-user consent string. example: BVVVUAAAAgA sectionId: type: number description: Section ID considered to be enforced for this transaction. example: 7 dateCreated: type: string description: The date of reject all action example: '2025-06-13T14:40:09.318Z' expirationDate: type: string description: When the end-user's consent profile expires example: '2025-06-23T14:40:09.318Z' uuid: type: string description: End-user's unique id for which a consent profile is stored against. example: 68837d4a-d61a-4777-af52-03683c411cc3_126 cookies: type: array description: Cookies created/updated items: anyOf: - $ref: '#/components/schemas/usnatUUIDcookie' - $ref: '#/components/schemas/consentDateUsnat' usnatUUIDcookie: type: object properties: key: type: string example: usnatUUID value: type: string example: 68837d4a-d61a-4777-af52-03683c411cc3_126 maxAge: type: number example: 864000 shareRootDomain: type: boolean example: true consentDateUsnat: type: object properties: key: type: string example: consentDateUsnat value: type: string example: '2025-06-13T14:40:09.318Z' maxAge: type: number example: 864000 shareRootDomain: type: boolean example: true 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`usnat` 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 U.S. Multi-State Privacy 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: Whether the vendor is an IAB vendor or custom vendor example: IAB 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`usnat` 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 schema: type: boolean x-readme: explorer-enabled: true proxy-enabled: true