Skip to content

SLOs

SLOs

These are ShipVAT’s operational service-level objectives. They describe the targets we measure and alert on; they are not a separate contractual SLA.

Targets

AreaObjectiveMeasurement
API availability99.9% monthly availabilityHelheim external canary success for GET /health and GET /v1/rates?jurisdiction=DE
API latencyp95 below 300 msHelheim external canary request duration from the EU vantage point
Data freshnessWithin the published freshness window for each data type/v1/status region health plus meta.data_freshness on /v1/rates and /v1/thresholds
Webhook delivery99% delivered within 6 hoursDurable webhook delivery records and retry outcomes

Freshness Windows

Data typeWindow
Standard rates7 days
Reduced rates30 days
Economic nexus and registration thresholds30 days
Product taxability90 days

Freshness is measured from the last successful source verification timestamp. Rate and threshold API responses include provenance and freshness metadata so customers can inspect the source and verification time for returned data.

External Canary

ShipVAT is probed from the Helheim cluster, outside Cloudflare Workers. The canary runs every 60 seconds and checks:

GET https://api.shipvat.com/health
GET https://api.shipvat.com/v1/rates?jurisdiction=DE
Authorization: Bearer <dedicated canary API key>

The rates probe validates both HTTP success and the response contract: Germany must return rate records plus public provenance and freshness metadata.

Canary metrics feed the ShipVAT Grafana SLO dashboard and Alertmanager burn alerts. A failing Worker, dependency outage, broken route, invalid canary key, or missing response metadata causes the canary to fail from the external vantage point.

Alerting

SLO burn alerts are evaluated in Helheim Alertmanager. Critical alerts route to PagerDuty; warning alerts route to Slack. ShipVAT also keeps independent Resend email alerts for collector parse failures and digest emails as a fallback path.

The public status page is available at https://shipvat.com/status; the raw collector status API is:

GET https://api.shipvat.com/v1/status