beehiiv website screenshot

beehiiv

beehiiv is a newsletter publishing platform offering email publishing, subscriber management, paid subscriptions, an ad network, referrals, polls, automations, segments, webhooks, and analytics for creators and media companies. Founded in 2021 by former Morning Brew operators and headquartered in New York City.

12 APIs 0 Features
NewsletterCreatorEmailSubscriptionPublishingMediaAdvertising

APIs

beehiiv Publications API

Read publication metadata and configuration.

beehiiv Subscriptions API

Create, list and manage subscribers, bulk subscription operations, and per-subscriber tags.

beehiiv Posts API

Create, update, and retrieve newsletter posts; aggregate post stats; manage post templates.

beehiiv Automations API

Manage automations and enroll/track subscribers in automation journeys and emails.

beehiiv Custom Fields API

Manage custom subscriber data attributes attached to a publication.

beehiiv Segments API

Create and manage subscriber segments, recalculate segment membership, and read segment members/results.

beehiiv Tiers API

Manage paid subscription tiers and prices for a publication.

beehiiv Polls API

Manage polls and retrieve poll responses.

beehiiv Webhooks API

Subscribe to real-time platform events (subscriptions, posts, polls, automations) via outbound webhooks.

beehiiv Newsletter Lists API

Manage newsletter lists and per-list subscriptions within a publication.

beehiiv Referral Program API

Read referral-program configuration and milestone progress for a publication.

beehiiv OAuth2 API

OAuth2 authorization and token management for partner integrations (users/identify, workspaces/identify).

Collections

Pricing Plans

Beehiiv Plans Pricing

4 plans

PLANS

Rate Limits

Beehiiv Rate Limits

1 limits

RATE LIMITS

FinOps

Event Specifications

beehiiv Webhooks

AsyncAPI 2.6 description of the beehiiv outbound webhook surface. beehiiv posts JSON event payloads to a customer-configured endpoint URL when selected events occur on a publica...

ASYNCAPI

Semantic Vocabularies

Beehiiv Context

0 classes · 6 properties

JSON-LD

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
💰
Pricing
Pricing
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🚀
GettingStarted
GettingStarted
🔗
RateLimiting
RateLimiting
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
JSONLD
JSONLD
🔗
LlmsText
LlmsText
🔗
LlmsText
LlmsText
🔗
MCPServer
MCPServer
📦
SDKs
SDKs
💬
Support
Support

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: API Reference
  version: 1.0.0
items:
- info:
    name: subpackage_advertisement_opportunities
    type: folder
  items:
  - info:
      name: 'Get advertisement opportunities <Badge intent="info" minimal outlined>OAuth Scope: posts:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/advertisement_opportunities
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
    docs: Retrieve a list of accepted advertisement opportunities for the publication.
- info:
    name: subpackage_authors
    type: folder
  items:
  - info:
      name: List authors
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/authors
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: page
        value: ''
        type: query
        description: 'Pagination returns the results in pages. Each page contains the number of results specified by the `limit`
          (default: 10).<br>If not specified, results 1-10 from page 1 will be returned.'
      - name: name
        value: ''
        type: query
        description: Optionally filter authors by full name or first name (case-insensitive).
    docs: Retrieve a list of authors available for the publication.
  - info:
      name: Get author
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/authors/:authorId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: authorId
        value: ''
        type: path
        description: The author identifier. This accepts author UUID, full name, or first name.
    docs: Retrieve a single author from a publication.
- info:
    name: subpackage_automationJourneys
    type: folder
  items:
  - info:
      name: 'List automation journeys <Badge intent="info" minimal outlined>OAuth Scope: automations:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations/:automationId/journeys
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: automationId
        value: ''
        type: path
        description: The prefixed ID of the automation object
      - name: status
        value: ''
        type: query
        description: Optionally filter the results by the automation journey's status.
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: page
        value: ''
        type: query
        description: 'Pagination returns the results in pages. Each page contains the number of results specified by the `limit`
          (default: 10).'
    docs: Retrieve a list of automation journeys that have occurred within a specific automation.
  - info:
      name: 'Add subscription to an automation <Badge intent="info" minimal outlined>OAuth Scope: automations:write</Badge>'
      type: http
    http:
      method: POST
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations/:automationId/journeys
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: automationId
        value: ''
        type: path
        description: The prefixed ID of the automation object
      body:
        type: json
        data: '{}'
    docs: 'Add an existing subscription to an automation flow. Requires the automation to have an active *Add by API* trigger.
      The specified `email` or `subscription_id` will be matched against your existing subscribers. If an existing subscriber
      is found, they will be enrolled immediately.

      Looking to enroll new subscribers? Use the **[Create Subscription](/api-reference/subscriptions/create)** endpoint instead
      and specify the `automation_ids` param.'
  - info:
      name: 'Get automation journey <Badge intent="info" minimal outlined>OAuth Scope: automations:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations/:automationId/journeys/:automationJourneyId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: automationId
        value: ''
        type: path
        description: The prefixed ID of the automation object
      - name: automationJourneyId
        value: ''
        type: path
        description: The prefixed automation journey id
    docs: Retrieve a single automation journey by ID.
- info:
    name: subpackage_automations
    type: folder
  items:
  - info:
      name: 'List automations <Badge intent="info" minimal outlined>OAuth Scope: automations:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: expand[]
        value: ''
        type: query
        description: Optional list of expandable objects.
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: page
        value: ''
        type: query
        description: 'Pagination returns the results in pages. Each page contains the number of results specified by the `limit`
          (default: 10).<br>If not specified, results 1-10 from page 1 will be returned.'
    docs: Retrieve automations for a publication.
  - info:
      name: 'Get automation <Badge intent="info" minimal outlined>OAuth Scope: automations:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations/:automationId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: automationId
        value: ''
        type: path
        description: The prefixed ID of the automation object
      - name: expand[]
        value: ''
        type: query
        description: Optional list of expandable objects.
    docs: Retrieve a single automation for a publication.
  - info:
      name: List automation emails
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/automations/:automationId/emails
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: automationId
        value: ''
        type: path
        description: The prefixed ID of the automation object
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: cursor
        value: ''
        type: query
        description: '**Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results.
          Obtain it from the `next_cursor` field of a previous response.'
      - name: page
        value: ''
        type: query
        description: '**Deprecated**: Use `cursor` instead. Pagination returns the results in pages. Limited to 100 pages
          maximum.'
    docs: Retrieve all emails belonging to a specific automation, including engagement statistics for each email.
- info:
    name: subpackage_bulk_subscriptions
    type: folder
  items:
  - info:
      name: 'Bulk create subscription <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: POST
      url: https://api.beehiiv.com/v2/publications/:publicationId/bulk_subscriptions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Create new subscriptions for a publication.
- info:
    name: subpackage_bulkSubscriptionUpdates
    type: folder
  items:
  - info:
      name: 'List subscription updates <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/bulk_subscription_updates
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
    docs: Returns a list of Subscription Update objects for a publication.
  - info:
      name: 'Get subscription update <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/bulk_subscription_updates/:id
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: id
        value: ''
        type: path
        description: The ID of the Subscription Update object
    docs: Returns a single Subscription Update object for a publication.
  - info:
      name: 'Update subscriptions <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PUT
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/bulk_actions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Bulk update multiple subscriptions fields, including status, custom fields, and tiers.
  - info:
      name: 'Update subscriptions <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PATCH
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/bulk_actions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Bulk update multiple subscriptions fields, including status, custom fields, and tiers.
  - info:
      name: 'Update subscriptions'' status <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PUT
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Bulk update subscriptions' status.
  - info:
      name: 'Update subscriptions'' status <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PATCH
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Bulk update subscriptions' status.
- info:
    name: subpackage_subscriptions
    type: folder
  items:
  - info:
      name: 'List subscriptions <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: expand[]
        value: ''
        type: query
        description: Optional list of expandable objects.<br>`subscription_premium_tiers ` - Returns an array of tiers the
          subscription is associated with.<br>`referrals` - Returns an array of subscriptions with limited data - `id`, `email`,
          and `status`. These are the subscriptions that were referred by this subscription.<br>`stats` - Returns statistics
          about the subscription(s).<br>`custom_fields` - Returns an array of custom field values that have been set on the
          subscription. <br>`newsletter_lists` - Returns an array of newsletter list prefixed IDs the subscription is actively
          subscribed to.
      - name: status
        value: ''
        type: query
        description: Optionally filter the results by a status
      - name: tier
        value: ''
        type: query
        description: Optionally filter the results by a their tier
      - name: premium_tiers[]
        value: ''
        type: query
        description: Optionally filter the results by one or multiple premium tiers
      - name: premium_tier_ids[]
        value: ''
        type: query
        description: Optionally filter the results by one or multiple premium tier ids
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: cursor
        value: ''
        type: query
        description: '**Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results.
          When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based
          pagination. See the [Pagination Guide](/welcome/pagination) for more details.'
      - name: page
        value: ''
        type: query
        description: '**Offset-based pagination (deprecated)**: Page number for offset-based pagination. This method is deprecated
          and limited to 100 pages maximum. Please migrate to cursor-based pagination using the `cursor` parameter. If not
          specified, results 1-10 from page 1 will be returned. See the [Pagination Guide](/welcome/pagination) for migration
          guidance.'
      - name: email
        value: ''
        type: query
        description: Optional email address to find a subscription.<br>This param must be an exact match and is case insensitive.
      - name: order_by
        value: ''
        type: query
        description: The field that the results are sorted by. Defaults to created<br> `created` - The time in which the subscription
          was first created.<br>
      - name: direction
        value: ''
        type: query
        description: The direction that the results are sorted in. Defaults to asc<br> `asc` - Ascending, sorts from smallest
          to largest.<br> `desc` - Descending, sorts from largest to smallest.
      - name: creation_date
        value: ''
        type: query
        description: Optional date entry (in the format YYYY/MM/DD) that filters returned subscriptions by their creation
          date.
    docs: 'Retrieve all subscriptions belonging to a specific publication.


      <Info> **New**: This endpoint now supports cursor-based pagination for better performance and consistency. Use the `cursor`
      parameter instead of `page` for new integrations. </Info>

      <Warning> **Deprecation Notice**: Offset-based pagination (using `page` parameter) is deprecated and limited to 100
      pages maximum. Please migrate to cursor-based pagination. See our [Pagination Guide](/welcome/pagination) for details.
      </Warning>'
  - info:
      name: 'Create subscription <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: POST
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Create new subscriptions for a publication.
  - info:
      name: 'Get subscription by email <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/by_email/:email
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: email
        value: ''
        type: path
        description: The ID of the subscriber object
      - name: expand[]
        value: ''
        type: query
        description: Optional list of expandable objects.<br>`subscription_premium_tiers ` - Returns an array of tiers the
          subscription is associated with.<br>`referrals` - Returns an array of subscriptions with limited data - `id`, `email`,
          and `status`. These are the subscriptions that were referred by this subscription.<br>`stats` - Returns statistics
          about the subscription(s).<br>`custom_fields` - Returns an array of custom field values that have been set on the
          subscription. <br>`tags` - Returns an array of tags that have been set on the subscription.<br>`newsletter_lists`
          - Returns an array of newsletter list prefixed IDs the subscription is actively subscribed to.
    docs: <Info>Please note that this endpoint requires the email to be URL encoded. Please reference your language's documentation
      for the correct method of encoding.</Info> Retrieve a single subscription belonging to a specific email address in a
      specific publication.
  - info:
      name: 'Update subscription by email <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PUT
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/by_email/:email
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: email
        value: ''
        type: path
        description: The email of the subscription object
      body:
        type: json
        data: '{}'
    docs: Update a single subscription by email.
  - info:
      name: 'Get subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/:subscriptionId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: subscriptionId
        value: ''
        type: path
        description: The prefixed ID of the subscription object
      - name: expand[]
        value: ''
        type: query
        description: Optional list of expandable objects.<br>`subscription_premium_tiers` - Returns an array of tiers the
          subscription is associated with.<br>`referrals` - Returns an array of subscriptions with limited data - `id`, `email`,
          and `status`. These are the subscriptions that were referred by this subscription.<br>`stats` - Returns statistics
          about the subscription(s).<br>`custom_fields` - Returns an array of custom field values that have been set on the
          subscription. <br>`tags` - Returns an array of tags that have been set on the subscription.<br>`newsletter_lists`
          - Returns an array of newsletter list prefixed IDs the subscription is actively subscribed to.
    docs: <Info>In previous versions of the API, another endpoint existed to retrieve a subscription by the subscriber ID.
      This endpoint is now deprecated and will be removed in a future version of the API. Please use this endpoint instead.
      The subscription ID can be found by exporting a list of subscriptions either via the `Settings > Publications > Export
      Data` or by exporting a CSV in a segment.</Info> Retrieve a single subscription belonging to a specific publication.
  - info:
      name: 'Update subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PUT
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/:subscriptionId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: subscriptionId
        value: ''
        type: path
        description: The prefixed ID of the subscription object
      body:
        type: json
        data: '{}'
    docs: Update a single subscription.
  - info:
      name: 'Update subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: PATCH
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/:subscriptionId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: subscriptionId
        value: ''
        type: path
        description: The prefixed ID of the subscription object
      body:
        type: json
        data: '{}'
    docs: Update a single subscription.
  - info:
      name: 'Delete subscription <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      type: http
    http:
      method: DELETE
      url: https://api.beehiiv.com/v2/publications/:publicationId/subscriptions/:subscriptionId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: subscriptionId
        value: ''
        type: path
        description: The prefixed ID of the subscription object
    docs: <Warning>This cannot be undone. All data associated with the subscription will also be deleted. We recommend unsubscribing
      when possible instead of deleting. If a premium subscription is deleted they will no longer be billed.</Warning> Deletes
      a subscription.
- info:
    name: subpackage_conditionSets
    type: folder
  items:
  - info:
      name: 'List condition sets <Badge intent="info" minimal outlined>OAuth Scope: condition_sets:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/condition_sets
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: limit
        value: ''
        type: query
        description: A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default
          is 10.
      - name: cursor
        value: ''
        type: query
        description: '**Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results.
          When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based
          pagination.'
      - name: page
        value: ''
        type: query
        description: '**Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to
          cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned.'
      - name: purpose
        value: ''
        type: query
        description: Filter condition sets by purpose. When not specified, all active condition sets are returned.
    docs: Retrieve all active condition sets for a publication. Condition sets define reusable audience segments for targeting
      content to specific subscribers. Use the `purpose` parameter to filter by a specific use case.
  - info:
      name: 'Get condition set <Badge intent="info" minimal outlined>OAuth Scope: condition_sets:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/condition_sets/:conditionSetId
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: conditionSetId
        value: ''
        type: path
        description: The UUID of the condition set object
      - name: expand[]
        value: ''
        type: query
        description: Optionally expand the response to include additional data.<br> `stats` - Calculates and returns the active
          subscriber count for this condition set synchronously.
    docs: Retrieve a single active dynamic content condition set for a publication. Use `expand[]=stats` to calculate and
      return the active subscriber count synchronously.
- info:
    name: subpackage_customFields
    type: folder
  items:
  - info:
      name: 'List custom fields <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
    docs: List all custom fields on a publication.
  - info:
      name: 'Create custom field <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:write</Badge>'
      type: http
    http:
      method: POST
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: Create a custom field on a publication, for use in subscriptions.
  - info:
      name: 'Get custom field <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields/:id
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: id
        value: ''
        type: path
        description: The ID of the Custom Fields object
    docs: View a specific custom field on a publication.
  - info:
      name: 'Update custom field <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:write</Badge>'
      type: http
    http:
      method: PUT
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields/:id
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: id
        value: ''
        type: path
        description: The ID of the Custom Fields object
      body:
        type: json
        data: '{}'
    docs: Update a custom field on a publication.
  - info:
      name: 'Update custom field <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:write</Badge>'
      type: http
    http:
      method: PATCH
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields/:id
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: id
        value: ''
        type: path
        description: The ID of the Custom Fields object
      body:
        type: json
        data: '{}'
    docs: Update a custom field on a publication.
  - info:
      name: 'Delete custom field <Badge intent="info" minimal outlined>OAuth Scope: custom_fields:write</Badge>'
      type: http
    http:
      method: DELETE
      url: https://api.beehiiv.com/v2/publications/:publicationId/custom_fields/:id
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      - name: id
        value: ''
        type: path
        description: The ID of the Custom Fields object
    docs: Delete a custom field from a publication.
- info:
    name: subpackage_dataDeletion
    type: folder
  items:
  - info:
      name: 'List data deletion requests <Badge intent="info" minimal outlined>OAuth Scope: data_deletion:read</Badge>'
      type: http
    http:
      method: GET
      url: https://api.beehiiv.com/v2/publications/:publicationId/data_privacy/deletion_requests
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
    docs: '<Warning>This is a gated feature that requires enablement. Contact support to enable Data Deletion API access for
      your organization.</Warning>


      List all data deletion requests for your organization.'
  - info:
      name: 'Create data deletion request <Badge intent="info" minimal outlined>OAuth Scope: data_deletion:write</Badge>'
      type: http
    http:
      method: POST
      url: https://api.beehiiv.com/v2/publications/:publicationId/data_privacy/deletion_requests
      headers:
      - name: Authorization
        value: ''
      params:
      - name: publicationId
        value: ''
        type: path
        description: The prefixed ID of the publication object
      body:
        type: json
        data: '{}'
    docs: '<Warning>This is a gated feature that requires enablement. Contact support to enable Data Deletion API access for
      your organization.</Warning>


      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.'
  - info:
      name: 'Get data deletion request <Badge intent="info" minimal outlined>OAut

# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/beehiiv/refs/heads/main/apis.yml