# API changelog

> Every API change, dated. Breaking changes are gated to a new major version.

- Canonical URL: https://www.broadnet.me/developers/changelog
- Language: en
- Last updated: 2026-10-21
- Publisher: BroadNet (https://www.broadnet.me)

Dated changes to the BroadNet developer surface, newest first. Each entry carries the date the change shipped, and the same entries are published in the Atom feed /changelog.xml. For a field-level view, diff the OpenAPI spec between downloads: a diff of the spec is a diff of the API.

> **Subscribe to the changelog** Add the Atom feed /changelog.xml to your feed reader to get every new entry.

## October 19, 2026 · estimate_price applies the WhatsApp service free tier

For channel whatsapp with use_case care (alias service), estimate_price now subtracts the 1,000 free service messages that Meta gives each business phone number per month (from 1 October 2026) before it computes estimatedMonthlyUsd, and returns a freeTier object with the allowance, the free and billable message counts and the assumption of one business number. Utility, authentication and marketing estimates are unchanged. The same applies to the estimate_price page tool.

## October 19, 2026 · Status as Statuspage-compatible JSON and Markdown

/status/api/v2/summary.json returns the measured checks shown on /status in the Statuspage v2 summary format (page, status, components, incidents, scheduled_maintenances), and /status.md is the Markdown version of the page. The components are the seven synthetic checks: website, developer docs, API gateway, knowledge MCP server, product MCP endpoint, A2A agent card and llms.txt. They measure reachability of public endpoints, not the messaging platform's internal delivery status. /api/status is unchanged.

## October 19, 2026 · Knowledge MCP: case study, changelog and status tools

The public knowledge MCP server at https://www.broadnet.me/mcp (version 1.1.0) has four more read-only tools: list_case_studies and get_case_study for the published case studies, get_changelog for the entries of this changelog (filters: since, kind, limit) and get_status for the measured reachability checks of /api/status. The A2A agent lists them as skills too, and the nine existing tools are unchanged. For requests that use the 2026-07-28 protocol revision, every result now names the server in _meta, and ping is no longer answered, as that revision specifies.

## October 19, 2026 · robots.txt names AzureAI-SearchBot and bedrockbot

robots.txt has explicit groups for AzureAI-SearchBot and bedrockbot, with the same Allow and Disallow rules and the same Content-Signal line as the other named AI crawlers.

## October 18, 2026 · Markdown versions of tools, events and academy pages

/tools, /events and /academy and the pages under them have Markdown versions in English and the seven full locales, for example /tools/smpp-simulator.md and /fr/events.md. They are generated from the rendered page.

## October 10, 2026 · Pricing data: WhatsApp free tier of 1,000 service messages

The WhatsApp Service row in /data/pricing.csv, /data/pricing.json, /pricing.md and the /pricing/whatsapp Markdown versions, and the note in /data/pricing.json, now say that service-window replies are billed at the market's utility rate after a free tier of 1,000 service messages per business phone number per month (Meta's pricing page, updated 30 September 2026). Utility templates are billed from the first message. Rates and columns are unchanged.

## October 10, 2026 · Markdown versions of compare, guides, explained, customers and support pages

/compare, /guides and /explained and the pages under them, /customers, /customers/case-studies and each case study, and /support-sla have Markdown versions in English and the seven full locales, for example /explained/smpp.md and /fr/compare.md.

## October 10, 2026 · Blog RSS feed in every site language, and an events feed

Every site language has its own blog feed at /<language>/blog/rss.xml, for example /fr/blog/rss.xml and /ja/blog/rss.xml, next to the English /blog/rss.xml. /events/rss.xml is a new RSS feed of events.

## October 10, 2026 · Mixed-case URLs redirect to the lowercase page

A page URL typed with capital letters, such as /About or /Pricing/SMS/Nigeria, now answers with a single 308 redirect to the lowercase page when that page exists. Files, /api/ and /.well-known/ paths and case-sensitive tokens are left unchanged.

## October 2, 2026 · Measured status checks and /api/status

/status shows measured reachability of the website, developer docs, API gateway, both MCP endpoints, the A2A agent card and llms.txt: synthetic checks every 5 minutes, with uptime over 24 hours, 7 days and 30 days computed only from stored samples. GET /api/status returns the same data as JSON. The illustrative history the page showed before was removed.

## October 2, 2026 · Open data catalogue at /data

/data lists every machine-readable file BroadNet publishes (coverage, regulations and rates as CSV and JSON; facts, compliance and SLA JSON; the changelog feed) with its fields, record count and last-review date, in English and the seven full locales.

## October 1, 2026 · Valid TLS certificate on api.broadnet.me

https://api.broadnet.me, the production API host that every code sample calls, now serves a publicly trusted Let's Encrypt certificate issued for api.broadnet.me. HTTPS clients and the SDK connect to it with certificate verification turned on; do not disable verification in your integration.

## October 1, 2026 · Pricing data: WhatsApp service-window replies billed per message

From 1 October 2026 the WhatsApp Service row in /data/pricing.csv, /data/pricing.json, /pricing.md and the /pricing/whatsapp Markdown versions carries the utility list rate instead of 0, with a note that replies inside the 24-hour customer service window are billed per message. The switch is date-gated, so the columns are unchanged. The knowledge MCP server's estimate_price tool prices use_case care (alias service) the same way.

## September 30, 2026 · estimate_price validates its arguments

The knowledge MCP server's estimate_price tool now rejects an unknown channel or use_case, a volume that is negative or not a number, and a segments value that is not a whole number from 1 to 255, with an error that lists the valid values. Before, an unrecognised use_case was silently priced as otp. Meta's category names are accepted as aliases: authentication = otp, utility = transactional, service = care.

## September 30, 2026 · Agent access: /api/search in robots.txt, A2A role alias, company questions

robots.txt now allows /api/search, the public search endpoint listed in llms.txt; every other /api/ path stays disallowed. The A2A endpoint at /a2a accepts the A2A 0.x role value "user" as well as "ROLE_USER". Site search, which also powers the search_site MCP tool, returns the matching company page for company questions (founder, headquarters, legal name, customers, Meta Business Solution Provider status, SDK) in all 15 site languages.

## September 29, 2026 · Knowledge MCP: country names in any site language and a language argument

check_coverage, sender_id_rules, estimate_price and get_regulation resolve a country from its name in any of the 15 site languages (for example السعودية or 沙特阿拉伯), short forms such as UAE, KSA and UK, the slug, or the ISO alpha-2 or alpha-3 code; the A2A agent and site search use the same index. check_coverage, sender_id_rules, estimate_price, get_facts, get_regulation and get_answer take a language argument with any of the 15 site languages; where a tool has no content in that language it answers in English with "fallback": true. For WhatsApp, estimate_price marks the price as scope "global list rate" unless a per-country rate is published.

## September 29, 2026 · Markdown versions of localized pricing and facts pages

The SMS, WhatsApp, voice and OTP pricing pages, their country pages and the facts page now have Markdown versions in Arabic, French, Spanish, German, Italian, Portuguese and Russian as well, for example /fr/pricing/sms.md and /ar/about/facts.md. Before, only the English pages had them.

## September 29, 2026 · Complete per-language llms.txt indexes

The per-language indexes in /llms/ (for example /llms/fr.txt) now list every blog post that language's sitemap lists, the developer pages and the MENA sender-ID registration kits, with titles and descriptions in that language where the page has them.

## September 27, 2026 · Public knowledge MCP server

A public, read-only MCP server at https://www.broadnet.me/mcp answers questions about BroadNet coverage, sender-ID rules, published list prices, regulations and company facts. It needs no token and has nine read-only tools: search_site, get_facts, check_coverage, sender_id_rules, estimate_price, count_sms_segments, get_regulation, list_answers and get_answer.

## September 27, 2026 · Quickstart samples in eight languages

The quickstart now shows the send-SMS call with the TypeScript SDK and in Python, PHP, Java, C#, Go, Ruby and curl. The Java, C#, Go and Ruby samples were compiled against their real toolchains, and every sample calls https://api.broadnet.me, the production API.

## September 27, 2026 · Agent skills and pricing data files

The index at /.well-known/agent-skills/index.json lists runbooks for AI agents. Published list prices can be downloaded as /data/pricing.csv and /data/pricing.json, and /ai/compliance.json and /ai/sla.json describe compliance and service levels.

## September 26, 2026 · Machine-readable API discovery

/.well-known/api-catalog (RFC 9727) lists the REST API and the MCP server with links to their descriptions and documentation, and /.well-known/mcp/server-card.json serves an MCP server card. Documentation pages have Markdown versions (add .md to the URL, or send Accept: text/markdown), coverage and regulation data is downloadable from /data/, and llms.txt has a companion index for each language in the /llms/ folder.

## September 25, 2026 · Developer pages in 15 languages

The developer hub, the quickstart and the MCP page are now also available in Turkish, Chinese, Indonesian, Hindi, Korean, Japanese and Urdu, next to English, Arabic, French, Spanish, German, Italian, Portuguese and Russian. Code samples stay in their original form.

## September 24, 2026 · OpenAPI 3.1 specification published

The public API specification can be downloaded as /developers/openapi.yaml and /developers/openapi.json: OpenAPI 3.1, 329 paths and 376 operations across eight channels, with internal examples removed. Import it into Postman, or generate a client for any language with openapi-generator.

## September 24, 2026 · API reference for the Bearer-token REST API

The API reference, quickstart and error-code pages document the Bearer-token REST API, for example POST /sms/sendSms, and describe /websmpp as the legacy HTTP API. Errors are documented in both of their shapes: the API gateway's 401 for a missing or invalid token, and the API's ExceptionResponse.

## September 24, 2026 · MCP server documentation

/developers/mcp explains how to connect AI agents to the BroadNet API through the MCP server at https://mcp.broadnet.me/mcp (Streamable HTTP, authorised with your BroadNet token).

## September 24, 2026 · Migration guide

/developers/migrate maps the send, delivery-receipt and webhook calls you use today to the BroadNet API, and covers sender IDs, a parallel run, the traffic ramp and rollback.

## September 23, 2026 · TypeScript SDK 2.0.0 on npm

@broadnet/cpaas-sdk 2.0.0, the official TypeScript/Node.js SDK, was published on npm. It is generated from the BroadNet OpenAPI specification. For other languages, generate a client from the specification.

## September 10, 2026 · SMPP session simulator

/tools/smpp-simulator walks through an SMPP 3.4 session (bind_transceiver, submit_sm, the deliver_sm delivery receipt, enquire_link and unbind) with the bytes of each PDU and common failure cases. It runs in the browser and cannot send a message.

## July 30, 2026 · API request builder and SMS cost estimator

/tools/api-request-builder builds a request and shows it as ready-to-copy code; it never sends. /tools/sms-cost-estimator gives an indicative monthly cost from volume, message length and the per-country reference rate.
