Developer documentation
The 28x Time API is the official time service for the 28x temporal standard. It provides the current 28x date, conversion between Gregorian and 28x, season information, and AFN minting coordinates. No authentication required; all responses are JSON; CORS is enabled for all origins.
Base URL: https://api.28x.org
Endpoints
| Method | Path | Description |
|---|---|---|
GET | / | API documentation (JSON) |
GET | /now | Current moment in 28x time |
GET | /convert | Convert between Gregorian and 28x |
GET | /season | Season information for a 28x year |
GET | /afn-coordinate | 28x coordinate for AFN minting |
GET | /health | Health check |
GET /
Returns API metadata and endpoint list as JSON. No query parameters.
GET /now
Returns the current moment in 28x time. No query parameters.
Response shape: gregorian (iso, unix, date, time), 28x (coordinate, year, month, day, season, seasonDay, humanReadable, isIntercalary, isLeapYear, dayOfYear, daysRemainingInYear, daysRemainingInMonth, daysRemainingInSeason), meta (epochGregorian, totalDaysSinceEpoch, apiVersion).
GET /convert
Convert a Gregorian date to 28x, or a 28x coordinate to Gregorian.
Query parameters:
from(required):gregorian|28x|unix- If
from=gregorian:date— ISO date or datetime (e.g.2026-03-20or2026-03-20T14:32:00Z) - If
from=28x:coordinate— 28x coordinate (e.g.28X-0000-01-15) - If
from=unix:timestamp— Unix timestamp in seconds
Example: GET /convert?from=gregorian&date=2026-03-20
Response: Same shape as /now for the given moment. Pre-epoch dates include 28x.preEpoch, 28x.daysBeforeEpoch, 28x.isTransitionDay.
GET /season
Returns full season information for a 28x year.
Query parameters:
year(optional): 28x year number (e.g.0). Defaults to current 28x year.
Response: year, seasons (spring, summer, autumn, winter: name, startGregorian, endGregorian, start28x, end28x, durationDays), intercalaryDays, isLeapYear, totalDays.
GET /afn-coordinate
Returns the 28x coordinate and mint recommendation for AFN (A Field Note) metadata.
Query parameters:
timestamp(optional): ISO datetime or Unix ms. Defaults to now.
Response: afnCoordinate, afnSeason, afnYear, afnSeasonLabel, gregorianISO, mintRecommendation (coordinate, season, year, seasonIdentifier, humanLabel). Pre-epoch timestamps return a valid coordinate using negative-year notation per spec section 6.4 (e.g. 28X--0001-13-20). The mintRecommendation.preEpoch field is true for these responses. Season fields are null for pre-epoch coordinates.
GET /health
Health check. No parameters.
Response: { "status": "ok", "time28x": "28X-0000-01-01" }
Errors
Validation and not-found errors return JSON:
{ "error": "descriptive message", "code": "ERROR_CODE" }HTTP status 400 for bad parameters; 404 for unknown paths.
Examples
curl
curl https://api.28x.org/now curl "https://api.28x.org/convert?from=gregorian&date=2026-03-20" curl "https://api.28x.org/afn-coordinate?timestamp=2026-03-20T14:32:00Z"fetch (JavaScript)
const res = await fetch('https://api.28x.org/now');
const data = await res.json();
console.log(data['28x'].coordinate);Calendar specification: 28x Time Standard. AFN metadata: A Field Note standard.