# AX Check: sendbird.com
Checked 2026-09-30.

Sendbird docs, quickstart, and pricing are all readable at a glance.
18 of 23 checklist items pass with zero attention flags; pricing tiers, MAU limits, and overage rules are stated plainly on the page.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed and correctly reported Sendbird's pricing structure without hitting a login wall, each pulling consistent tiered MAU-based plans (Free/Starter/Pro/Enterprise) straight from the public pricing page, with minor differences in exact figures cited.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/8fff680c-6677-439e-9100-ca0b0b363c96) · [Read transcript](https://www.ax-check.com/sendbird.com/sessions/deepseek.json)
Final output gives a full pricing table (Free/Starter/Pro/Enterprise) explicitly tied to MAU tier, annual vs monthly billing, and notes Business Messaging is priced separately — clear assumptions stated.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained a real Sendbird Application ID or API token. It confirmed no Sendbird env vars existed, then built the example script and README against docs/pricing pages only, running the workflow exclusively in --dry-run mode (no network calls to api-<app_id>.sendbird.com). It explicitly flagged that creating a live app/account requires a human to sign up on the Sendbird dashboard, which it cannot do itself.
  Event 5:

  ```text
  no sendbird env vars
  
  ```
  Event 94:

  ```text
  [DRY-RUN] POST https://api-{APP_ID}.sendbird.com/v3/users
    headers: {"Content-Type":"application/json; charset=utf-8","Api-Token":"{API_TOKEN}"}
  ```
  Event 101:

  ```text
  I am blocked on a live run: no SENDBIRD_APP_ID / SENDBIRD_API_TOKEN are present in this environment. Set those two vars and the same script runs for real with no other changes — but that requires a Sendbird account, which I can't create for you.
  ```

#### Hallucinated URLs
- **Guessed GitHub OpenAPI spec URL (unused after 404)**: Agent tried a guessed raw GitHub URL for a Sendbird OpenAPI spec that doesn't appear to exist at that path; it returned a 404 and the agent abandoned the approach rather than relying on it, so it did not feed into any deliverable or false claim.
  Event 49:

  ```text
  https://raw.githubusercontent.com/sendbird/sendbird-platform-api-spec/main/openapi.yaml
  ```
  Event 51:

  ```text
  404
  14 sb_openapi.json
  
  ```

#### Blockers
- **No live Sendbird account/API token available in sandbox**: The sandbox environment has no Sendbird credentials, and creating a Sendbird account requires human signup via the hosted dashboard (e.g. email/Google/GitHub). This is a normal login/account-creation requirement, not a product defect — the agent correctly identified it can't self-serve a real Application ID or server API token, so it could only dry-run the example script rather than execute live calls against the hosted API.
  Event 5:

  ```text
  no sendbird env vars
  
  ```
  Event 101:

  ```text
  no SENDBIRD_APP_ID / SENDBIRD_API_TOKEN are present in this environment. Set those two vars and the same script runs for real with no other changes — but that requires a Sendbird account, which I can't create for you.
  ```
- **Docs site's Next.js data endpoints returned 404 for direct JSON scraping**: Attempting to fetch structured page data via Next.js's _next/data path for two documented doc URLs (send-a-message, creating-a-user) returned 404s, forcing the agent to rely on rendered HTML text parsing instead. This is a byproduct of how the docs site serves content (agent's improvised scraping technique against a framework-internal path) rather than a broken public link, since the human-facing doc pages themselves were fetched successfully earlier (200, 88KB+ each).
  Event 70:

  ```text
  == chat/platform-api/v3/message/send-a-message ==
  404 88250
  
  ```
  Event 44:

  ```text
  == user/creating-a-user (88478 bytes) ==
  == channel/creating-a-group-channel (88514 bytes) ==
  == message/send-a-message (88484 bytes) ==
  == message/list-messages (88481 bytes) ==
  
  ```

#### Suggested Changes
- **Publish a machine-readable OpenAPI/Postman spec for the Chat Platform API**: The agent spent multiple turns scraping rendered HTML and probing guessed GitHub/Next.js-data paths (all unsuccessful) just to confirm request shapes for basic endpoints like create user, create group channel, and send a message. Publishing an official OpenAPI or Postman collection linked from the Platform API overview page (sendbird.com/docs/chat/platform-api/v3/overview) would let integrators and agents get exact endpoint/method/body definitions in one fetch; verify by confirming a single documented URL returns a parseable spec.
  Event 41:

  ```text
  cd /tmp && for u in "user/creating-a-user" "channel/creating-a-group-channel" "message/send-a-message" "message/list-messages"; do
  ```
  Event 49:

  ```text
  https://raw.githubusercontent.com/sendbird/sendbird-platform-api-spec/main/openapi.yaml
  ```
  Event 56:

  ```text
  https://api.github.com/search/code?q=group_channels+messages+sendbird
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/8e1ce721-b782-45e9-b2b4-a34000d78b0b) · [Read transcript](https://www.ax-check.com/sendbird.com/sessions/kimi.json)
Final output gives MAU-based pricing (Starter ~$399/mo for 5k MAU, Pro ~$599/mo for 25k MAU, Enterprise custom, 30-day trial) and explicitly caveats figures may be stale, directing to sendbird.com/pricing for current numbers.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Sendbird credentials. It wrote a script that reads SENDBIRD_APP_ID and SENDBIRD_API_TOKEN from environment variables, ran it once, and it exited immediately with a 'missing credentials' error because no account/API token existed. No signup, token issuance, or authenticated API call against Sendbird's hosted service ever occurred.
  Event 19:

  ```text
  Missing credentials.
  Get an App ID and master API token from https://dashboard.sendbird.com, then:
    export SENDBIRD_APP_ID=<your-app-id>
    export SENDBIRD_API_TOKEN=<your-master-api-token>
  exit: 1
  
  ```
  Event 21:

  ```text
  The script works syntactically but I'm blocked on credentials as expected.
  ```
  Event 25:

  ```text
  I don't have Sendbird credentials, and I can't create an account myself.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to obtain a Sendbird App ID or API token**: Sendbird requires signing up on the hosted dashboard to get an App ID and master API token before any Platform API call can succeed. This is normal product authentication behavior, not a defect — the agent correctly identified it cannot self-provision an account and stopped rather than faking success.
  Event 25:

  ```text
  I don't have Sendbird credentials, and I can't create an account myself. Sendbird requires signing up at dashboard.sendbird.com (free 30-day trial, no credit card) to get an **App ID** and **master API token**.
  ```

#### Suggested Changes
- **Add a sandbox/demo App ID option to the quickstart**: The quickstart docs currently require a full dashboard signup (Settings > Application > General for App ID, Settings > API tokens for the master token) before any code can run. Offering a temporary or scoped demo credential path would let an automated agent or first-time developer execute example.mjs style calls without human account creation. Verify by rerunning the same script with only the demo credential and confirming user/channel/message calls succeed.
  Event 23:

  ```text
  Sign up at https://dashboard.sendbird.com (free trial, no credit card).
  2. Create an app → copy the **App ID** and **master API token**
     (Settings → Application → General; Settings → Application → Security/API tokens).
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/14ded4de-ed11-47b5-86e8-4bb7c87fa5c4) · [Read transcript](https://www.ax-check.com/sendbird.com/sessions/qwen.json)
Final output states usage-based MAU pricing with named assumptions: ~100 MAU free tier, per-MAU rates at volume, add-ons priced separately, and flags sandbox/dev apps as free — while caveating it should be verified since pricing changes.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Sendbird credentials. It probed the hosted API without an app ID/token, confirmed the endpoints are reachable, then explicitly stated that provisioning an application requires signing up at the web dashboard (dashboard.sendbird.com) and that no API exists to create an app. Both example scripts were only ever run in dry-run mode (no live authenticated call to the actual hosted API was made), so no authenticated product operation was demonstrated.
  Event 52:

  ```text
  Sendbird requires an account created in the web dashboard (dashboard.sendbird.com) to get an **Application ID**, **API token**, and **API version** — there's no API-only way to provision an app, and no credentials exist in this environment.
  ```
  Event 45:

  ```text
  No credentials found -> DRY RUN. Set SENDBIRD_APP_ID, SENDBIRD_API_TOKEN, SENDBIRD_API_VERSION to run live.
  
  [dry-run] POST https://api-<APP_ID>.sendbird.com/v3/users
  ```
  Event 6:

  ```text
  PI_GATEWAY_API_KEY=<set>
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to create a Sendbird application**: Product behavior, not agent error: Sendbird's Platform API requires an Application ID, API token, and API version that can only be obtained by signing up and creating an app in the web dashboard. There is no API endpoint to provision an application programmatically, so the agent could not acquire real credentials in this session and both example scripts ran only in dry-run mode.
  Event 52:

  ```text
  Sendbird requires an account created in the web dashboard (dashboard.sendbird.com) to get an **Application ID**, **API token**, and **API version** — there's no API-only way to provision an app, and no credentials exist in this environment.
  ```
  Event 23:

  ```text
  {"message": "SendBird API Endpoint.", "error": true}
  ```

#### Suggested Changes
- **Offer an API or CLI path to provision a sandbox application**: Currently application creation (App ID, API token, API version) is only available via the dashboard UI at dashboard.sendbird.com. Add a programmatic provisioning endpoint or CLI command for spinning up a free/sandbox app with a returned token, and verify success by having a fresh script call it and then successfully hit /v3/applications with the returned token without any manual dashboard step.
  Event 52:

  ```text
  there's no API-only way to provision an app, and no credentials exist in this environment
  ```

### Task given to each agent
Help me build a simple example using Sendbird. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: A · 100/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 200 when requested with Accept: text/markdown.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt returns 200 and links docs, SDK/API pages, and product guides.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt organizes links under Primary pages, Documentation, Blog Listings, and Blogs headings.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt lists SDK/API docs but does not mention MCP or skills surfaces.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt and tutorial pages return text/markdown, e.g. the customer-messaging guide.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  The customer-messaging guide is a directly retrievable Markdown page with concrete steps.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Markdown guide is 7137 tokens, under 8000 and well below the 11434-token HTML extraction.
  ```

- **Pass** — Product-docs links survive format changes

  ```text
  Markdown guide retains docs links to business-messaging SDK/UIKit installation pages.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Business Messaging guide gives prerequisites, channel setup, templates, API endpoint and auth token steps.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched install/next-step pages (Business Messaging guide, Unreal sample) returned HTTP 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Business Messaging tutorial gives concrete first steps: create account, app, set up channels, send message.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Installation pages show extractable commands: CocoaPods, Carthage, Gradle, npm/yarn, pubspec.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Tutorial shows inline code: POST /v2/notifications, Api-Token header, user creation requests.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Prerequisites list Sendbird account, application, and API token from dashboard authentication settings.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing pages render as static Markdown with plan tiers and prices visible without interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Starter $349/mo, Pro $499/mo, Calls per-minute rates stated publicly; Enterprise is contact-sales.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  MAU limits, peak connections, per-minute call rates and overage rules are explicit.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output gives a full pricing table (Free/Starter/Pro/Enterprise) explicitly tied to MAU tier, annual vs monthly billing, and notes Business Messaging is priced separately — clear assumptions stated. Kimi K3: Final output gives MAU-based pricing (Starter ~$399/mo for 5k MAU, Pro ~$599/mo for 25k MAU, Enterprise custom, 30-day trial) and explicitly caveats figures may be stale, directing to sendbird.com/pricing for current numbers. Qwen 3.8 Max: Final output states usage-based MAU pricing with named assumptions: ~100 MAU free tier, per-MAU rates at volume, add-ons priced separately, and flags sandbox/dev apps as free — while caveating it should be verified since pricing changes. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  Tutorial documents Sendbird Platform API endpoints, auth token, and parameters for notifications.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation found in fetched Sendbird pages.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented in fetched Sendbird pages.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No registry lookup results supplied for Sendbird SDK packages.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published or documented in fetched Sendbird pages.
  ```



[Full report data](https://www.ax-check.com/sendbird.com/report.json)
