Attestwire status

Live availability of everything we run, checked every 5 minutes with real requests to the same URLs you use.

Last checked .

attestwire.com

Marketing site and rule reference
Operational 24h 7d
  • HomepageGET / Operational 19 ms
  • Rule page BR-02GET /rules/BR-02 Operational 18 ms

check.attestwire.com

French e-invoicing readiness checker
Operational 24h 7d
  • HomepageGET / Operational 19 ms
  • Health endpointGET /api/health Operational 7 ms

api.attestwire.com

Hosted EN 16931 validation API
Operational 24h 7d
  • Health endpointGET /v1/health Operational 25 ms
  • Authenticated validationPOST /v1/validate Operational 850 ms

vies.attestwire.com

VIES availability monitor
Operational 24h 7d
  • Status boardGET / Operational 204 ms
  • Data freshnessGET /api/status.json Operational 198 ms

Uptime columns fill in as data accrues — monitoring began 2026-08-09. We do not backfill history we did not measure, so a window longer than that shows “–”.

Incident history

Every status change we have recorded, newest first. Nothing here is edited or removed after the fact.

No status changes recorded yet. Every time a check moves between operational, degraded and down, it will be listed here — including the ones that make us look bad.

What each check does

ServiceCheckPass condition
attestwire.comHomepageGET / — must return 200 and render the site.
attestwire.comRule page BR-02GET /rules/BR-02 — one real rule page, so a broken build is visible.
check.attestwire.comHomepageGET / — must return 200 and serve the checker page.
check.attestwire.comHealth endpointGET /api/health — must return ok:true.
api.attestwire.comHealth endpointGET /v1/health — must return ok:true.
api.attestwire.comAuthenticated validationPOST /v1/validate with a real key and a known-good invoice — must return valid:true.
vies.attestwire.comStatus boardGET / — must return 200 and render the board.
vies.attestwire.comData freshnessGET /api/status.json — generatedAt must be less than 15 minutes old.

JSON API

Current status, latency and uptime for every service and check. CORS-open, cached 60 seconds, no key and no signup.

curl https://status.attestwire.com/api/uptime.json

Served at /api/uptime.json rather than /api/status.json: this host used to serve the VIES monitor, and /api/status.json here still permanently redirects to vies.attestwire.com/api/status.json so third-party dashboards that were polling it keep getting the VIES data they asked for.

How this is measured

A Cloudflare Worker runs every 5 minutes and makes real requests to the surfaces listed above — the same URLs a customer uses, not internal health pings. Each check states its own pass condition: a 200 is not enough if the body is wrong. The rule page check fails if the page stops containing its own rule ID; the VIES check fails if the monitor's JSON is more than 15 minutes stale, even though the endpoint is answering; the API check posts a known-good invoice and fails if the verdict comes back anything other than valid: true.

Operational means the check passed inside its latency threshold. Degraded means it passed but was slow, or we were rate limited. Down means it failed: a timeout, a 5xx, an unexpected status, or a response that did not contain what the check requires.

Uptime is (operational + degraded) ÷ (operational + degraded + down). Checks we could not run — a missing probe credential, a throttled check that was not due — are excluded from the denominator rather than counted as either success or failure. We have been collecting since 2026-08-09; we do not backfill, so windows longer than that read “–” instead of showing a number we did not measure.

The authenticated API check runs every 480 minutes rather than every cycle, because each run consumes one document from a free-tier key we minted for this purpose (status-probe@attestwire.com, 100 documents a month). If that key runs out, the check reports QUOTA_EXCEEDED as degraded, not down — it is our measurement budget expiring, not the API failing.

What this page cannot tell you

Every measurement is taken from Cloudflare's network. That is the same network that serves these services, so this page is blind to the class of problem where our origin is fine and the route from your network is not. It is also a sample every 5 minutes: an outage shorter than that can pass unrecorded. And a page that says everything is operational is a claim about eight specific checks, listed above with their URLs — not a promise about every code path we ship.

Monitoring someone else

We also run vies.attestwire.com, a live monitor of VIES — the European Commission's VAT number validation service — across all 27 member states. Same measurement discipline, applied to a service we do not control. It used to live on this hostname; every one of its old URLs still redirects there.

Building EU invoicing?

Attestwire is an EN 16931 validation API — post an invoice as JSON, get back the rule it breaks and the fix. Free tier, 100 documents a month, no card.

api.attestwire.com/docs  ·  Rule reference  ·  About Attestwire