Status
Public health and data-freshness endpoint. Useful for integration health pages, customer trust signals, and agent precondition checks before spending credits.
Endpoint
GET https://api.brandmappr.com/api/v1/statusNo API key required. CORS open. Edge-cached for 30 seconds.
Response shape
{
"status": "ok", // "ok" | "degraded" (degraded if any subsystem is down)
"elapsed_ms": 187, // total round-trip time for this status request
"timestamp": "2026-05-24T22:32:30.042Z",
"api": {
"ok": true,
"version": "1.4.0"
},
"renderer": {
"ok": true,
"elapsed_ms": 156, // time spent calling the renderer /health
"detail": { ... } // proxied from the renderer
},
"data": {
"brand_summary": {
"last_refreshed_at": "2026-05-01T06:13:42.000Z",
"stale": false // true if older than 40 days (monthly refresh + 10d grace)
}
},
"flags": {
"use_multi_source_import": false,
"disabled_sources": [] // contents of BRANDMAPPR_DISABLE_SOURCES env
}
}The overall status is degraded if any subsystem is down. The API
itself always returns 200 if it can respond — the body carries the
state. We never return 5xx for monitoring purposes; that prevents you
from distinguishing "the API is down" from "the API says something is
degraded."
Use cases
- Customer integration health page — embed a "BrandMappr status" badge
that pings
/statusevery 60 seconds. - Pre-render precondition check — before spending credits on a large render, an agent can confirm the renderer is up and the data is fresh.
- Internal monitoring — wire a simple polling alert that pages on
status === "degraded"orstale === true.
Notes
data.brand_summary.last_refreshed_atisnulluntil the data-refresh workflow has run at least once after migration 037 was applied. Until then,staleis alsonull.- The 30-second edge cache means up to 30 seconds of staleness is normal. For aggressive monitoring, hit the endpoint more often anyway — Cloudflare absorbs the cost.