Attentive Privacy Request API

You can use the Privacy Request API in order to comply with [California Consumer Privacy Act](https://epic.org/california-consumer-privacy-act-ccpa/) deletion requests through Attentive. For more information, you can review [Attentive’s FAQs for CCPA](https://attentivemobile.atlassian.net/wiki/download/attachments/629309474/Attentive%20FAQs%20for%20CCPA.pdf?version=4&modificationDate=1585845052142&cacheVersion=1&api=v2) or the [Important Notice Regarding the CCPA of 2018](https://attentivemobile.atlassian.net/wiki/download/attachments/629309474/Important%20Notice%20Regarding%20the%20California%20Consumer%20Privacy%20Act%20of%202018%20(CCPA).pdf?version=1&modificationDate=1579115568586&cacheVersion=1&api=v2). If you submit an email address or phone number that matches a user for the identified Company or Brand, Attentive will process your deletion request for the matching user(s) only. A user's data may not be deleted if it does not match at least one of the data elements you submitted in the request (email address or phone number). Attentive may reach out to you if we require additional instructions to process your request.

OpenAPI Specification

attentive-privacy-request-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: For any questions, reach out to your Attentive point of contact (if applicable) or [api@attentivemobile.com](mailto:api@attentivemobile.com).
  title: Attentive Access Token Privacy Request API
  version: ''
servers:
- url: https://api.attentivemobile.com/v1
  description: Attentive API
security:
- bearerAuth: []
tags:
- name: Privacy Request
  description: 'You can use the Privacy Request API in order to comply with [California Consumer Privacy Act](https://epic.org/california-consumer-privacy-act-ccpa/)

    deletion requests through Attentive. For more information, you can review [Attentive’s FAQs for CCPA](https://attentivemobile.atlassian.net/wiki/download/attachments/629309474/Attentive%20FAQs%20for%20CCPA.pdf?version=4&modificationDate=1585845052142&cacheVersion=1&api=v2)

    or the [Important Notice Regarding the CCPA of 2018](https://attentivemobile.atlassian.net/wiki/download/attachments/629309474/Important%20Notice%20Regarding%20the%20California%20Consumer%20Privacy%20Act%20of%202018%20(CCPA).pdf?version=1&modificationDate=1579115568586&cacheVersion=1&api=v2).


    If you submit an email address or phone number that matches a user for the identified Company or Brand, Attentive will process your deletion request for the matching user(s) only. A user''s data may not be deleted if it does not match at least one of the data elements you submitted in the request (email address or phone number). Attentive may reach out to you if we require additional instructions to process your request.

    '
  x-beta: false
paths:
  /privacy/delete-request:
    post:
      x-external: true
      x-emits-event: true
      summary: Add a deletion request
      description: 'Make a call to this endpoint to create a new privacy deletion request. This will delete a subscriber within thirty days, provided the call was successful. Use the GET endpoint with the id returned to confirm deletion.

        '
      security:
      - OAuthFlow:
        - privacy_requests:write
      tags:
      - Privacy Request
      operationId: addDeleteRequest
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrivacyRequestAddDeleteEventDto'
      responses:
        '200':
          description: Delete request added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivacyRequestDto'
              example:
                id: 123abc
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivacyRequestErrorDto'
              example:
                error: Must either specify subscriberPhone or subscriberEmail
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
  /privacy/delete-request/{id}:
    get:
      x-external: true
      x-emits-event: true
      summary: Get a CCPA delete request by Id
      security:
      - OAuthFlow:
        - privacy_requests:read
      tags:
      - Privacy Request
      operationId: getDeleteRequest
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
        description: Alphanumeric ID of the request to get
      responses:
        '200':
          description: Delete request fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivacyRequestDto'
              example:
                id: 123abc
                processed: true
                type: DELETE
                subjectPhone: +*****5555
                subjectEmail: a**@website.com
                requestMsg: The subscriber requested to be removed
                requestDateTime: 2020-09-02T17:44:23.875+0000
                processingStartDateTime: 2020-09-02T17:45:23.875+0000
                processingEndDateTime: 2020-09-02T17:46:23.875+0000
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    InternalError:
      description: Internal Server Error
    Unauthorized:
      description: Unauthorized
    NotFound:
      description: The specified resource was not found
    TooManyRequests:
      description: The user has sent too many requests in a given amount of time
    AccessDenied:
      description: Access Denied
  schemas:
    PrivacyRequestErrorDto:
      type: object
      properties:
        error:
          type: string
          description: Error Message
    PrivacyRequestDto:
      type: object
      properties:
        id:
          type: string
          description: ID of the privacy request.
        processed:
          type: boolean
          description: Status of the request.
        type:
          type: string
          description: Type of the request.
        subjectEmail:
          type: string
          description: Email of a subscriber.
        subjectPhone:
          type: string
          description: Phone of a subscriber.
        requestMsg:
          type: string
          description: An optional message for an audit trail.
        requestDateTime:
          type: string
          description: Timestamp of when the request was made.
        processingStartDateTime:
          type: string
          description: Timestamp of when processing of the request began.
        processingEndDateTime:
          type: string
          description: Timestamp of when processing of the request completed.
    PrivacyRequestAddDeleteEventDto:
      type: object
      properties:
        subjectEmail:
          type: string
          description: Email of a subscriber. Only required if __subjectPhone__ is empty.
        subjectPhone:
          type: string
          description: Phone of a subscriber. Only required if __subjectEmail__ is empty.
        requestMsg:
          type: string
          description: An optional message for an audit trail.
        clientUserId:
          type: string
          description: ClientUserId of a subscriber. Only required if __subjectEmail__ and __subjectPhone__ is empty.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuthFlow:
      type: oauth2
      description: This API uses OAuth 2 with the authorization code grant flow. [More info](https://docs.attentivemobile.com/pages/authentication/)
      flows:
        authorizationCode:
          authorizationUrl: https://ui-devel.attentivemobile.com/integrations/oauth-install?client_id={clientId}&redirect_uri={redirectUri}&scope={scope}
          tokenUrl: https://api.attentivemobile.com/v1/authorization-codes/tokens
          scopes:
            attributes:write: read and write custom attributes
            subscriptions:write: read and write subscriptions
            events:write: read and write custom events
            ecommerce:write: read and write ecommerce events
            segments:write: read and write segments
            segments:read: read segments
x-readme:
  explorer-enabled: false