$HEADLESS SYSTEMS
03 / Scorecard / Communications

Bandwidth

B
Headless Index
66/100
JAIRF
86.5/100
AI-Ready
Verified
AUG 20, 2026
Methodology v1 · JAIRF v1.0.0

Powered by JAIRF v1.0.0 by Jentic · open methodology at /the-headless-index/methodology

Bandwidth earns Band B in the Communications category of The Headless Index, with a thesis-fit score of 66/100 and a JAIRF rating of 86.5/100 (AI-Ready). Its strongest dimension is schema observability (15/20); its weakest scored dimension is headless operation (11/20). Bandwidth publishes a machine-readable OpenAPI specification, which is what lets an agent discover and operate it without human glue code.

Editorial verdict
Bandwidth is solidly built for programmatic consumption. The Headless Index thesis-fit score of 66/100 lands it in the upper-middle of the index, and JAIRF v1.0.0 puts it at 86.5/100 (Level 3, AI-Ready). In practice, vendors at this tier ship most of the primitives agents need, with one or two surfaces still leaning on documentation rather than discovery, and the rest of this verdict explains where Bandwidth lands inside that pattern. On the API surface, the question is whether the API is the product or a layer beneath the dashboard. Bandwidth owns carrier infrastructure and exposes it across product-scoped hosts (messaging.bandwidth.com/api/v2, voice.bandwidth.com/api/v2), with generated clients in seven languages and steady npm usage (@bandwidth/messaging, @bandwidth/voice, @bandwidth/numbers). The fragmentation costs it: numbers and account provisioning still run through the older XML Dashboard API, so one vendor means two very different client models. An agent can drive this product across most practical workflows, with a handful of edges where documentation reading still beats schema discovery. On headless operability: Number search and ordering, sub-account and SIP peer setup, and 10DLC campaign registration all have endpoints, which is genuinely more automatable than the category average. But there is no CLI, no Terraform provider, and no manifest for an application's callback configuration. Voice call control is driven by BXML documents your server returns (dev.bandwidth.com/docs/voice/bxml), which is programmable but bespoke.[1] On the MCP and agent-integration axis, which is the fastest-moving criterion in the index: An official server exists and authenticates the right way, taking OAuth2 client credentials and deriving the account ID from JWT claims rather than asking for it (github.com/Bandwidth/mcp-server). It is a Python package cloned from the repository, with almost no stars and a short history, so treat it as an early commitment rather than a finished product. The intent is on record.[2] Event posture closes the loop: an agent that cannot react to state changes is reduced to polling. Messaging callbacks are clear and typed (message-delivered, message-failed, message-received), and voice callbacks follow the call lifecycle. Authentication of those callbacks is where it thins out: Bandwidth relies on HTTP basic auth or a bearer token you configure on the application rather than a signature over the payload, so a receiver cannot prove a body was unmodified in transit. Net assessment: Bandwidth can be operated by agents for the majority of practical workflows. The closest thing to a gap is headless operability[3], which integrators should sanity-check against their own use case before committing. Strong fit for agent-driven use cases.
Verdict by Headless Index pipeline (auto)
// AI-drafted from the evidence layer. Editorial review pending.
Scores

Scorecard detail

Headless Index · 5 sub-criteria
API-first design intent14/20
scored

Bandwidth owns carrier infrastructure and exposes it across product-scoped hosts (messaging.bandwidth.com/api/v2, voice.bandwidth.com/api/v2), with generated clients in seven languages and steady npm usage (@bandwidth/messaging, @bandwidth/voice, @bandwidth/numbers). The fragmentation costs it: numbers and account provisioning still run through the older XML Dashboard API, so one vendor means two very different client models.

signals (6)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • +OpenAPI specPublished, 6 operations
  • GraphQL endpointNot discovered (5 probes; project-scoped endpoints require a real project ID)
  • +SDKs maintained20 (dotnet, java, javascript, kotlin, php, python, ruby, swift); top by stars: Bandwidth/python-sdk (20 stars)
  • +SDK recency9 of 20 SDK repos pushed within 30 days (most recent SDK commit: 2026-08-18)
  • +npm weekly downloads23.4k across published packages; top: @bandwidth/messaging @ 11.6k/week
cite (1)
  • github.sdks@2026-08-19
Headless operation11/20
scored

Number search and ordering, sub-account and SIP peer setup, and 10DLC campaign registration all have endpoints, which is genuinely more automatable than the category average. But there is no CLI, no Terraform provider, and no manifest for an application's callback configuration. Voice call control is driven by BXML documents your server returns (dev.bandwidth.com/docs/voice/bxml), which is programmable but bespoke.

signals (9)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • ·API operations exposed6 operations in OpenAPI spec
  • ·Docs pages crawled0 pages (crawler: none)
  • ·Auth schemes documentedAuth documentation page not reached by crawler
  • ·Setup / quickstart docsNot reached by crawler
  • ·Billing docsNot reached by crawler
  • ·Teams / org docsNot reached by crawler
  • ·CLI docsNot reached by crawler
  • ·Schema / data model docsNot reached by crawler
cite (1)
  • ai_review_browser.topics_found@2026-08-19
MCP & agent posture14/20
scored

An official server exists and authenticates the right way, taking OAuth2 client credentials and deriving the account ID from JWT claims rather than asking for it (github.com/Bandwidth/mcp-server). It is a Python package cloned from the repository, with almost no stars and a short history, so treat it as an early commitment rather than a finished product. The intent is on record.

signals (4)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • +Official MCP serverhttps://github.com/Bandwidth/mcp-server (1 stars, last commit 29 days ago)
  • Community MCP serversNone found
  • +Agent-friendly SDKs6 TS/JS SDKs available; top: @bandwidth/messaging (11.6k/week downloads)
cite (1)
  • ai_review_browser.mcp@2026-08-19
Schema observability15/20
scored

Thirteen specs sit in a public repository and fetch unauthenticated (github.com/Bandwidth/api-docs, site/specs/messaging.yml, voice.yml, numbers.yml, multi-factor-auth.yml, webrtc.yml), and a published action stitches them together for SDK generation (Bandwidth/api-specs-combine-action). The friction is discovery rather than availability: no bandwidth.com URL serves a canonical spec, and the legacy Iris XML surface is not described at all.

signals (3)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • +OpenAPIPublished at https://raw.githubusercontent.com/Bandwidth/api-docs/main/site/specs/messaging.yml (OpenAPI 3.0.3, 6 operations)
  • GraphQL introspectionNo GraphQL endpoint discovered (5 probes; some vendors use project-scoped endpoints that require a real project handle)
cite (1)
  • ai_review_browser.schema@2026-08-19
Webhooks & events12/20
scored

Messaging callbacks are clear and typed (message-delivered, message-failed, message-received), and voice callbacks follow the call lifecycle. Authentication of those callbacks is where it thins out: Bandwidth relies on HTTP basic auth or a bearer token you configure on the application rather than a signature over the payload, so a receiver cannot prove a body was unmodified in transit.

signals (2)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • ·Webhook docs pageNot reached by crawler within budget (0 pages crawled). Cannot confirm whether vendor offers webhooks.
cite (1)
  • ai_review_browser.pages_fetched@2026-08-19
JAIRF · 6 dimensions
FCFoundational Compliance
100/100

Structural validity, standards conformance, and parsability of the OpenAPI specification.

DXJDeveloper Experience & Tooling Compatibility
70.6/100

Documentation clarity, example coverage, response completeness, and ingestion health.

ARAXAI-Readiness & Agent Experience
62.2/100

Semantic clarity, intent expression, datatype specificity, and error standardization.

AUAgent Usability
100/100

Operational composability, complexity comfort, navigation affordances, and safety patterns.

SECSecurity
100/100

Authentication strength, transport security, secret hygiene, and OWASP risk posture.

AIDAI Discoverability
85/100

Descriptive richness, intent phrasing, workflow context, and registry signals.

Band rationale:B band: JAIRF=86.5 HeadlessIndex=66

04 / Embed

Show Bandwidth's score on your site.

Drop a live badge into your README, footer, or marketing page. It updates automatically when we re-score, and every embed is a dofollow link back here.

Calibration

How THI compares to external scorers

SourceScoreMeasuresLast checked
Fern Agent Scorenot foundDocumentation completeness and SDK shape (~22 checks)
CLIRank Agent Friendlinessnot foundCLI readiness, docs quality, and overall agent affordances
Cloudflare Is It Agent Ready?blockedCloudflare's manual agent-readiness heuristic per vendor URL
Jentic ScorecardJAIRF-based scorecard requiring a public OpenAPI specification
THI 66 vs external median 0

No external scores available to calibrate against.

FAQ

Bandwidth and agent readiness

Is Bandwidth agent-ready?
Bandwidth scores Band B on The Headless Index and rates AI-Ready on JAIRF (86.5/100). Its strongest area for agent use is schema observability; its weakest is headless operation.
Does Bandwidth publish an OpenAPI spec?
Yes. Bandwidth publishes an OpenAPI specification, scored under JAIRF v1.0.0. A published spec is what makes an API discoverable and callable by agents rather than only by developers reading docs.
What is Bandwidth's Headless Index score?
Bandwidth scores 66/100 on the Headless Index thesis-fit rubric and sits in Band B in the Communications category. The score weighs API-first design, headless operation, MCP and agent posture, schema observability, and webhooks.