{"ok":true,"schema":"aenet.public.api.response.v1","requestId":"ae74c2d1-ad21-46ac-b953-efea8caf20cc","issuedAt":"2026-10-15T18:33:57.096Z","data":{"schema":"aenet.public.api.index.v1","name":"AENET Cloud Public API","version":"v1","registryVersion":"0.6.0","basePath":"/api/v1","mode":"public-safe","securityBoundary":"Read-only except early access registration and anonymous key issuance. Preview/private routes return 403. Keys are anonymous, read-only and revocable; responses are signed. No accounts. No core access.","docs":{"en":"/en/api","policy":"/api/v1/policy","openapi":"/api/v1/openapi.json"},"endpoints":[{"id":"public-status","code":"API.PUBLIC.01","method":"GET","path":"/api/v1/status","summary":"Public-safe system status","schema":"aenet.public.status.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-time","code":"API.PUBLIC.02","method":"GET","path":"/api/v1/time","summary":"Canonical UTC time with explicit quality","schema":"aenet.public.time.v1","readOnly":true,"authentication":"none","cachePolicy":"short-lived","status":"active","stability":"stable","since":"v1","errors":[],"sunset":null,"replacement":null},{"id":"public-architecture","code":"API.PUBLIC.03","method":"GET","path":"/api/v1/architecture","summary":"Public architecture snapshot","schema":"aenet.public.architecture.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-development-queue","code":"API.PUBLIC.04","method":"GET","path":"/api/v1/development-queue","summary":"Public development queue","schema":"aenet.public.development-queue.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-roadmap","code":"API.PUBLIC.05","method":"GET","path":"/api/v1/roadmap","summary":"Public roadmap","schema":"aenet.public.roadmap.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-early-access-availability","code":"API.PUBLIC.06","method":"GET","path":"/api/v1/early-access","summary":"Early Access registration availability","schema":"aenet.public.early-access.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":[],"sunset":null,"replacement":null},{"id":"early-access-register","code":"API.PUBLIC.07","method":"POST","path":"/api/v1/early-access/register","summary":"Early access waitlist registration (D1 only)","schema":"aenet.public.early-access.registration.v1","readOnly":false,"authentication":"turnstile","cachePolicy":"none","status":"active","stability":"beta","since":"v1","errors":["INVALID_JSON","INVALID_INPUT","INVALID_EMAIL","FORBIDDEN_FIELD","INVALID_LOCALE","INVALID_INTERESTS","CONSENT_REQUIRED","INVALID_USE_CASE","INVALID_SESSION_ID","TURNSTILE_REQUIRED","TURNSTILE_FAILED","REQUEST_REJECTED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","RATE_LIMITED","REGISTRATION_UNAVAILABLE","DUPLICATE"],"sunset":null,"replacement":null},{"id":"public-snapshot-mirror","code":"API.PUBLIC.12","method":"GET","path":"/public-data/*.json","summary":"Sanitized public snapshot mirror","schema":"aenet.public.snapshot.*","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"stable","since":"v1","errors":[],"sunset":null,"replacement":null},{"id":"public-api-index","code":"API.PUBLIC.13","method":"GET","path":"/api/v1","summary":"API discovery index","schema":"aenet.public.api.index.v1","readOnly":true,"authentication":"none","cachePolicy":"short-lived","status":"active","stability":"beta","since":"0.4.0","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-changelog","code":"API.PUBLIC.14","method":"GET","path":"/api/v1/changelog","summary":"Public changelog","schema":"aenet.public.changelog.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.4.0","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-version","code":"API.PUBLIC.15","method":"GET","path":"/api/v1/version","summary":"Current version snapshot","schema":"aenet.public.version-snapshot.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.4.0","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-versions","code":"API.PUBLIC.16","method":"GET","path":"/api/v1/versions","summary":"Version snapshot history","schema":"aenet.public.versions.index.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.4.0","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-version-snapshot","code":"API.PUBLIC.17","method":"GET","path":"/api/v1/versions/{snapshotId}","summary":"One version snapshot","schema":"aenet.public.version-snapshot.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.4.0","errors":["VERSION_NOT_FOUND","SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"public-policy","code":"API.PUBLIC.21","method":"GET","path":"/api/v1/policy","summary":"API service policy","schema":"aenet.public.api.policy.v1","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.5.0","errors":[],"sunset":null,"replacement":null},{"id":"public-openapi","code":"API.PUBLIC.22","method":"GET","path":"/api/v1/openapi.json","summary":"OpenAPI contract","schema":"openapi.3.0.3","readOnly":true,"authentication":"none","cachePolicy":"static-snapshot","status":"active","stability":"beta","since":"0.5.0","errors":["SNAPSHOT_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"api-key-self","code":"API.PUBLIC.24","method":"GET","path":"/api/v1/keys/self","summary":"Inspect the calling key","schema":"aenet.public.api.key-self.v1","readOnly":true,"authentication":"api-key","cachePolicy":"none","status":"active","stability":"beta","since":"0.6.0","errors":["KEY_REQUIRED","KEY_INVALID","KEY_EXPIRED","KEY_RATE_LIMITED","KEYS_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"api-key-revoke","code":"API.PUBLIC.25","method":"DELETE","path":"/api/v1/keys/self","summary":"Revoke the calling key","schema":"aenet.public.api.key-revoked.v1","readOnly":false,"authentication":"api-key","cachePolicy":"none","status":"active","stability":"beta","since":"0.6.0","errors":["KEY_REQUIRED","KEY_INVALID","KEY_EXPIRED","KEY_RATE_LIMITED","KEYS_UNAVAILABLE"],"sunset":null,"replacement":null},{"id":"api-signing-key","code":"API.PUBLIC.26","method":"GET","path":"/api/v1/keys/signing-key","summary":"Response signing key","schema":"aenet.public.api.signing-key.v1","readOnly":true,"authentication":"none","cachePolicy":"short-lived","status":"active","stability":"beta","since":"0.6.0","errors":["SIGNING_UNAVAILABLE"],"sunset":null,"replacement":null}]}}