Commy Cloud API

Create a token on the project page (API tokens); it is shown once and works for its own project only.

Authorization: Bearer cct_…

Project

GET https://commy.makhkets.ru/api/v1/projects/{id}
{
  "id": "axm",
  "name": "AXM VPN",
  "key": "…",
  "next_key": "",
  "rendezvous": "https://commy.makhkets.ru/r/axm",
  "page": "https://commy.makhkets.ru/s/axm",
  "latest": {"seq": 3, "origin": "https://sub.example.ru", "mirrors": [], "manifest": "v1.…", "published": "2026-10-05T12:00:00Z"}
}

Publish a manifest

The manifest is signed on your side (commy-cloud sign or your own implementation of the protocol); the server checks the signature, the project’s key and that seq grows.

POST https://commy.makhkets.ru/api/v1/projects/{id}/manifests
Content-Type: application/json

{"manifest": "v1.…"}

201 — published; 422 with {"error": "…"} — refused (wrong key, seq not above the published one, malformed).

History

GET https://commy.makhkets.ru/api/v1/projects/{id}/manifests

Stats

GET https://commy.makhkets.ru/api/v1/projects/{id}/stats?days=30
[{"date": "2026-10-05", "visits": 1520, "unique": 1307, "versions": {"0.1.0": 1307}}]

unique is the number of Commy installs that asked the meeting point that day (a hash of the IP with a daily salt; no IP is stored).

Limit: 120 requests a minute per address.