Genesys General Data Protection Regulation API

Working with General Data Protection Regulation (GDPR) requests

OpenAPI Specification

genesys-general-data-protection-regulation-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Agent Assistants General Data Protection Regulation API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
host: api.mypurecloud.com
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: General Data Protection Regulation
  description: Working with General Data Protection Regulation (GDPR) requests
  externalDocs:
    description: GDPR Documentation
    url: https://developer.genesys.cloud/gdprprivacy/
paths:
  /api/v2/gdpr/requests/{requestId}:
    get:
      tags:
      - General Data Protection Regulation
      summary: Get an existing GDPR request
      description: ''
      operationId: getGdprRequest
      produces:
      - application/json
      parameters:
      - name: requestId
        in: path
        description: Request id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/GDPRRequest'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - gdpr
        - gdpr:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - gdpr:request:view
      x-purecloud-method-name: getGdprRequest
  /api/v2/gdpr/requests:
    get:
      tags:
      - General Data Protection Regulation
      summary: Get all GDPR requests
      description: ''
      operationId: getGdprRequests
      produces:
      - application/json
      parameters:
      - name: pageSize
        in: query
        description: Page size
        required: false
        type: integer
        default: 25
        format: int32
      - name: pageNumber
        in: query
        description: Page number
        required: false
        type: integer
        default: 1
        format: int32
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/GDPRRequestEntityListing'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - gdpr
        - gdpr:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - gdpr:request:view
      x-purecloud-method-name: getGdprRequests
    post:
      tags:
      - General Data Protection Regulation
      summary: Submit a new GDPR request
      description: ''
      operationId: postGdprRequests
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: GDPR request
        required: true
        schema:
          $ref: '#/definitions/GDPRRequest'
      - name: deleteConfirmed
        in: query
        description: Confirm delete
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/GDPRRequest'
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/GDPRRequest'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - gdpr
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - gdpr:request:add
      x-purecloud-method-name: postGdprRequests
  /api/v2/gdpr/subjects:
    get:
      tags:
      - General Data Protection Regulation
      summary: Get GDPR subjects
      description: ''
      operationId: getGdprSubjects
      produces:
      - application/json
      parameters:
      - name: searchType
        in: query
        description: Search Type
        required: true
        type: string
        enum:
        - NAME
        - ADDRESS
        - PHONE
        - EMAIL
        - TWITTER
        - INSTAGRAM
        - FACEBOOK
        - APPLE_MESSAGES
        - EXTERNAL_ID
      - name: searchValue
        in: query
        description: Search Value
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/GDPRSubjectEntityListing'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.error: An internal server error occurred.
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - gdpr
        - gdpr:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - gdpr:subject:view
      x-purecloud-method-name: getGdprSubjects
definitions:
  GDPRSubject:
    type: object
    properties:
      name:
        type: string
      userId:
        type: string
      externalContactId:
        type: string
      dialerContactId:
        $ref: '#/definitions/DialerContactId'
      journeyCustomer:
        $ref: '#/definitions/GDPRJourneyCustomer'
      socialHandle:
        $ref: '#/definitions/SocialHandle'
      externalId:
        type: string
      addresses:
        type: array
        items:
          type: string
      phoneNumbers:
        type: array
        items:
          type: string
      emailAddresses:
        type: array
        items:
          type: string
  ErrorBody:
    type: object
    properties:
      message:
        type: string
      code:
        type: string
      status:
        type: integer
        format: int32
      entityId:
        type: string
      entityName:
        type: string
      messageWithParams:
        type: string
      messageParams:
        type: object
        additionalProperties:
          type: string
      contextId:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/Detail'
      errors:
        type: array
        items:
          $ref: '#/definitions/ErrorBody'
      limit:
        $ref: '#/definitions/Limit'
  SocialHandle:
    type: object
    properties:
      type:
        type: string
        description: Social Handle Type
        enum:
        - TWITTER
        - INSTAGRAM
        - FACEBOOK
        - APPLE_MESSAGES
      value:
        type: string
  GDPRRequest:
    type: object
    required:
    - createdBy
    - createdDate
    - requestType
    - status
    - subject
    properties:
      id:
        type: string
        description: The globally unique identifier for the object.
        readOnly: true
      name:
        type: string
      createdBy:
        description: The user that created this request
        readOnly: true
        $ref: '#/definitions/DomainEntityRef'
      replacementTerms:
        type: array
        example: '[ { "type": "EMAIL": "existingValue": "personal.email@domain.com", "updatedValue": "updated.personal.email@domain.com" } ]'
        description: The replacement terms for the provided search terms, in the case of a GDPR_UPDATE request
        items:
          $ref: '#/definitions/ReplacementTerm'
      requestType:
        type: string
        description: The type of GDPR request
        enum:
        - GDPR_EXPORT
        - GDPR_UPDATE
        - GDPR_DELETE
      createdDate:
        type: string
        format: date-time
        description: 'When the request was submitted. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z'
        readOnly: true
      status:
        type: string
        description: The status of the request
        readOnly: true
        enum:
        - INITIATED
        - SEARCHING
        - UPDATING
        - DELETING
        - COMPLETED
        - ERROR
        - FINALIZING
      subject:
        example: '{ "emailAddresses": ["personal.email@domain.com"], "phoneNumbers": ["+13115552368"] }'
        description: The subject of the GDPR request
        $ref: '#/definitions/GDPRSubject'
      resultsUrl:
        type: string
        description: The location where the results of the request can be retrieved
        readOnly: true
      resultsUrls:
        type: array
        description: The locations where the results of the request can be retrieved if multiple archive files created
        readOnly: true
        items:
          type: string
      selfUri:
        type: string
        format: uri
        description: The URI for this object
        readOnly: true
  GDPRJourneyCustomer:
    type: object
    properties:
      type:
        type: string
        description: The type of the customerId within the Journey System (e.g. cookie). Required if `id` is defined.
      id:
        type: string
        description: An ID of a customer within the Journey System at a point-in-time. Required if `type` is defined.
  DomainEntityRef:
    type: object
    properties:
      id:
        type: string
      name:
        type: string
      selfUri:
        type: string
        format: uri
  GDPRRequestEntityListing:
    type: object
    properties:
      entities:
        type: array
        items:
          $ref: '#/definitions/GDPRRequest'
      pageSize:
        type: integer
        format: int32
      pageNumber:
        type: integer
        format: int32
      total:
        type: integer
        format: int64
      firstUri:
        type: string
        format: uri
      nextUri:
        type: string
        format: uri
      previousUri:
        type: string
        format: uri
      lastUri:
        type: string
        format: uri
      selfUri:
        type: string
        format: uri
      pageCount:
        type: integer
        format: int32
  ReplacementTerm:
    type: object
    properties:
      type:
        type: string
        description: Replacement term type
        enum:
        - NAME
        - ADDRESS
        - PHONE
        - EMAIL
        - TWITTER
        - INSTAGRAM
        - FACEBOOK
        - APPLE_MESSAGES
        - EXTERNAL_ID
      existingValue:
        type: string
      updatedValue:
        type: string
  Limit:
    type: object
    properties:
      key:
        type: string
      namespace:
        type: string
        enum:
        - web.deployments
        - web.messaging
        - agent.assistant
        - agentic.virtual.agents
        - analytics.agents
        - analytics.alerting
        - analytics.data.extract

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/genesys/refs/heads/main/openapi/genesys-general-data-protection-regulation-api-openapi.yml