---
title: "Create broadcast draft — estimate"
method: POST
path: "/v1/messaging/broadcasts/estimate"
tags: ["Broadcasts"]
---

# Create broadcast draft — estimate

`POST /v1/messaging/broadcasts/estimate`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/messaging/broadcasts/estimate`
- Auth: HTTP bearer

Price the request without executing it. Same body as `POST /v1/messaging/broadcasts`.

## Request body

- object
  - `name` string, required
  - `message` object
    - `text` string: Required on every platform except WhatsApp (which sends `template`) and an SMS broadcast that carries attachments.
    - `messageTag` 'CONFIRMED_EVENT_UPDATE' | 'POST_PURCHASE_UPDATE' | 'ACCOUNT_UPDATE' | 'HUMAN_AGENT': Instagram and Facebook only. Meta message tag sent with every recipient message (messaging_type MESSAGE_TAG) so the broadcast can reach people outside the 24h window. Instagram accepts HUMAN_AGENT only. Rejected with a 400 on any other platform.
    - `attachments` object[]: SMS only: sent as MMS media, one media_url per attachment. Each url must be public http(s); JPEG, PNG, GIF, WEBP, MP4 or 3GPP under 1 MB (checked at create when the host answers a HEAD request; Telnyx enforces the 1 MB total per message at send).
      - `url` string
      - `type` string
      - `filename` string
  - `platform` 'instagram' | 'facebook' | 'telegram' | 'twitter' | 'bluesky' | 'reddit' | 'whatsapp' | 'sms' | 'slack' | 'imessage', required
  - `template` object: WhatsApp template (required when platform is whatsapp)
    - `name` string
    - `language` string
    - `components` object[]
    - `variableMapping` object: Maps template variable positions ("1", "2") to contact fields or static values. Resolved per recipient at send time.
  - `accountId` string, required
  - `description` string
  - `segmentFilters` object
    - `tags` string[]
    - `customFields` object: Custom field values a contact must hold, keyed by field slug. Exact match per key (type included: 5 does not match "5"); every key must match.
    - `isSubscribed` boolean

## Response `200`

Estimate

- Estimate
  - `operation` string
  - `estimated_credits` number
  - `credits_to_reserve` number
  - `estimated_usage` object
  - `note` string, nullable
  - `balance` object
    - `available` number
  - `sufficient` boolean

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
