beehiiv Data Deletion API

The Data Deletion API from beehiiv — 2 operation(s) for data deletion.

Business capability
Privacy & Data Protection Management BC-130.50

Operations 3

POST /publications/{publicationId}/data_privacy/deletion_requests Create data deletion request OAuth Scope: data_deletion:write #
GET /publications/{publicationId}/data_privacy/deletion_requests List data deletion requests OAuth Scope: data_deletion:read #
GET /publications/{publicationId}/data_privacy/deletion_requests/{id} Get data deletion request OAuth Scope: data_deletion:read #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/beehiiv-data-deletion-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

beehiiv-data-deletion-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference Data Deletion API
  version: 1.0.0
servers:
- url: https://api.beehiiv.com/v2
  description: Default
tags:
- name: Data Deletion
paths:
  /publications/{publicationId}/data_privacy/deletion_requests:
    post:
      operationId: create
      summary: 'Create data deletion request OAuth Scope: data_deletion:write'
      description: 'This is a gated feature that requires enablement. Contact support to enable Data Deletion API access for your organization.


        Creates a data deletion request for a subscriber within your organization. The subscriber''s data will be redacted from all publications in the organization after a 14-day safety delay. This action cannot be undone once processing begins.


        API keys restricted to specific publications cannot access this endpoint and will receive a 403 response, since deletion requests apply to the entire workspace.'
      tags:
      - Data Deletion
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids_PublicationId'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '401':
          description: Unauthorized. The API key or OAuth access token is missing, invalid, or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: The email address of the subscriber to delete.
              required:
              - email
    get:
      operationId: index
      summary: 'List data deletion requests OAuth Scope: data_deletion:read'
      description: 'This is a gated feature that requires enablement. Contact support to enable Data Deletion API access for your organization.


        List all data deletion requests for your organization.


        API keys restricted to specific publications cannot access this endpoint and will receive a 403 response, since deletion requests apply to the entire workspace.'
      tags:
      - Data Deletion
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids_PublicationId'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestIndexResponse'
        '401':
          description: Unauthorized. The API key or OAuth access token is missing, invalid, or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
  /publications/{publicationId}/data_privacy/deletion_requests/{id}:
    get:
      operationId: show
      summary: 'Get data deletion request OAuth Scope: data_deletion:read'
      description: 'This is a gated feature that requires enablement. Contact support to enable Data Deletion API access for your organization.


        Retrieve the details and current status of a specific data deletion request.


        API keys restricted to specific publications cannot access this endpoint and will receive a 403 response, since deletion requests apply to the entire workspace.'
      tags:
      - Data Deletion
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids_PublicationId'
      - name: id
        in: path
        description: The ID of the data deletion request
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestResponse'
        '401':
          description: Unauthorized. The API key or OAuth access token is missing, invalid, or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type__Error'
components:
  schemas:
    type_ids_PublicationId:
      type: string
      description: The prefixed ID of the publication.
      title: PublicationId
    type__ErrorDetail:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
      required:
      - message
      - code
      title: ErrorDetail
    type_dataDeletion_DataDeletionRequestIndexResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestInfo'
        limit:
          type: integer
          description: The limit placed on the results. If no limit was specified in the request, this defaults to 10.
        has_more:
          type: boolean
          description: Whether there are more results available after this page.
        next_cursor:
          type: string
          description: The cursor to use for the next page of results.
      title: DataDeletionRequestIndexResponse
    type_dataDeletion_DataDeletionRequestInfo:
      type: object
      properties:
        id:
          type: string
        email:
          type: string
        status:
          $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestStatus'
        source:
          $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestSource'
        requested_at:
          type: string
        scheduled_for_processing_at:
          type: string
        completed_at:
          type: string
        created_at:
          type: string
      title: DataDeletionRequestInfo
    type_dataDeletion_DataDeletionRequestSource:
      type: string
      enum:
      - zendesk
      - retool
      - website
      - app
      - public_api
      - other
      description: The source from which the deletion request was created.
      title: DataDeletionRequestSource
    type__Error:
      type: object
      properties:
        status:
          type: integer
        statusText:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/type__ErrorDetail'
      required:
      - status
      - statusText
      - errors
      description: The top level error response.
      title: Error
    type_dataDeletion_DataDeletionRequestResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/type_dataDeletion_DataDeletionRequestInfo'
      title: DataDeletionRequestResponse
    type_dataDeletion_DataDeletionRequestStatus:
      type: string
      enum:
      - pending
      - processing
      - completed
      - failed
      - canceled
      description: The current status of the data deletion request.
      title: DataDeletionRequestStatus
  securitySchemes:
    BearerAuthScheme:
      type: http
      scheme: bearer