Skip to main content
GET
/
v1
/
products
/
{productKey}
Node.js
import { PriceOS } from "priceos";
import type { MyFeatures } from "./priceos.types";

const priceos = new PriceOS<MyFeatures>(process.env.PRICEOS_API_KEY!);

const product = await priceos.products.get("starter");
{
  "id": "prod_123",
  "key": "starter",
  "name": "Starter",
  "type": "stripe",
  "isDefault": false,
  "version": 2,
  "stripeProductId": "prod_stripe_123",
  "prices": [
    {
      "id": "price_row_123",
      "stripePriceId": "price_monthly_starter",
      "currency": "usd",
      "unitAmount": 2900,
      "recurringInterval": "month",
      "recurringIntervalCount": 1,
      "isActive": true,
      "isDefault": true
    },
    {
      "id": "price_row_124",
      "stripePriceId": "price_yearly_starter",
      "currency": "usd",
      "unitAmount": 29000,
      "recurringInterval": "year",
      "recurringIntervalCount": 1,
      "isActive": true,
      "isDefault": false
    }
  ],
  "featureAccess": [
    {
      "featureKey": "api_calls",
      "name": "API Calls",
      "type": "limit",
      "hasAccess": true,
      "limit": 10000,
      "isUnlimited": false
    },
    {
      "featureKey": "priority_support",
      "name": "Priority Support",
      "type": "boolean",
      "hasAccess": true
    }
  ]
}

Headers

x-api-key
string
required

API key from your PriceOS dashboard.

Path Parameters

productKey
string
required

Product key.

Response

Product

Product.

id
string
required

Product ID.

key
string
required

Product key.

name
string
required

Product name.

type
enum<string>
required

Product type.

Available options:
stripe,
custom
isDefault
boolean
required

Whether this is the default custom product.

version
number
required

Product version number.

stripeProductId
string | null
required

Stripe product ID (Stripe products only).

prices
object[]
required

Stripe prices linked to the product.

featureAccess
object[]
required

Feature access entries configured for this product.