UserGems Privacy API

Honor data-subject deletion requests for tracked contacts.

OpenAPI Specification

usergems-privacy-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: UserGems Accounts Privacy API
  description: 'The UserGems API lets customers programmatically add contacts to track for job

    changes and add accounts to receive prospects for. It also exposes a privacy

    delete endpoint used to honor data-subject removal requests. Requests are

    authenticated with a customer-issued API key sent in the X-Api-Key header and

    are processed asynchronously — responses confirm enqueueing, not completion.

    '
  version: 1.0.0
  contact:
    name: UserGems
    url: https://www.usergems.com
    email: support@usergems.com
  license:
    name: UserGems Terms of Service
    url: https://www.usergems.com/legal/terms
servers:
- url: https://api.usergems.com/v1
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Privacy
  description: Honor data-subject deletion requests for tracked contacts.
paths:
  /privacy/delete:
    post:
      summary: Privacy Delete
      description: 'Honor a data-subject deletion request. Removes the contact identified by

        email from all UserGems tracking surfaces. Designed to satisfy GDPR and

        CCPA right-to-erasure obligations.

        '
      operationId: privacyDelete
      tags:
      - Privacy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrivacyDeleteRequest'
            examples:
              PrivacyDeleteExample:
                $ref: '#/components/examples/PrivacyDeleteExample'
      responses:
        '200':
          description: Contact removed from UserGems systems.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueAck'
              examples:
                PrivacyDeleteAck:
                  $ref: '#/components/examples/PrivacyDeleteAck'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
        5XX:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    PrivacyDeleteRequest:
      type: object
      required:
      - email
      properties:
        email:
          type: string
          format: email
          description: Email address of the data subject whose record must be removed.
    QueueAck:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: Human-readable confirmation message.
    Error:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Optional machine-readable error code.
  responses:
    ErrorResponse:
      description: Error response. UserGems returns standard HTTP status codes (400, 401, 403, 404, 405, 406, 410, 429, 500, 503).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  examples:
    PrivacyDeleteExample:
      summary: Honor a right-to-erasure request
      value:
        email: jane.doe@example.com
    PrivacyDeleteAck:
      summary: Contact removed for privacy
      value:
        message: Contact removed
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 'Customer-issued API key. Request a key from support@usergems.com. The

        key must be included on every request in the X-Api-Key header.

        '