Adyen Data Protection API

Adyen Data Protection API provides a way for you to process Subject Erasure Requests as mandated in GDPR. Use our API to submit a request to delete shopper's data, including payment details and other related information.

OpenAPI Specification

data-protection-openapi-original.yml Raw ↑
openapi: 3.1.0
servers:
- url: https://ca-test.adyen.com/ca/services/DataProtectionService/v1
info:
  version: '1'
  x-publicVersion: true
  title: Adyen Data Protection API
  description: >-
    Adyen Data Protection API provides a way for you to process [Subject Erasure
    Requests](https://gdpr-info.eu/art-17-gdpr/) as mandated in GDPR. Use our
    API to submit a request to delete shopper''s data, including payment details
    and other related information (for example, delivery address or shopper
    email).
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
tags:
- name: requestSubjectErasure
paths:
  /requestSubjectErasure:
    post:
      tags:
      - requestSubjectErasure
      summary: Adyen Submit a Subject Erasure Request.
      description: >-
        Sends the PSP reference containing the shopper data that should be
        deleted.
      operationId: post-requestSubjectErasure
      x-sortIndex: 0
      x-methodName: requestSubjectErasure
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubjectErasureByPspReferenceRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubjectErasureResponse'
              examples:
                post-requestSubjectErasure200Example:
                  summary: Default post-requestSubjectErasure 200 response
                  x-microcks-default: true
                  value:
                    result: ACTIVE_RECURRING_TOKEN_EXISTS
          description: OK - the request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-requestSubjectErasure400Example:
                  summary: Default post-requestSubjectErasure 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-requestSubjectErasure401Example:
                  summary: Default post-requestSubjectErasure 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-requestSubjectErasure403Example:
                  summary: Default post-requestSubjectErasure 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-requestSubjectErasure422Example:
                  summary: Default post-requestSubjectErasure 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-requestSubjectErasure500Example:
                  summary: Default post-requestSubjectErasure 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ServiceError:
      properties:
        errorCode:
          description: The error code mapped to the error message.
          type: string
        errorType:
          description: The category of the error.
          type: string
        message:
          description: A short explanation of the issue.
          type: string
        pspReference:
          description: The PSP reference of the payment.
          type: string
        status:
          description: The HTTP response status.
          format: int32
          type: integer
      type: object
    SubjectErasureByPspReferenceRequest:
      properties:
        forceErasure:
          description: >-
            Set this to **true** if you want to delete shopper-related data,
            even if the shopper has an existing recurring transaction. This only
            deletes the shopper-related data for the specific payment, but does
            not cancel the existing recurring transaction.
          type: boolean
        merchantAccount:
          description: Your merchant account
          type: string
        pspReference:
          description: >-
            The PSP reference of the payment. We will delete all shopper-related
            data for this payment.
          type: string
      type: object
    SubjectErasureResponse:
      properties:
        result:
          description: The result of this operation.
          enum:
          - ACTIVE_RECURRING_TOKEN_EXISTS
          - ALREADY_PROCESSED
          - PAYMENT_NOT_FOUND
          - SUCCESS
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
  examples: {}