ChatDardsha (شات دردشة) is an Arabic-first anonymous chat product: a public room,
random 1:1 text and voice matching, friend DMs, and five Arabic word games.
There is no general-purpose API here. What is published is a small,
unauthenticated, read-only surface, listed in full below. There is no public write
API, no API key issuance, no OAuth application registry, no sandbox, no webhooks and
no MCP server. The rest of the app's HTTP surface is a device-bound private backend
for its own web and Android clients and is intentionally undocumented.
This page exists so an agent can establish that in one request instead of probing.
None, on every endpoint below. They carry no personal data and no state, so there is
nothing to authenticate. Requests with an Authorization header are served
identically; the header is ignored.
How many people are using the app right now.
Also served at /api/v1/stats/online (see Versioning).
curl -s https://chatdardsha.com/api/stats/online
# → {"online":38}
Liveness of the edge Worker.
Also served at /api/v1/edge-health (see Versioning).
curl -s https://chatdardsha.com/api/edge-health
# → {"ok":true,"service":"chatdardsha-edge"}
Every endpoint above answers on both its bare path and /api/v1/…. The
versioned form is the one to integrate against; the bare form is what this site's own
clients call and will not be removed.
Responses carry Api-Version: 2026-08-25. A client may send
the same header to state which contract it was written against; an unknown value is
ignored rather than rejected, so pinning can never break a working client.
If a documented path is ever scheduled for removal it will answer with Deprecation
and Sunset headers (RFC 8594 / RFC 9745) and a Link rel="deprecation" pointing
here, for at least 180 days before it stops working. A breaking change to a
response shape gets a new version rather than a silent edit.
The documented endpoints return the RFC-draft RateLimit headers, so a client can
self-throttle without guessing:
RateLimit-Limit: 120
RateLimit-Remaining: 119
RateLimit-Reset: 60
RateLimit-Policy: 120;w=60
A throttled request answers 429 with Retry-After in seconds and the standard
error body below. Undocumented endpoints are limited too, more strictly, and do not
advertise their budgets.
Every JSON failure in this app uses one shape, so a failure from any endpoint parses
the same way:
{"ok":false,"error":"not_found","message":"No such endpoint."}
error is a stable machine-readable code (unauthorized, method_not_allowed,
not_found, rate_limited); message is optional human-readable detail. The HTTP
status always matches. This is the Error schema in the OpenAPI document, which
every documented 4xx and 5xx response references.
chat@chatdardsha.com · contact page