---
title: "Get Subscription Products"
method: GET
path: "/v1/subscription/products"
tags: ["subscription"]
---

# Get Subscription Products

`GET /v1/subscription/products`

## Request

- Base URL: `https://api.linktodm.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.linktodm.com/v1/subscription/products`
- Auth: none declared

Checkout a product.

## Query parameters

- `country` string, nullable
- `ip_address` string, nullable

## Response `200`

Successful Response

- SubscriptionProductResponse[]
  - `name` 'Pro' | 'Pro+', required
  - `payment_gateway` 'RAZORPAY' | 'LEMON_SQUEEZY' | 'DODO_PAYMENTS': Payment gateways. Canonical definition — subscription schemas re-export it, and settings.india_payment_gateway (the kill switch) uses it.
  - `variants` SubscriptionVariantResponse[]
    - `id` string, required
    - `name` string, required
    - `product_name` 'Pro' | 'Pro+', required
    - `interval` string, required
    - `price_per_month_formatted` string, required
    - `price_per_month_in_cents` integer, required
    - `savings_per_month_formatted` string, nullable
    - `savings_per_month_in_cents` integer, nullable
    - `total_savings_formatted` string, nullable
    - `total_savings_in_cents` integer, nullable
    - `price_formatted` string, required
    - `price_in_cents` integer, required
    - `subtotal_in_cents` number, required
    - `subtotal_formatted` string, required
    - `currency_symbol` string, required
    - `tax_formatted` string, required
    - `tax_in_cents` number, required
    - `total_formatted` string, required
    - `total_in_cents` number, required
    - `razorpay_subscription_id` string, nullable
    - `razorpay_order_id` string, nullable
    - `checkout_token` string, nullable
    - `razorpay_period` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'prepaid_1_month' | 'prepaid_3_months' | 'prepaid_6_months' | 'prepaid_12_months': RazorPay period.
    - `checkout_url` string, nullable
    - `is_prepaid` boolean
    - `applied_promo_code` string, nullable
    - `discount_percent` integer, nullable
    - `discount_in_cents` integer, nullable
    - `discount_formatted` string, nullable
    - `tax_percentage` integer, nullable
    - `features` SubscriptionVariantFeature[]
      - `name` string, required
      - `is_included` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/linktodm/apis/salesmorph.md) - [All operations](https://skmtc.dev/linktodm/apis/salesmorph/llms.txt) - [OpenAPI document](https://skmtc.dev/linktodm/apis/salesmorph/revisions/4af0ad5dbe92?raw)
