beehiiv subpackage_subscriptions API

The subpackage_subscriptions API from beehiiv — 3 operation(s) for subpackage_subscriptions.

OpenAPI Specification

beehiiv-subpackage-subscriptions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference subpackage_advertisement_opportunities subpackage_subscriptions API
  version: 1.0.0
servers:
- url: https://api.beehiiv.com/v2
tags:
- name: subpackage_subscriptions
paths:
  /publications/{publicationId}/subscriptions:
    post:
      operationId: create
      summary: 'Create subscription <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      description: Create new subscriptions for a publication.
      tags:
      - subpackage_subscriptions
      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: Subscription created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_:SubscriptionRequest'
    get:
      operationId: index
      summary: 'List subscriptions <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      description: '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>'
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: expand[]
        in: 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.
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsListRequestExpandItem'
      - name: status
        in: query
        description: Optionally filter the results by a status
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsListRequestStatus'
      - name: tier
        in: query
        description: Optionally filter the results by a their tier
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsListRequestTier'
      - name: premium_tiers[]
        in: query
        description: Optionally filter the results by one or multiple premium tiers
        required: false
        schema:
          type: string
      - name: premium_tier_ids[]
        in: query
        description: Optionally filter the results by one or multiple premium tier ids
        required: false
        schema:
          type: string
      - name: limit
        in: 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.
        required: false
        schema:
          type: integer
      - name: cursor
        in: 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.'
        required: false
        schema:
          type: string
      - name: page
        in: 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.'
        required: false
        schema:
          type: integer
      - name: email
        in: query
        description: Optional email address to find a subscription.<br>This param must be an exact match and is case insensitive.
        required: false
        schema:
          type: string
      - name: order_by
        in: 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>
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsListRequestOrderBy'
      - name: direction
        in: 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.
        required: false
        schema:
          $ref: '#/components/schemas/type_:RequestDirection'
      - name: creation_date
        in: query
        description: Optional date entry (in the format YYYY/MM/DD) that filters returned subscriptions by their creation date.
        required: false
        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_subscriptions:SubscriptionsListResponse'
        '400':
          description: Bad Request
          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}/subscriptions/by_email/{email}:
    get:
      operationId: get-by-email
      summary: 'Get subscription by email <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      description: <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.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: email
        in: path
        description: The ID of the subscriber object
        required: true
        schema:
          type: string
      - name: expand[]
        in: 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.
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsGetRequestExpandItem'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
    put:
      operationId: update-by-email
      summary: 'Update subscription by email <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      description: Update a single subscription by email.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: email
        in: path
        description: The email of the subscription object
        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_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: The new email address for the subscription
                tier:
                  $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPutRequestSubscriptionsItemTier'
                  description: Optional parameter to set the tier for this subscription.
                premium_tier_ids:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                premium_tiers:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                stripe_customer_id:
                  $ref: '#/components/schemas/type_ids:OptionalStripeCustomerId'
                  description: The Stripe Customer ID of the subscription (not required)
                unsubscribe:
                  type: boolean
                  description: A boolean value specifying whether to unsubscribe this subscription from the publication (not required)
                custom_fields:
                  type: array
                  items:
                    $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem'
                  description: An array of custom field objects to update
  /publications/{publicationId}/subscriptions/{subscriptionId}:
    get:
      operationId: get-by-id
      summary: 'Get subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:read</Badge>'
      description: <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.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: subscriptionId
        in: path
        description: The prefixed ID of the subscription object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:SubscriptionId'
      - name: expand[]
        in: 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.
        required: false
        schema:
          $ref: '#/components/schemas/type_subscriptions:SubscriptionsGetRequestExpandItem'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
    put:
      operationId: put
      summary: 'Update subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      description: Update a single subscription.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: subscriptionId
        in: path
        description: The prefixed ID of the subscription object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:SubscriptionId'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tier:
                  $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPutRequestSubscriptionsItemTier'
                  description: Optional parameter to set the tier for this subscription.
                premium_tier_ids:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                premium_tiers:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                email:
                  type: string
                  description: The new email address for the subscription
                stripe_customer_id:
                  $ref: '#/components/schemas/type_ids:OptionalStripeCustomerId'
                  description: The Stripe Customer ID of the subscription (not required)
                unsubscribe:
                  type: boolean
                  description: A boolean value specifying whether to unsubscribe this subscription from the publication (not required)
                custom_fields:
                  type: array
                  items:
                    $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem'
                  description: An array of custom field objects to update
    patch:
      operationId: patch
      summary: 'Update subscription by ID <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      description: Update a single subscription.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: subscriptionId
        in: path
        description: The prefixed ID of the subscription object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:SubscriptionId'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionResponse'
        '400':
          description: Bad Request
          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'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: The new email address for the subscription
                tier:
                  $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPatchRequestSubscriptionsItemTier'
                  description: Optional parameter to set the tier for this subscription.
                premium_tier_ids:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                premium_tiers:
                  type: array
                  items:
                    type: string
                  description: An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.
                stripe_customer_id:
                  $ref: '#/components/schemas/type_ids:OptionalStripeCustomerId'
                  description: The Stripe Customer ID of the subscription (not required)
                unsubscribe:
                  type: boolean
                  description: A boolean value specifying whether to unsubscribe this subscription from the publication (not required)
                custom_fields:
                  type: array
                  items:
                    $ref: '#/components/schemas/type_bulkSubscriptionUpdates:SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem'
                  description: An array of custom field objects to update
    delete:
      operationId: delete
      summary: 'Delete subscription <Badge intent="info" minimal outlined>OAuth Scope: subscriptions:write</Badge>'
      description: <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.
      tags:
      - subpackage_subscriptions
      parameters:
      - name: publicationId
        in: path
        description: The prefixed ID of the publication object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:PublicationId'
      - name: subscriptionId
        in: path
        description: The prefixed ID of the subscription object
        required: true
        schema:
          $ref: '#/components/schemas/type_ids:SubscriptionId'
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_subscriptions:SubscriptionDeleteResponse'
        '400':
          description: Bad Request
          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_:SubscriptionExpandedSubscriptionTier:
      type: string
      enum:
      - free
      - premium
      description: The current tier of the subscription.
      title: SubscriptionExpandedSubscriptionTier
    type_:SubscriptionTags:
      type: array
      items:
        type: string
      description: 'Optional list of tags for a subscription. Retrievable by including `expand: [tags]` in the request body.

        Max limit of 100 unique tags per publication.'
      title: SubscriptionTags
    type_:SubscriptionTierList:
      type: array
      items:
        $ref: '#/components/schemas/type_:SubscriptionTierInfo'
      description: 'Optional list of tiers for a subscription. Retrievable by including `expand: [subscription_premium_tiers]` in the request body.'
      title: SubscriptionTierList
    type_:SubscriptionExpandedStatus:
      type: string
      enum:
      - validating
      - invalid
      - pending
      - active
      - inactive
      - needs_attention
      - paused
      description: The status of the subscription.<br>`validating` - The email address is being validated.<br>`invalid` - The email address is invalid.<br>`pending` - The email address is valid, but the subscription is pending double opt-in.<br>`active` - The email was valid and the subscription is active.<br>`inactive` - The subscription was made inactive, possibly due to an unsubscribe.<br>`needs_attention` - The subscription requires approval or denial.<br>`paused` - The subscriber has paused their subscription.
      title: SubscriptionExpandedStatus
    type_subscriptions:SubscriptionsGetRequestExpandItem:
      type: string
      enum:
      - stats
      - custom_fields
      - referrals
      - tags
      - newsletter_lists
      title: SubscriptionsGetRequestExpandItem
    type_subscriptions:SubscriptionsListRequestTier:
      type: string
      enum:
      - free
      - premium
      - all
      default: all
      title: SubscriptionsListRequestTier
    type_:CustomFieldValue:
      type: object
      properties:
        name:
          type: string
          description: The name of the existing custom field
        value:
          $ref: '#/components/schemas/type_:CustomFieldDataType'
          description: The value stored for the subscription
      description: The object required for setting custom field values on a subscription
      title: CustomFieldValue
    type_:SubscriptionExpandedUtmChannel:
      type: string
      enum:
      - ''
      - website
      - import
      - embed
      - api
      - referral
      - recommendation
      - magic_link
      - boost
      - boost_send
      - boost_direct_link
      - integration
      - product
      description: The acquisition channel
      title: SubscriptionExpandedUtmChannel
    type_:RequestDirection:
      type: string
      enum:
      - asc
      - desc
      default: asc
      description: The direction of the request. Defaults to `asc`.
      title: RequestDirection
    type_:CustomField:
      type: object
      properties:
        name:
          type: string
          description: The name of the existing custom field
        kind:
          $ref: '#/components/schemas/type_:CustomFieldType'
          description: The type of value being stored in the custom field.
        value:
          $ref: '#/components/schemas/type_:CustomFieldDataType'
          description: The value stored for the subscription
      title: CustomField
    type_subscriptions:SubscriptionsListRequestStatus:
      type: string
      enum:
      - validating
      - invalid
      - pending
      - active
      - inactive
      - all
      default: all
      title: SubscriptionsListRequestStatus
    type_subscriptions:SubscriptionsListRequestExpandItem:
      type: string
      enum:
      - stats
      - custom_fields
      - referrals
      - newsletter_lists
      title: SubscriptionsListRequestExpandItem
    type_:SubscriptionStats:
      type: object
      properties:
        emails_received:
          type: integer
          description: The total number of emails that have been sent to this subscriber
        open_rate:
          type: number
          format: double
          description: The percentage of emails that the subscriber has opened
        click_through_rate:
          type: number
          format: double
          description: The percentage of emails that the subscriber has clicked a link in
      description: 'Optional list of stats for a subscription. Retrievable by including `expand: [stats]` in the request body.'
      title: SubscriptionStats
    type_:SubscriptionCustomFieldList:
      type: array
      items:
        $ref: '#/components/schemas/type_:CustomField'
      description: 'Optional list of custom fields for a subscription. Retrievable by including `expand: [custom_field]` in the request body.'
      title: SubscriptionCustomFieldList
    type_:ErrorDetail:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
      required:
      - message
      - code
      title: ErrorDetail
    type_:CustomFieldDataType:
      oneOf:
     

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