API reference
Control the room.
Inspect the service.
Corporate telemetry and regional room control have separate roles and authorization boundaries.
Public platform telemetry.
These read-only endpoints are served by https://synton.cc. They do not allocate rooms or carry participant media. Public telemetry is unauthenticated, with a limit of 1,000 requests per minute per requesting client.
| Method | Corporate route | Response |
|---|---|---|
| GET | /api/v1/health | Platform state; HTTP 200 |
| GET | /api/v1/status | Service component array; HTTP 200 |
| GET | /api/v1/version | Release and build metadata; HTTP 200 |
{
"service": "Synton-platform",
"status": "operational",
"availability_window": "rolling_operational"
}The direct /health.json, /status.json, and /version.json documents expose the same representations.
Provisioning inquiry.
POST /api/v1/inquiry accepts an organization name and work email. This endpoint records a capacity-review request; it does not create a workspace or issue a credential.
curl -fsSL -X POST 'https://synton.cc/api/v1/inquiry' \
-H 'Content-Type: application/json' \
-d '{"organization":"<ORGANIZATION>","email":"<WORK_EMAIL>"}'| Field | Type | Validation |
|---|---|---|
organization | string | Required; trimmed; 1–180 characters |
email | string | Required; valid email; up to 254 characters |
{
"reference_id": "<INQUIRY_REFERENCE>",
"inquiry_id": "<INQUIRY_REFERENCE>",
"status": "accepted"
}A successful submission returns HTTP 202 Accepted. Invalid JSON or fields return 400; a body above 4 KiB returns 413. The site form only shows confirmation when the service returns an inquiry reference.
Regional room & session control.
The coordinator publishes its discovery document at https://api.sfu-<region>.synton.cc/docs without authentication. All /v1/ room-control routes require a cryptographic Bearer token issued for the workspace.
Replace <region> (or sfu-X) with your nearest active regional Edge cluster (e.g. as listed in /network.html); per-PoP service subdomains vary by cluster role and are published in each node's /docs.
| Method | Coordinator route | Purpose |
|---|---|---|
| GET | /docs | Node endpoint and JSON schema discovery |
| POST | /v1/rooms | Allocate a workspace room |
| POST | /v1/rooms/{id}/tokens | Mint a scoped participant ticket |
Authenticated room control allows 120 requests per minute per workspace. Rate-limit responses include Retry-After. Assign a unique request identifier in your application logs and avoid storing authorization headers.
curl -fsSL -X POST 'https://api.sfu-<region>.synton.cc/v1/rooms' \
-H 'Authorization: Bearer <TENANT_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"name":"standup-eu-01","max_participants":20}'{
"id": "<ROOM_ID>",
"name": "standup-eu-01",
"max_participants": 20,
"status": "ready"
}Participant ticket schema
{
"identity": "usr_92c",
"ttl_seconds": 300,
"grants": {
"join": true,
"publish": true,
"subscribe": true
}
}The ticket response contains token, expires_in, and the room’s assigned WSS url. Follow the regional discovery document for available grants and limits.
Errors that are safe to handle.
Protected requests without a valid credential return HTTP 401 with {"error":"unauthorized"}. A valid credential without the needed workspace grant returns 403.
| HTTP status | JSON error | Client behavior |
|---|---|---|
| 400 | invalid_request | Correct the request fields before retrying. |
| 401 | unauthorized | Obtain a valid workspace credential on your server. |
| 403 | forbidden | Review room grants and workspace scope. |
| 429 | rate_limited | Wait for Retry-After, then retry with backoff. |
| 500 | internal_error | Keep the request reference and retry conservatively. |
{
"error": "forbidden",
"message": "The credential does not permit this room action.",
"request_id": "<REQUEST_REFERENCE>"
}