> ## Documentation Index
> Fetch the complete documentation index at: https://blogbowl.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a subscriber (upsert by email)



## OpenAPI

````yaml https://app.blogbowl.io/api/v1/misc/openapi.json post /newsletters/{newsletter_id}/subscribers
openapi: 3.0.0
info:
  title: BlogBowl API
  description: >-
    REST API for managing blog pages, posts, authors, newsletters, and
    subscribers.
  version: 1.0.0
  x-copyright: null
servers:
  - url: https://app.blogbowl.io/api/v1
security: []
tags:
  - name: Authors
  - name: Categories
  - name: Emails
  - name: Images
  - name: Newsletters
  - name: Pages
  - name: Posts
  - name: Subscribers
paths:
  /newsletters/{newsletter_id}/subscribers:
    post:
      tags:
        - Subscribers
      summary: Create a subscriber (upsert by email)
      operationId: post_newsletters_newsletter_id_subscribers
      parameters:
        - name: newsletter_id
          in: path
          required: true
          description: Newsletter ID
          schema:
            type: number
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: Subscriber email
              additionalProperties: false
              required:
                - email
      responses:
        '200':
          description: Created or existing subscriber
          headers: {}
          content:
            '*/*':
              schema:
                type: object
                properties:
                  id:
                    type: number
                    description: Subscriber ID
                  email:
                    type: string
                    description: Subscriber email
                  verified:
                    type: boolean
                    description: Email verified
                  active:
                    type: boolean
                    description: Subscriber active
                  status:
                    type: string
                    description: Subscriber status
                  newsletter_id:
                    type: number
                    description: Newsletter ID
                  verified_at:
                    type: string
                    description: Verification date
                  created_at:
                    type: string
                    description: Creation date
                  updated_at:
                    type: string
                    description: Updated date
                additionalProperties: false
                required:
                  - id
                  - email
                  - verified
                  - active
                  - status
                  - newsletter_id
                  - verified_at
                  - created_at
                  - updated_at

````