ClickFunnels Emails::Broadcasts::Send Action API

> Send Actions trigger the actual delivery of an email broadcast. A Send Action is the trigger that sends (or schedules) the parent broadcast — the same action the ClickFunnels dashboard fires when you click "Send". Creating a Send Action will immediately dispatch the broadcast (or schedule it for a future date/time if `send_at` is provided). Before a Send Action can be created, the broadcast must be ready to send: it requires a topic, a from-address whose `usable_as_sender` is `true`, and a complete workspace marketing address. If any of these are missing, the create returns 422 listing what is needed. The send itself runs asynchronously. Poll the returned Send Action record and compare `performed_count` to `target_count` to track progress. `started_at` and `completed_at` reflect async job progress. See [Sending or scheduling a broadcast](https://accounts.myclickfunnels.com/.well-known/emails/skill.md#sending-or-scheduling-a-broadcast) in the [Emails Skill](https://accounts.myclickfunnels.com/.well-known/emails/skill.md).

Operations 4

GET /emails/broadcasts/{broadcast_id}/send_actions List Send Actions #
POST /emails/broadcasts/{broadcast_id}/send_actions Create Send Action #
GET /emails/broadcasts/send_actions/{id} Fetch Send Action #
DELETE /emails/broadcasts/send_actions/{id} Remove Send Action #

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/clickfunnels-emails-broadcasts-sendaction-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

clickfunnels-emails-broadcasts-sendaction-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ClickFunnels Emails::Broadcasts::Send Action API
  termsOfService: https://www.clickfunnels.com/terms-of-service
  contact:
    name: ClickFunnels API Team
    url: https://developers.myclickfunnels.com
  x-logo:
    url: https://statics.myclickfunnels.com/image/1126065/file/31edf05760fafe41a82f16a668ab251f.png
  description: 'The ClickFunnels REST API that powers webhooks, native integrations, and Zapier lets you manage your ClickFunnels data, automate your workflows, and recreate ClickFunnels functionality in your own apps.

    '
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 2.0.0
servers:
- url: https://{subdomain}.myclickfunnels.com/api/v2
  description: ClickFunnels API
  variables:
    subdomain:
      default: myworkspace
security:
- BearerAuth: []
tags:
- name: Emails::Broadcasts::SendAction
  description: '> Send Actions trigger the actual delivery of an email broadcast.


    A Send Action is the trigger that sends (or schedules) the parent broadcast — the same action the ClickFunnels dashboard fires when you click "Send". Creating a Send Action will immediately dispatch the broadcast (or schedule it for a future date/time if `send_at` is provided).


    Before a Send Action can be created, the broadcast must be ready to send: it requires a topic, a from-address whose `usable_as_sender` is `true`, and a complete workspace marketing address. If any of these are missing, the create returns 422 listing what is needed.


    The send itself runs asynchronously. Poll the returned Send Action record and compare `performed_count` to `target_count` to track progress. `started_at` and `completed_at` reflect async job progress.


    See [Sending or scheduling a broadcast](https://accounts.myclickfunnels.com/.well-known/emails/skill.md#sending-or-scheduling-a-broadcast) in the [Emails Skill](https://accounts.myclickfunnels.com/.well-known/emails/skill.md).

    '
paths:
  /emails/broadcasts/{broadcast_id}/send_actions:
    get:
      tags:
      - Emails::Broadcasts::SendAction
      summary: List Send Actions
      description: 'List all send actions for an email broadcast. Send actions represent past or scheduled delivery attempts for the broadcast.

        When accessing the API through an OAuth connection from a third-party platform, this endpoint is restricted to trusted developer platforms. If you are using your own API key, you can access this endpoint directly.'
      operationId: listEmailsBroadcastsSendActions
      parameters:
      - name: broadcast_id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/sort_property'
      responses:
        '200':
          description: OK
          headers:
            Pagination-Next:
              $ref: '#/components/headers/PaginationNext'
            Link:
              $ref: '#/components/headers/Link'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmailsBroadcastsSendActionAttributes'
              example:
              - id: 1
                public_id: aB3cD4
                workspace_id: 42000
                send_type: default
                target_ids:
                - 7
                target_count: 1500
                performed_count: 1500
                scheduled_for: null
                started_at: '2025-06-01T18:00:05.000Z'
                completed_at: '2025-06-01T18:12:30.000Z'
                created_by_id: 3
                approved_by_id: null
                created_at: '2025-06-01T17:59:00.000Z'
                updated_at: '2025-06-01T18:12:30.000Z'
                broadcast_id: 7
              - id: 2
                public_id: eF5gH6
                workspace_id: 42000
                send_type: default
                target_ids:
                - 7
                target_count: null
                performed_count: 0
                scheduled_for: '2025-09-15T18:00:00.000Z'
                started_at: null
                completed_at: null
                created_by_id: 3
                approved_by_id: null
                created_at: '2025-06-02T10:00:00.000Z'
                updated_at: '2025-06-02T10:00:00.000Z'
                broadcast_id: 7
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Forbidden: This endpoint is restricted to trusted developer platforms. Apply for trusted platform access at https://developers.myclickfunnels.com or contact support.'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
    post:
      tags:
      - Emails::Broadcasts::SendAction
      summary: Create Send Action
      description: 'Send (or schedule) an email broadcast by creating a Send Action. This is the same trigger the ClickFunnels dashboard fires when you click "Send".

        The request body is optional — a bodyless POST dispatches the broadcast immediately. Pass `send_at` inside `emails_broadcasts_send_action` to schedule the broadcast for a future date and time; the broadcast will be sent at the given hour on that day, adjusted to the workspace''s time zone.

        The broadcast must be ready to send before this call will succeed. It requires: - A topic assigned (`topic_ids` is non-empty) - A from-address with `usable_as_sender: true` - A complete workspace marketing address (set via the Email Settings endpoint)

        If any of these conditions are not met, the endpoint returns 422 with a message listing what is missing.

        The send runs asynchronously. The returned Send Action record tracks progress: poll `GET /api/v2/emails/broadcasts/send_actions/{id}` and compare `performed_count` to `target_count`.

        When accessing the API through an OAuth connection from a third-party platform, this endpoint is restricted to trusted developer platforms. If you are using your own API key, you can send emails directly from your account.

        See [Sending or scheduling a broadcast](https://accounts.myclickfunnels.com/.well-known/emails/skill.md#sending-or-scheduling-a-broadcast) in the [Emails Skill](https://accounts.myclickfunnels.com/.well-known/emails/skill.md).'
      operationId: createEmailsBroadcastsSendActions
      parameters:
      - name: broadcast_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Send action parameters. The entire body is optional — omit it (or pass an empty object) to send immediately.
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                emails_broadcasts_send_action:
                  type: object
                  $ref: '#/components/schemas/EmailsBroadcastsSendActionParameters'
            example:
              emails_broadcasts_send_action:
                send_at: '2025-09-15T18:00:00.000Z'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailsBroadcastsSendActionAttributes'
              example:
                id: 1
                public_id: aB3cD4
                workspace_id: 42000
                send_type: default
                target_ids:
                - 7
                target_count: null
                performed_count: 0
                scheduled_for: null
                started_at: null
                completed_at: null
                created_by_id: 3
                approved_by_id: null
                created_at: '2025-06-01T17:59:00.000Z'
                updated_at: '2025-06-01T17:59:00.000Z'
                broadcast_id: 7
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Forbidden: This endpoint is restricted to trusted developer platforms. Apply for trusted platform access at https://developers.myclickfunnels.com or contact support.'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
        '422':
          description: Unprocessable Entity — the broadcast is not ready to send. The error message lists what is missing (e.g. no topic assigned, from-address not usable as sender, or marketing address incomplete). May also be returned if the broadcast has already been scheduled. To fix an incomplete marketing address, see the [Business mailing address prerequisite](https://accounts.myclickfunnels.com/.well-known/emails/skill.md#business-mailing-address-prerequisite) in the [Emails Skill](https://accounts.myclickfunnels.com/.well-known/emails/skill.md).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: Weekly Newsletter is not sendable.; send_at is not a valid datetime
  /emails/broadcasts/send_actions/{id}:
    get:
      tags:
      - Emails::Broadcasts::SendAction
      summary: Fetch Send Action
      description: 'Retrieve a single send action and its current async delivery progress. Compare `performed_count` to `target_count` to determine how far along delivery is. `completed_at` is set when delivery finishes.

        When accessing the API through an OAuth connection from a third-party platform, this endpoint is restricted to trusted developer platforms. If you are using your own API key, you can access this endpoint directly.'
      operationId: getEmailsBroadcastsSendActions
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailsBroadcastsSendActionAttributes'
              example:
                id: 1
                public_id: aB3cD4
                workspace_id: 42000
                send_type: default
                target_ids:
                - 7
                target_count: 1500
                performed_count: 1500
                scheduled_for: null
                started_at: '2025-06-01T18:00:05.000Z'
                completed_at: '2025-06-01T18:12:30.000Z'
                created_by_id: 3
                approved_by_id: null
                created_at: '2025-06-01T17:59:00.000Z'
                updated_at: '2025-06-01T18:12:30.000Z'
                broadcast_id: 7
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Forbidden: This endpoint is restricted to trusted developer platforms. Apply for trusted platform access at https://developers.myclickfunnels.com or contact support.'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
    delete:
      tags:
      - Emails::Broadcasts::SendAction
      summary: Remove Send Action
      description: 'Delete a send action record. This cancels a scheduled (not-yet-started) send action and removes the record. Deleting a send action that has already started or completed may not halt in-flight delivery.

        When accessing the API through an OAuth connection from a third-party platform, this endpoint is restricted to trusted developer platforms. If you are using your own API key, you can access this endpoint directly.'
      operationId: removeEmailsBroadcastsSendActions
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Forbidden: This endpoint is restricted to trusted developer platforms. Apply for trusted platform access at https://developers.myclickfunnels.com or contact support.'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
    sort_property:
      name: sort_property
      in: query
      description: 'Sort property of a list response. The default is id and thus the created_at order.

        If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values.

        '
      required: false
      schema:
        type: string
        enum:
        - id
        - updated_at
    sort_order:
      name: sort_order
      in: query
      description: Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples [in our guides](https://developers.myclickfunnels.com/docs/pagination).
      required: false
      schema:
        type: string
        enum:
        - asc
        - desc
    after:
      name: after
      in: query
      required: false
      schema:
        type: string
      description: ID of item after which the collection should be returned. More examples and info about pagination [in our guides](https://developers.myclickfunnels.com/docs/pagination).
  schemas:
    EmailsBroadcastsSendActionAttributes:
      type: object
      title: Email Broadcast Send Actions
      description: An asynchronous action that sends (or schedules) the delivery of a parent email broadcast. The action runs in the background; poll `performed_count` vs `target_count` to track progress.
      properties:
        id:
          type: integer
          description: Send Action ID
        public_id:
          type:
          - string
          - 'null'
          description: Send Action public ID
        workspace_id:
          type: integer
          description: Workspace ID
        send_type:
          type: string
          enum:
          - default
          - split_test_main
          - split_test_variant
          - split_test_winner
          - send_in_contacts_time_zone
          - schedule_send_in_contacts_time_zone
          description: The delivery strategy used for this send action.
        target_ids:
          type:
          - array
          - 'null'
          items:
            type: integer
          description: Array of broadcast IDs targeted by this send action. For a standard broadcast send, this contains the single broadcast ID being delivered.
        target_count:
          type:
          - integer
          - 'null'
          description: Total number of contacts targeted by this send action. `null` until the async job has resolved the audience count.
        performed_count:
          type:
          - integer
          - 'null'
          description: Number of contacts processed so far. Poll alongside `target_count` to track async delivery progress.
        scheduled_for:
          type:
          - string
          - 'null'
          format: date-time
          description: Datetime the send is scheduled to begin. Reflects the `send_at` passed at creation, adjusted to the workspace time zone. `null` for immediate sends.
        started_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Datetime the async delivery job began processing contacts. `null` until the job has started.
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Datetime the async delivery job finished. `null` until delivery is complete.
        created_by_id:
          type:
          - integer
          - 'null'
          description: Reserved; `null` in most cases. The member who triggered the send is recorded in `approved_by_id` instead.
        approved_by_id:
          type:
          - integer
          - 'null'
          description: ID of the workspace membership that created/approved this send action — the member that triggered the send. Populated for API-created sends.
        created_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Created at datetime
        updated_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Updated at datetime
        broadcast_id:
          type:
          - integer
          - 'null'
          description: The ID of the email broadcast being delivered. Convenience field derived from `target_ids[0]`.
      example:
        id: 1
        public_id: aB3cD4
        workspace_id: 42000
        send_type: default
        target_ids:
        - 7
        target_count: 1500
        performed_count: 750
        scheduled_for: null
        started_at: '2025-06-01T18:00:05.000Z'
        completed_at: null
        created_by_id: null
        approved_by_id: 3
        created_at: '2025-06-01T17:59:00.000Z'
        updated_at: '2025-06-01T18:00:05.000Z'
        broadcast_id: 7
      required:
      - approved_by_id
      - broadcast_id
      - completed_at
      - created_at
      - created_by_id
      - id
      - performed_count
      - public_id
      - scheduled_for
      - send_type
      - started_at
      - target_count
      - target_ids
      - updated_at
      - workspace_id
    EmailsBroadcastsSendActionParameters:
      type: object
      title: Email Broadcast Send Actions
      description: Parameters for creating a send action. The request body is optional — a bodyless POST sends the broadcast immediately.
      properties:
        emails_broadcasts_send_action:
          type: object
          properties:
            send_at:
              type: string
              format: date-time
              description: Optional ISO 8601 datetime. When provided, the broadcast is scheduled for that day at the given hour in the workspace's time zone. Omit (or send an empty body) to dispatch immediately.
      example:
        emails_broadcasts_send_action:
          send_at: '2025-09-15T18:00:00.000Z'
  headers:
    Link:
      description: A direct link to the next page for the cursor-based pagination. It includes the `after` and the Pagination-Next ID value.
      schema:
        type: string
    PaginationNext:
      description: ID of the last item in the current response after which more records exist. You can use it in an `after` query parameter for cursor-based pagination to get to the next page.
      schema:
        type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
externalDocs:
  description: More in-depth guides and further resources
  url: https://developers.myclickfunnels.com