---
title: "Get a subscription's manifest"
method: GET
path: "/v1/subscriptions/{subscriptionId}/manifest"
---

# Get a subscription's manifest

`GET /v1/subscriptions/{subscriptionId}/manifest`

## Request

- Base URL: `https://api.ploti.ai`
- URL: `https://api.ploti.ai/v1/subscriptions/{subscriptionId}/manifest`
- Auth: HTTP bearer

Every dataset the subscription delivers, the version of each with signed links to its snapshot, and eventCursor, the last event already in those snapshots: load them, then read events after eventCursor, skipping any for a version at or below the one loaded. Pass asOf with an earlier eventCursor for fresh links to the same versions.

## Path parameters

- `subscriptionId` string, required

## Query parameters

- `asOf` string

## Response `200`

Done

- object
  - `subscriptionId` string, required
  - `generatedAt` string, required
  - `eventCursor` string, required
  - `expiresAt` string, required
  - `datasets` object[], required
  - `unavailable` object[], required: Datasets the subscription delivers whose files are being rebuilt: ask again in a few minutes. Their events after eventCursor still apply.
    - `datasetId` string, required
    - `version` integer, required
    - `reason` string, required

## Other responses

- `401`: The credential is missing or not valid.
- `413`: payload_too_large: the body is over 256 KB (2 MB for /v1/tools).
- `415`: unsupported_media_type: a body was sent without Content-Type: application/json.
- `429`: rate_limited: this credential is over its rate. Retry after the Retry-After header's seconds.
- `500`: internal: Ploti failed. Retry; if it keeps happening, contact support.
- `default`: Refused: nothing was done. The code says why and the links say where the person acts on it.

---

[API](https://skmtc.dev/ploti/apis/ploti-api.md) · [All operations](https://skmtc.dev/ploti/apis/ploti-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ploti/apis/ploti-api/revisions/8c2c91c72d52?raw)
