---
title: "Retrieve Subscription"
method: GET
path: "/subscriptions/{subscription_id}"
---

# Retrieve Subscription

`GET /subscriptions/{subscription_id}`

## Path parameters

- `subscription_id` string, required

## Response `200`

200

- object
  - `id` string
  - `name` string
  - `description` string
  - `account_id` string
  - `merchant_reference` string
  - `soft_descriptor` string
  - `status` string
  - `subscription_plan_id` string
  - `amount` object
    - `currency` string
    - `value` integer
  - `frequency` object
    - `type` string
    - `value` integer
  - `billing_cycles` object
    - `total` integer
    - `current` integer
    - `next_at` string
  - `customer_payer` object
    - `id` string
  - `payment_method` object[]
    - `type` string
    - `token` string
    - `vaulted_token` string
    - `card` object
      - `verify` boolean
      - `card_data` object
        - `number` string
        - `expiration_month` integer
        - `expiration_year` integer
        - `security_code` integer
        - `holder_name` string
  - `availability` object
    - `start_at` string
    - `finish_at` string
  - `trial_period` object
    - `billing_cycles` integer
    - `amount` object
      - `value` integer
      - `currency` string
  - `metadata` object
    - `key` string
    - `value` string
  - `payments` string[]
  - `subscription_agreement_id` string
  - `plan_id` string — Only present when the subscription is linked to a plan.
  - `plan_assigned_at` string — Only present on plan-linked subscriptions. The moment the plan was attached — at creation from a plan, migration onto a plan, or a plan change.
  - `previous_subscription_id` string — Only present when this subscription was created by a plan change (switching an existing subscription to a different plan).
  - `current_phase` string — Only present on plan-linked subscriptions.
  - `billing_phases` object[] — Only present on plan-linked subscriptions whose plan has phases. Contains the leading TRIAL phases only, snapshotted at creation — the terminal REGULAR phase is never included, since its price isn't pinned and instead resolves from the plan at every billing. `current_phase: "REGULAR"` is how you know the ladder is exhausted.
    - `order` integer
    - `type` string — Always TRIAL — the terminal REGULAR phase is never in this array.
    - `name` string
    - `amount` object
      - `currency` string
      - `value` number
    - `frequency` object
      - `type` string
      - `value` integer
    - `start_cycle` integer
    - `end_cycle` integer
  - `created_at` string
  - `updated_at` string

## Other responses

- `400` — 400

---

[API](https://skmtc.net/y/apis/ai-caller.md) · [All operations](https://skmtc.net/y/apis/ai-caller/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/y/ai-caller/revisions/05b629819b49/schema)
