Skip to main content
Two endpoints answer health questions, and neither one needs an API key. Both are safe to poll from a monitor: they are not scoped to your account and they spend none of your rate limit.

Publishing health per channel

GET /v1/status reports, for each of the 22 channels, whether posts have been landing over the last 24 hours. It is the same data the public status page renders.
Per-channel status has five values, and two of them are deliberately not health claims:
  • operational — failures are under 25% of the sample.
  • degraded — 25% or more failed.
  • outage — 50% or more failed.
  • no_activity — nothing was published to that channel in the window. A fact about traffic, not a verdict.
  • monitoring — some publishes, but fewer than 8, which is too few for a percentage to mean anything. The counts are still shown; only the verdict is withheld.
These figures are an aggregate over all publishing through MADIAD Hub, with no account, profile or post identifiable in them — which is also why a channel can read operational here while your posts to it keep failing. A restriction on one connected account never moves this number. For your own results, read each post’s per-channel outcome and see Publish failures.
The answer is cached for up to a minute, so polling faster than that returns the same body.

Is the API up?

GET /v1/health is a liveness probe. It reads nothing and answers immediately:
A 200 means the API is serving requests. It says nothing about whether publishing is healthy — that question belongs to GET /v1/status. Point uptime monitors here rather than at an authenticated route, so a probe every minute never eats into the requests your integration is allowed.