Anvil API status endpoint: health, version and uptime
A tiny endpoint for monitors and curious people: is the API up, which version is running, how long since it restarted, and how many requests it has served today.
In one line: GET
/v1/status returns JSON. No key, CORS on, 60 requests a minute.GET
/v1/status
Is this API healthy? Version, uptime and today's request count. Change the values and press Send request to call the live API.
Parameters
No parameters.
Example
Request:
GET https://api.oddlathe.com/v1/status
Response (generated by the real code when these docs were last built; random or time-based values will differ for you):
{
"ok": true,
"version": "1.24.0",
"uptime_seconds": 0,
"requests_today": 0,
"limits": {
"per_minute": 60,
"per_day": 5000
}
}
Code examples
curl
curl 'https://api.oddlathe.com/v1/status'JavaScript (browser or Node 18+)
const res = await fetch("https://api.oddlathe.com/v1/status");
if (!res.ok) throw new Error((await res.json()).error.message);
const data = await res.json();
console.log(data);Python (standard library only)
import json, urllib.parse, urllib.request
url = "https://api.oddlathe.com/v1/status"
# Send a User-Agent: the edge network refuses Python's default one.
req = urllib.request.Request(url, headers={"User-Agent": "my-script/1.0"})
with urllib.request.urlopen(req, timeout=10) as r:
data = json.load(r)
print(data)When it's useful
- Uptime monitors and health checks
- Checking the rate limits before writing a script
Good to know
requests_todayis a single counter for the whole API, reset at midnight UTC. Nothing per caller is exposed.- There's also a public status page with 90-day history.
Errors
Errors are JSON like {"error": {"code": "…", "message": "…"}}. The ones this endpoint can return:
rate_limited(429): over 60 requests a minute; wait for Retry-After seconds
Questions
Does calling it count against my limit?
Yes, like any endpoint. One call a minute is plenty for a monitor.
Related endpoints
Published · OpenAPI 3.1 spec · Limits and privacy