---
title: "Get subscription plan"
method: GET
path: "/v1/payments/subscription-plans/{planId}"
tags: ["Payments"]
---

# Get subscription plan

`GET /v1/payments/subscription-plans/{planId}`

Retrieves a recurring-payment subscription plan record.

## Path parameters

- `planId` string, required — SDP subscription plan record ID.

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Response `200`

Subscription plan

- object — Standard success response envelope.
  - `data` object, required — Subscription plan response payload.
    - `subscriptionPlan` object, required — Recurring payment subscription plan record.
      - `id` string, required — SDP subscription plan ID.
      - `organizationId` string, required — Organization identifier.
      - `projectId` string, required — Project identifier.
      - `ownerWalletId` string, required — Provider wallet ID — the `walletId` field returned by GET /v1/wallets.
      - `ownerAddress` string, required — Base58-encoded Solana address.
      - `token` string, required — Token mint or normalized token identifier.
      - `amount` string, required — Token amount in UI units (decimal string).
      - `periodHours` integer, required
      - `programPlanId` string, required — Unsigned 64-bit decimal program plan identifier used in PDA derivation.
      - `planPda` string, nullable, required — On-chain plan PDA.
      - `destinationAddress` string, nullable, required — Allowed destination owner address.
      - `pullerWalletId` string, nullable, required — Collector wallet ID.
      - `pullerAddress` string, nullable, required — Collector wallet address.
      - `metadataUri` string, nullable, required — Optional plan metadata URI.
      - `status` 'draft' | 'active' | 'archived', required — Subscription plan status.
      - `createdBy` string, nullable, required — Creator user ID or API key ID.
      - `createdAt` string, date-time, required — ISO 8601 timestamp.
      - `updatedAt` string, date-time, required — ISO 8601 timestamp.
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `401` — Error
- `403` — Error
- `404` — Error
- `500` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
