openapi: 3.0.2 info: title: Preferences API version: 1.0.0 description: Sourcepoint Technologies API for managing end-user Preferences data. servers: - url: https://cdn.privacy-mgmt.com/preferences paths: /user-preference/history: get: tags: - Preferences end-user history summary: Get end-user preferences history description: Returns end-user preferences history. In addition to the `accountId`, you will also need to include either the end-user's `uuid` or `authId` in the `id` parameter. parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/preferencesHistory' example: - system: SP messageId: 1326089 propertyId: 12345 vendorListId: 677c0006b4aaddaae14c1234a timestamp: '2025-07-15T18:53:13.907Z' categories: - id: 0 name: AI Waiver type: LEGAL-TRANSACTION subType: AI-POLICY legalDoc: id: abc123 name: AI Policy 2025 - id: 4 name: Customer Service Communication type: MARKETING _id: 6877a0b70b23e3a5cbe11234 /user-preference: delete: tags: - Preferences end-user history summary: Delete end-user preferences history description: Deletes end-user preferences history for a property. In addition to the `propertyId`, you will also need to include either the end-user's `uuid` or `authId`. parameters: - name: propertyId in: query 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/deletePreferencesHistory' components: schemas: preferencesHistory: description: Returned response for successful get end-user preferences history. type: array items: type: object properties: system: type: string description: System powering the message for which the end-user performed the transaction. If syncing with a third-party vendor (e.g. Hubspot) then the system powering the message can be the third-party if the action was taken through a message served by that party. messageId: type: number description: ID of the Preferences message within the Sourcepoint portal propertyId: type: number description: ID of the property within the Sourcepoint portal. vendorListId: type: string description: ID of the Preferences configuration within the Sourcepoint portal. timestamp: type: string description: Date and time end-user performed their preference choice transaction. categories: type: array description: Preferences categories accepted by the end-user. items: type: object properties: id: type: number description: Category ID for the Marketing preference category or Legal preference category. name: type: string description: Name configured for the Marketing preference category or Legal preference category. type: type: string description: Identifies whether the category is a Marketing preference or Legal preference category. subType: type: string description: Returned when the category is a Legal preference category and reflects the Document Type selected for the Legal preference category. legalDoc: type: object properties: id: type: string description: ID of the legal document mapped to the Legal document category that was opted-into by the end-user. name: type: string description: Name of the legal document mapped to the Legal document category that was opted-into by the end-user. _id: type: string description: ID of the end-user transaction where they made their preferences choice. example: 6877a0b70b23e3a5cbe11234 deletePreferencesHistory: description: Returned response for successful delete end-user preferences history request. type: object properties: deletedCount: type: number description: Number of preference records associated with the uuid or authId that was deleted. example: 4 message: type: string description: Confirmation message. example: Successfully deleted 4 user preference record(s) parameters: uuid: name: uuid in: query description: Retrieved from preferences object in the `_sp_user_consent_{propertyId}` local storage item required: false schema: type: string authId: name: authId in: query description: Retrieved from the first-party cookie `authId` required: false schema: type: string accountId: name: accountId in: query description: Your organization's Sourcepoint account ID. required: true schema: type: number id: name: id in: query description: The end-user's uuid or authId required: true schema: type: string x-readme: explorer-enabled: true proxy-enabled: true