{
  "operationId": "publish-frame-notifications",
  "method": "POST",
  "path": "/v2/farcaster/frame/notifications/",
  "summary": "Send notifications",
  "description": "Send notifications to interactors of a mini app. By default every broadcast is delivered synchronously and returns 200 with aggregate counts. When the `ASYNC_NOTIFICATIONS_ENABLED` server flag is on, broadcasts with more than 100 notification tokens are queued and return 202 with a campaign_id instead; poll the campaign stats endpoint for progress. Small broadcasts always stay synchronous.",
  "tags": [
    "Frame"
  ],
  "parameters": [],
  "requestBody": {
    "required": true,
    "schema": {
      "$ref": "#/components/schemas/SendFrameNotificationsReqBody"
    },
    "example": null
  },
  "responses": {
    "200": {
      "description": "Success",
      "schema": {
        "$ref": "#/components/schemas/SendFrameNotificationsResponse"
      },
      "example": null
    },
    "202": {
      "description": "202",
      "schema": {
        "$ref": "#/components/schemas/QueuedFrameNotificationsResponse"
      },
      "example": null
    },
    "400": {
      "description": "Bad Request",
      "schema": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ZodError"
          },
          {
            "$ref": "#/components/schemas/ErrorRes"
          }
        ]
      },
      "example": null
    },
    "404": {
      "description": "Resource not found",
      "schema": {
        "$ref": "#/components/schemas/ErrorRes"
      },
      "example": null
    },
    "422": {
      "description": "Unprocessable Content",
      "schema": {
        "$ref": "#/components/schemas/ErrorRes"
      },
      "example": null
    },
    "500": {
      "description": "Server Error",
      "schema": {
        "$ref": "#/components/schemas/ErrorRes"
      },
      "example": null
    }
  }
}