/api/meta/status
GETAvailableFRESH

Service status

Overall status, API instances and stores, failing endpoints, latency percentiles, 30-day availability, collector health per data family and open incidents.

GET/api/meta/status

Request

This endpoint takes no parameters.

Example request

curl -s "https://www.coinboss.com/api/meta/status"

Response fields

The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
schemastring—Schema id of this response (`coinboss.meta.status/1`).
nownumbermsServer time when the response was built.
overallstring—Overall service status: `operational`, `degraded`, `partial_outage`, `major_outage` or `unknown`; see `legend`.
api_versionstring—Version of the public API (`v1`).
catalog_versionstring—Version of the endpoint catalog, a release date such as `2026.11.11`.
componentsarray—Service components with their status: REST API, WebSocket stream, database, cache, time-series store, endpoint probe and data collection.
components[]object—One component: `id`, `title`, `status` and a `detail` object whose fields depend on the component.
components[].idstring—Identifier.
components[].titlestring—Display name of the component.
components[].statusstring—Status.
components[].detailobject—Detail.
components[].detail.instances_healthynumbercountAPI server instances that answered the health check just now. may be absent
components[].detail.instances_totalnumbercountAPI server instances that were checked. may be absent
components[].detail.health_latency_msnumbermsSlowest health-check response among the API instances. may be absent
components[].detail.last_check_atnumbermsTimestamp. may be absent
components[].detail.first_frame_msnumbermsTime from connecting to the WebSocket stream until the first frame arrived in the last probe; null when not probed. may be absent
components[].detail.ping_msnumbermsRound-trip time of a trivial query to the component (database, cache or time-series store), measured from the API host. may be absent
components[].detail.notenull—Note. may be absent
components[].detail.last_run_atnumbermsTimestamp. may be absent
components[].detail.age_snumbersSeconds since this row was last updated. may be absent
components[].detail.interval_snumbersPlanned interval between two probe runs (300). may be absent
components[].detail.took_msnumbermsDuration of the last complete probe run; null when not recorded. may be absent
components[].detail.families_totalnumbercountNumber of data families evaluated for data collection. may be absent
components[].detail.families_degradednumbercountNumber of data families whose collection status is `degraded` or `outage`. may be absent
components[].detail.judged_bystring—Which timestamp the status was judged from. may be absent
endpointsobject—Number of documented endpoints in each live status, plus the list of failing ones.
endpoints.totalnumber—Total.
endpoints.availablenumber—Whether data is available.
endpoints.partialnumber—true when only part of the expected data is present.
endpoints.degradednumbercountNumber of endpoints whose live status is `degraded`.
endpoints.downnumbercountNumber of endpoints whose live status is `down`.
endpoints.unavailablenumber—Items for which no data is available, with reasons. Never reported as 0.
endpoints.unknownnumbercountNumber of endpoints whose live status is `unknown` (no recent probe result).
endpoints.failingarray—Endpoints currently `down` or `degraded`, each with `id`, `path`, `status`, `reason`, last HTTP status, last success time and failure streak.
endpoints.failing[]object—One endpoint that is currently down or degraded.
endpoints.failing[].idstring—Identifier.
endpoints.failing[].pathstring—Endpoint path.
endpoints.failing[].statusstring—Status.
endpoints.failing[].reasonstring—Reason code.
endpoints.failing[].httpnumber—HTTP status of the last probe; `null` when never probed.
endpoints.failing[].last_ok_atnumbermsTimestamp.
endpoints.failing[].fail_streaknumbercountNumber of consecutive failed probes.
latency_msobject—Response-time distribution of the latest successful probe call of each endpoint, measured on the API host.
latency_ms.p50numbermsMedian response time across endpoints; null when there is no fresh sample.
latency_ms.p95numberms95th-percentile response time across endpoints; null when there is no fresh sample.
latency_ms.maxnumber—Maximum.
latency_ms.samplenumbercountNumber of endpoints included in the latency figures.
latency_ms.measuredstring—Plain-text note on where latency is measured: on the server side, excluding network transit.
uptimeobject—Probe checks of all endpoints together over the window: totals, success percentage and a per-day breakdown.
uptime.window_daysnumberdaysLength of the uptime window (30).
uptime.checksnumbercountNumber of probe checks in the window, all endpoints together.
uptime.oknumbercountNumber of those checks that succeeded.
uptime.pctnumber%Percentage.
uptime.tracking_sincestring—First day with probe data inside the window, `YYYY-MM-DD`; null when there is no data yet.
uptime.daysarray—Daily values or number of days.
uptime.days[]object—Daily values or number of days.
uptime.days[].daystring—Calendar day (UTC).
uptime.days[].checksnumbercountNumber of probe requests that day.
uptime.days[].oknumbercountNumber of successful probe requests that day.
uptime.days[].pctnumber%Percentage.
uptime.days[].schema_pctnumber%Share of that day’s probed responses that matched the documented field table.
uptime.days[].avg_msnumbermsAverage response time that day.
collectorsobject—State of exchange data collection, judged from data timestamps in storage: per-family counts, dataset checks and patrol health; null when not evaluable.
collectors.familiesarray—Collection status per data family.
collectors.families[]object—One family: `family`, `title`, number of exchanges in each state and the resulting `status`.
collectors.families[].familystring—Family id, for example `ticker`, `oi`, `funding`, `liquidation`, `options`.
collectors.families[].titlestring—Display title of the family.
collectors.families[].exchanges_collectednumbercountExchanges for which the family is collected: fresh + partial + stale + broken.
collectors.families[].freshnumbercountExchanges whose newest data for the family is inside the fresh window.
collectors.families[].partialnumber—true when only part of the expected data is present.
collectors.families[].stalenumber—Rows or flag for data older than the freshness window.
collectors.families[].brokennumbercountExchanges whose upstream keeps failing or whose rows mostly fail sanity checks for the family.
collectors.families[].unavailablenumber—Items for which no data is available, with reasons. Never reported as 0.
collectors.families[].statusstring—Status.
collectors.datasetsarray—Quality checks of datasets that are not per exchange (for example spot ETF and CME daily data), each with status, lag, coverage and reason.
collectors.datasets[]object—One market-wide dataset that is not tied to a single exchange (options, spot ETFs, CME, order books, basis).
collectors.datasets[].familystring—Dataset id, for example `etf` or `cme`.
collectors.datasets[].idstring—Identifier.
collectors.datasets[].titlestring—Display name of the dataset.
collectors.datasets[].sourcestring—Where the value comes from.
collectors.datasets[].endpointstring—Public endpoint that serves the dataset.
collectors.datasets[].statusstring—Status.
collectors.datasets[].lag_snumbersAge of the newest data point when the response was built.
collectors.datasets[].source_atnumbermsTimestamp.
collectors.datasets[].fetched_atnumbermsWhen CoinBoss fetched the data from the source.
collectors.datasets[].fresh_within_snumbersFreshness window: data newer than this counts as fresh.
collectors.datasets[].coverageobject—What is included and what is missing.
collectors.datasets[].coverage.funds_totalnumbercountNumber of funds tracked. may be absent
collectors.datasets[].coverage.funds_coverednumbercountNumber of funds with a usable disclosure. may be absent
collectors.datasets[].coverage.funds_unavailablenumbercountNumber of funds whose issuer publishes no machine-readable disclosure. may be absent
collectors.datasets[].coverage.funds_failingnumbercountNumber of funds whose disclosure could not be read in the last collection round. may be absent
collectors.datasets[].coverage.as_ofstring—Newest disclosure date among covered funds (YYYY-MM-DD). may be absent
collectors.datasets[].coverage.as_of_minstring—Oldest disclosure date among covered funds (YYYY-MM-DD). may be absent
collectors.datasets[].reasonstring|null—Reason code.
collectors.datasets[].coverage.contractsnumber—Per-contract rows. may be absent
collectors.datasets[].coverage.report_datestring—Date of the newest CFTC Commitments of Traders report (YYYY-MM-DD). may be absent
collectors.datasets[].coverage.productsnumbercountNumber of CME products covered. may be absent
collectors.datasets[].coverage.trade_datestring—Trade date of the newest CME daily report (YYYY-MM-DD). may be absent
collectors.patrol_okboolean—true when the data-quality patrol ran within the last 15 minutes.
collectors.patrol_age_snumbersSeconds since the event.
collectors.evaluated_atnumbermsTimestamp.
incidentsobject—Data-quality alerts that are open or were resolved in the last 7 days: `open` count and `items` (at most 100).
incidents.opennumber—Open price of the period.
incidents.itemsarray—Result items.
incidents.items[]object—Result items.
incidents.items[].levelstring—Level.
incidents.items[].exchangestring—Exchange id, lower case (for example `binance`).
incidents.items[].familystring—Data family the alert is about.
incidents.items[].codestring—Code.
incidents.items[].detailstring—Detail.
incidents.items[].opened_atnumbermsTimestamp.
incidents.items[].last_seen_atnumbermsTimestamp.
incidents.items[].resolved_atnumber|nullmsTimestamp.
incidents.items[].hitsnumbercountNumber of patrol runs (one every 5 minutes) that observed the condition since the alert opened.
incidents.items[].openboolean—Open price of the period.
probeobject—State of the endpoint probe behind the live statuses: last run time, its age, the interval and whether it is fresh.
probe.last_run_atnumbermsTimestamp.
probe.age_snumbersSeconds since this row was last updated.
probe.interval_snumbersPlanned interval between two probe runs (300).
probe.freshboolean—true when the last probe run is less than 20 minutes old; when false, endpoint statuses are reported as `unknown`.
probe.errornull—Error message (present only on failure).
probe.endpoints_checkednumbercountNumber of endpoints checked in the last probe round.
probe.oknumbercountNumber of endpoints that answered correctly in the last probe round.
probe.failednumbercountNumber of endpoints that failed in the last probe round.
probe.schema_mismatchnumbercountNumber of endpoints whose response did not match the documented field table.
probe.alt_samples_failednullcountNumber of extra sample requests that failed; `null` when the last round did not run them.
legendobject—Plain-text definition of each value of `overall`.
legend.operationalstring—Definition of `operational`.
legend.degradedstring—Definition of `degraded`.
legend.partial_outagestring—Definition of `partial_outage`.
legend.major_outagestring—Definition of `major_outage`.
legend.unknownstring—Definition of `unknown`.
metaobject—Envelope of this response: schema id, producing system, timestamps, cache lifetime and freshness.
meta.schemastring—Schema id of this response; same value as the top-level `schema`.
meta.sourcearray—Where the value comes from.
meta.source[]object—Where the value comes from.
meta.source[].systemstring—System that produced the data; always `coinboss` for the developer-center endpoints.
meta.source[].componentstring—Component behind the data: the endpoint probe and the data-quality patrol.
meta.observed_atnull—Timestamp.
meta.received_atnumbermsTimestamp.
meta.fetched_atnumbermsWhen CoinBoss fetched the data from the source.
meta.windowstring—Window.
meta.cache_ttl_snumbersServer-side cache lifetime of this response.
meta.qualitystring—`FRESH` when the endpoint probe reported within the last 20 minutes, otherwise `STALE`.
meta.is_staleboolean—true when the row is older than the freshness window; stale rows are not used in totals.
meta.fallbackstring—Plain-text note on what this endpoint returns when its inputs are stale or missing.

Generated 2026-11-11 23:01 UTC from 1 real responses.

Example response

/api/meta/status · Real response captured 2026-11-13 03:53:47 UTC. Long arrays and maps are shortened for display: components had 7 items; uptime.days had 3 items; incidents.items had 11 items; endpoints.failing had 25 items; collectors.datasets had 12 items; collectors.families had 12 items.

  • {
    • "success": true,
    • "schema": "coinboss.meta.status/1",
    • "now": 1794542027137,
    • "overall": "partial_outage",
    • "api_version": "v1",
    • "catalog_version": "2026.11.12",
    • "components": [
      • { … 4 },
      • { … 4 }
      ],
    • "endpoints": {
      • "total": 299,
      • "available": 256,
      • "partial": 17,
      • "degraded": 17,
      • "down": 8,
      • "unavailable": 1,
      • "unknown": 0,
      • "failing": [ … 2 ]
      },
    • "latency_ms": {
      • "p50": 7,
      • "p95": 839,
      • "max": 10047,
      • "sample": 289,
      • "measured": "server-side, from the probe on the API host (excludes network transit)"
      },
    • "uptime": {
      • "window_days": 30,
      • "checks": 119504,
      • "ok": 118277,
      • "pct": 98.97,
      • "tracking_since": "2026-11-11",
      • "days": [ … 2 ]
      },
    • "collectors": {
      • "families": [ … 2 ],
      • "datasets": [ … 2 ],
      • "patrol_ok": true,
      • "patrol_age_s": 282,
      • "evaluated_at": 1794542027976
      },
    • "incidents": {
      • "open": 2,
      • "items": [ … 2 ]
      },
    • "probe": {
      • "last_run_at": 1794541726312,
      • "age_s": 301,
      • "interval_s": 300,
      • "fresh": true,
      • "error": null,
      • "endpoints_checked": 290,
      • "ok": 289,
      • "failed": 1,
      • "schema_mismatch": 0,
      • "alt_samples_failed": null
      },
    • "legend": {
      • "operational": "all checks pass",
      • "degraded": "serving, with stale data, schema drift or reduced redundancy",
      • "partial_outage": "at least one endpoint or API instance is failing",
      • "major_outage": "database down, no API instance healthy, or 20%+ of endpoints failing",
      • "unknown": "the probe has not reported within 20 minutes — status cannot be asserted"
      },
    • "meta": {
      • "schema": "coinboss.meta.status/1",
      • "source": [ … 1 ],
      • "observed_at": null,
      • "received_at": 1794541726312,
      • "fetched_at": 1794542027137,
      • "window": "latest",
      • "cache_ttl_s": 15,
      • "quality": "FRESH",
      • "is_stale": false,
      • "fallback": "status is \"unknown\" whenever the probe is stale; process liveness is never used as evidence"
      }
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
15s
Edge micro-cache
10s
Update frequency
Evaluated on request; endpoint results come from the 5-minute API probe, collector health from data timestamps.
Data sources
API probe results, per-instance health checks, data-quality matrix, alert log.
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable
Available since
2026-11-11

Live status

AvailableChecked 2026-11-13 03:53:47 UTCHTTP 200872 msSchema matchesNewest data point 5m old

Availability, last 30 days

99.75% of 407 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A required parameter is missing or a value is not accepted. `param` names the parameter when it is known.Do not retry unchanged; fix the request.
UNAUTHORIZED401The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key.Do not retry unchanged.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected server error. The message is generic by design; quote `request_id` when reporting it.Retry once after a few seconds; report it with the request id if it persists.
UPSTREAM_FAILED503The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place.Retry with backoff; check the status page.
UNAVAILABLE501 / 503The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet.Retry later; the catalog marks endpoints that are unavailable by design.
REQUEST_FAILED200Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status.Depends on the message; treat as a failed request.

Try it

GET/api/meta/statusAvailable
Parameters

No parameters.

Request URLhttps://www.coinboss.com/api/meta/status
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.