---
title: "One subscription with its delivery health."
method: GET
path: "/push/subscriptions/{subscription_id}"
tags: ["Subscriptions"]
---

# One subscription with its delivery health.

`GET /push/subscriptions/{subscription_id}`

## Request

- Base URL: `https://api.blockvectra.com/v1`
- URL: `https://api.blockvectra.com/v1/push/subscriptions/{subscription_id}`
- Auth: API key in header `x-api-key`

Returns the subscription details and per-chain delivery progress. `delivered_through_block` is a lower bound
of delivery progress; during quiet periods without matching events, progress flushes periodically (at most once
every ~60 seconds) and may lag behind the chain release frontier by up to about 60 seconds.
If this status query returns a 5xx error or times out, the status is unknown; clients should retain their previously
observed watermark and must not classify the subscription as stalled.

## Response `200`

The subscription after the call.

- Subscription
  - `id` integer, required: The subscription id: the one number that identifies a subscription everywhere (PostgreSQL integer identity, fits u32, never reused). A plain JSON integer in bodies, decimal digits in the path.
  - `url` string, required: https, port 443, a host name (no IP literal), no userinfo or fragment; stored and returned normalized.
  - `status` 'online' | 'offline', required: online listens and delivers; offline does not listen (addresses unloaded, no matching, delivery or address fee) and keeps its whole configuration, and can go online again at any time. Change it with PATCH; the system also sets offline when the subscription expires (a chain failed for the expiry window, currently 7 days, and no other chain delivered inside it).
  - `key_id` string, required
  - `address_count` integer, required: Distinct addresses of this subscription; additions cannot exceed 1,000,000. Existing oversized subscriptions can remove addresses and resend existing addresses.
  - `applied_version` integer, required: Address and chain changes of this subscription up to this version are applied on every chain; compare with change_version returned by add, remove and PATCH (a counter of this subscription only).
  - `chains` object, required
  - `created_at` string, required

## Other responses

- `default`: Error envelope; the codes, statuses and retry rules are in root x-push-errors. 429 and 503 carry Retry-After.

---

[API](https://skmtc.dev/blockvectra/apis/blockvectra-push-api.md) · [All operations](https://skmtc.dev/blockvectra/apis/blockvectra-push-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blockvectra/apis/blockvectra-push-api/revisions/396dd7621c54?raw)
