Skip to main content
APIBreakingArabic
Provider change + fields that are now real

Arabic routing moved off ALLaM, and four placeholder fields became real

Changed: Arabic no longer routes to ALLaM

IBM withdrew ALLaM. Verified by enumerating available models across six watsonx regions on 2026-09-12: zero ALLaM models in any of them. Arabic now routes to Claude.
  • provider accepts claude and gemini. allam is no longer a valid value and returns a 400.
  • X-NAWA-Provider will never return allam.
  • /v1/translate and /v1/moderate previously attempted ALLaM first and fell back to Claude on failure. Because the model no longer exists, every request to those two endpoints was paying the full watsonx timeout, roughly 38 seconds, before falling through. They now call Claude directly. Measured after the change: /v1/classify on Arabic went from 38.4s to 4.6s.
NAWA’s Arabic work is unaffected: dialect detection, Arabizi handling and dialect-aware reply scoring are ours and do not depend on which model sits behind them.

Changed: /v1/classify fields that used to be placeholders

If you built against any of these, re-read the field table.
  • suggested_reply.text returned NAGL’s internal reasoning for choosing reply over reaction, in English, with direction: "rtl" attached to it. It now returns an actual draft reply in the commenter’s own language and dialect. The reasoning moved to a new reasoning field.
  • dialect was hardcoded to "gulf" for all Arabic text. It now returns the detected dialect: gulf, egyptian, levantine or msa.
  • dialect_confidence returned the classifier’s overall confidence, not a dialect score. It is now a real dialect confidence.
  • model reported a model that had not run. It now reports the model that actually served the request.
  • tokens_used was always null on every endpoint. It now returns input plus output tokens.

Fixed: /v1/rubric/classify returned categories you did not define

The endpoint built your rubric into a prompt, then passed the answer through a normalizer that only understood NAWA’s own intent taxonomy, so your categories could not survive. It then fell back to those internal labels and presented them as yours. A request with five Arabic categories came back as other at 0.5.It now returns your category names, character for character, and drops anything that was not in your rubric. An empty array is a valid answer and is never padded with a generic category. If the model returns something unusable, you get a rubric_unparseable 502 and are not charged, rather than a plausible wrong answer.

Documentation corrections

Several pages described behaviour the API never had. Corrected:
  • /v1/rubric/classify documented categories as an array of strings. The API requires objects with a name; the documented example returned a 400. The response fields documented (category, category_confidence, scores, dialect) do not exist.
  • /v1/health documented services api, classification and cache wrapped in the standard envelope. It actually returns a bare object with database, redis and nagl.
  • The sandbox allowance is 100 requests per account across all sandbox keys ever created, not 500 per month per endpoint.
  • /v1/rubric/classify does not use the semantic cache, so it never returns X-NAWA-Cache: HIT.
  • Dialect detection is a deterministic marker matcher, not a language model, and the previously published “100% accuracy” figure has been removed.
APIIntelligence
/report refresh

/report structure and tagging update

Changed

  • /report endpoint response structure updated. Sections now use plain-English keys (tldr, headline_finding, comment_types) instead of Roman-numeral keys.
  • Every percentage in report tables is now tagged COUNT, ESTIMATE, or UNVERIFIED.
  • Pro tier reports now open with a TL;DR section.

Fixed

  • OpenAPI spec envelope schema corrected to match actual handler response.
APINew EndpointEnglish
v1.2.0

Intelligence Report API + English support

The biggest update since launch. Two major additions:

New endpoint: POST /v1/report

Generate structured audience intelligence reports from comment data. Feed in comments, get back clusters, narratives, sentiment analysis, spam detection, and strategic recommendations.
  • Basic tier ($0.50) - 8 sections: executive summary, clusters, narratives, sentiment, top commenters, spam detection, recommendations, channel health
  • Pro tier ($1.50) - 10 sections: everything in Basic plus repeat commenter analysis with superfan detection and a content brief with episode concepts
  • Returns both markdown and pre-parsed JSON sections
  • Min 10 comments, max 500 per report
  • Full documentation

English comment support

All classification and reply endpoints now support English comments alongside Arabic. Language is auto-detected. English routes to Claude, Arabic routes to ALLaM. Same pricing, same API shape. dialect and dialect_confidence return null for English text.
APIReliability
v1.1.1

Claude fallback for Translate and Moderate

Automatic Claude Haiku 4.5 fallback added to /v1/translate and /v1/moderate. If ALLaM is unavailable, requests seamlessly fall back to Claude with no user action required.
  • /v1/translate — falls back to Claude for translation when ALLaM is down
  • /v1/moderate — falls back to Claude for moderation when ALLaM is down
  • fallback_used — new boolean field in all endpoint responses indicating whether the fallback provider was used
  • X-NAWA-Provider — response header now reflects the active provider (allam or claude)
APINew Endpoint
v1.1.0

New endpoints: Translate, Detect, and Moderate

Three new endpoints expanding NAWA from comment classification to a full Arabic language intelligence platform.
  • POST /v1/translate — dialect-aware Arabic-English translation with tone control. Supports Gulf, Egyptian, Levantine, and MSA. 5 credits per request ($0.005).
  • POST /v1/detect — lightweight language and dialect detection using local NAGL modules only. Returns in under 100ms with no AI model call. 2 credits per request ($0.002).
  • POST /v1/moderate — dialect-aware Arabic content moderation. 7 categories (profanity, hate speech, harassment, sexual, spam, self-harm, violence) with severity scores, flagged terms, and cleaned text. 4 credits per request ($0.004).
APIPlatform
v1.0.0

NAWA API Platform v1.0 — Live

Self-serve API platform for Arabic comment classification, powered by HUMAIN’s ALLaM 13B.
  • 8 API endpoints live at api.trynawa.com/v1 — classify, rubric, reply, feedback, comments, analytics, health, usage
  • Developer console at trynawa.com/developers/keys with Google OAuth and magic link authentication
  • Credit-based billing via Stripe with 25,25, 50, 100,and100, and 500 packs. 1,000 credits = $1.00.
  • Free tier — 100 lifetime requests, 14-day key expiry, no credit card required. Same AI models as paid.
  • TypeScript SDK (@nawalabs/sdk) and Python SDK (nawa-sdk)
  • Interactive docs at developers.trynawa.com with OpenAPI 3.1 spec
  • Semantic cache — identical or similar requests served free from cache
  • RLHF calibration loop — pattern applicator and calibration endpoints for continuous accuracy improvement