ChatDardsha developer resources

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.

What is and is not available

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.

Authentication

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.

Endpoints

GET /api/stats/online

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}

GET /api/edge-health

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"}

Versioning and deprecation

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.

Rate limits

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.

Errors

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.

Machine-readable files

Contact

chat@chatdardsha.com · contact page