SpecVault Docs

Subscriptions & Alerts

Consumer teams subscribe to services they depend on. When breaking changes are detected in a new spec version, subscribers receive an email alert immediately.

How subscriptions work

A subscription is simply an email address associated with a service. Subscribers don't need a SpecVault account — the system is intentionally lightweight. You add an email, and that address receives alerts when the service's API breaks backward compatibility.

Subscriptions are per-service. If a consumer team uses three APIs, they subscribe to all three services individually. This gives producers and consumers fine-grained control over notification routing.

Adding a subscriber

From the service detail page, click Add Subscriber and enter the email address. You can add:

  • Individual engineer addresses (e.g. alice@example.com)
  • Team distribution lists (e.g. frontend-team@example.com)
  • Slack email integrations or webhook-to-email bridges

There is no confirmation email sent to the subscriber — the admin adding the address is responsible for ensuring it's correct.

What triggers an alert

Alerts are sent only when breaking changes are detected. If a new spec version has no breaking changes — only additive changes, or no changes at all — no alert is sent. This keeps alert volume low and signal-to-noise ratio high.

No alert is sent for the first spec version of a service (the baseline), even if it has many endpoints. Alerts fire only on diffs.

Alert content

Each alert email includes:

  • Service name
  • New version number
  • Publish date and time
  • Total number of breaking changes
  • Full list of breaking changes, each with HTTP method, path, and a description of what changed
  • Link to the version detail page in the SpecVault dashboard

See Notifications for the full alert format and SMTP configuration.

Blast radius — who is actually affected

Detecting a breaking change is only half the job. SpecVault also tells you which consumers it breaks, instead of paging everyone subscribed.

On a service's Subscribers tab, a consumer can declare the endpoints — and optionally the specific fields — their integration calls (for example GET /orders, or GET /users field email). When a breaking change lands, SpecVault intersects it against those declarations and shows the result on the change event:

  • Impacted — consumers whose declared endpoint/field is hit ("impacts payments@acme — uses GET /orders").
  • Impact unknown — subscribers who haven't declared their usage. They can't be cleared, so they're shown explicitly rather than silently assumed safe.

Field-level matching is leaf-name based: declaring email matches a change to that field wherever it appears, but for deeply nested fields declare the dotted path (user.email) so a parent-object removal still attributes correctly.

Subscription management

The Subscribers tab on each service page lists all subscribers and the endpoints each has declared. Admins can remove any subscriber; each user can also manage their own subscriptions from the My Subscriptions page — toggle breaking-only vs. all changes, or unsubscribe — without needing an admin.

Pausing a service

Deactivating a service stops alerts while keeping its full history; it stays in the registry, greyed out, and can be reactivated at any time. A deactivated service still records change events — it just doesn't notify. Deleting a service is a hard delete that permanently removes it and all its versions, change events, subscribers, and dependencies.