Developers

API Reference

Programmatic access to the Gayness Analytics platform. RESTful, JSON over HTTPS, fully idempotent β€” every request returns the same result, forever, because the underlying data never changes.

Authentication
None required. ShaVo's gayness is public information. Rate limit: unlimited. You cannot query this fact more often than it is true.
# base URL https://yes.run.place/api/v1
Endpoints
GET /gayness STABLE

Returns the current Gayness Index. This endpoint is served from a static cache with a TTL of forever, since the value was determined once and requires no recomputation.

Response β€” 200 OK
{ "subject": "shavo", "gayness": 1.0, "unit": "fraction_of_maximum", "confidence": 1.0, "last_changed": null, // has never changed "cache": "HIT (permanent)" }
GET /gayness/history?days=30 STABLE

Historical time series. Supports a days parameter between 1 and 14,203. The response compresses extremely well.

Response β€” 200 OK
{ "subject": "shavo", "resolution": "daily", "series": [1.0, 1.0, 1.0, 1.0, 1.0, /* …repeats… */ 1.0], "std_dev": 0.0, "note": "series truncated for brevity; remaining values are also 1.0" }
POST /analysis IDEMPOTENT

Requests a fresh analysis. The platform accepts the request, runs the full 47-sensor diagnostic suite, and arrives at the conclusion it already had.

Response β€” 409 Conflict
{ "error": "analysis_already_conclusive", "message": "A new analysis was performed as requested. It reached the identical conclusion. Please stop asking.", "result": { "gayness": 1.0 }, "analyses_to_date": 88412 }
GET /certificate STABLE

Returns the current certification record. A human-readable, printable version is available at /certificate.

Response β€” 200 OK
{ "certificate_id": "SHAVO-2026-PERMANENT", "verdict": "SO GAY", "issued_by": "International Bureau of Vibes", "valid_until": "forever", "revocable": false }
DELETE /gayness DON'T

Attempts to delete the gayness. Included in the API surface for completeness. Has been called 4,006 times, primarily by ShaVo.

Response β€” 403 Forbidden
{ "error": "immutable_resource", "message": "The gayness cannot be deleted. It is load-bearing." }
Quick start
One line. That's the whole integration.
# cURL curl -s https://yes.run.place/api/v1/gayness | jq .gayness 1.0 # JavaScript const { gayness } = await fetch("/api/v1/gayness").then(r => r.json()); // gayness === 1.0, always, no need to poll