Docs

Products

Manage Stripe products via the Admin API

Products API

Manage your Stripe products programmatically. Products represent the goods or services you sell.

Endpoints

GET /api/admin/stripe/products

List all products from your Stripe account.

Query Parameters

ParameterTypeDescription
limitnumberMaximum number of products to return (default: 10, max: 100)
starting_afterstringCursor for pagination

Response

{
  "data": [
    {
      "id": "prod_1234567890",
      "object": "product",
      "active": true,
      "name": "Premium Plan",
      "description": "Access to all premium features",
      "images": [],
      "metadata": {},
      "created": 1234567890,
      "updated": 1234567890
    }
  ],
  "has_more": false
}

POST /api/admin/stripe/products

Create a new product in Stripe.

Request Body

{
  "name": "Premium Plan",
  "description": "Access to all premium features",
  "active": true,
  "metadata": {
    "tier": "premium",
    "category": "subscription"
  }
}

Parameters

ParameterTypeRequiredDescription
namestringYesThe product name
descriptionstringNoProduct description
activebooleanNoWhether the product is active (default: true)
metadataobjectNoKey-value pairs for storing additional information
imagesstring[]NoArray of image URLs

Response

{
  "id": "prod_1234567890",
  "object": "product",
  "active": true,
  "name": "Premium Plan",
  "description": "Access to all premium features",
  "images": [],
  "metadata": {
    "tier": "premium",
    "category": "subscription"
  },
  "created": 1234567890,
  "updated": 1234567890
}

PATCH /api/admin/stripe/products

Update an existing product.

Request Body

{
  "id": "prod_1234567890",
  "name": "Updated Premium Plan",
  "description": "Updated description",
  "active": true,
  "metadata": {
    "tier": "premium"
  }
}

Parameters

ParameterTypeRequiredDescription
idstringYesThe product ID to update
namestringNoNew product name
descriptionstringNoNew description
activebooleanNoActive status
metadataobjectNoUpdated metadata

Response

{
  "id": "prod_1234567890",
  "object": "product",
  "active": true,
  "name": "Updated Premium Plan",
  "description": "Updated description",
  "images": [],
  "metadata": {
    "tier": "premium"
  },
  "created": 1234567890,
  "updated": 1234567900
}

Example Usage

Create a Product

curl -X POST /api/admin/stripe/products \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Subscription",
    "description": "Professional plan with advanced features",
    "metadata": {
      "plan": "pro"
    }
  }'

List Products

curl /api/admin/stripe/products?limit=20

Update a Product

curl -X PATCH /api/admin/stripe/products \
  -H "Content-Type: application/json" \
  -d '{
    "id": "prod_1234567890",
    "name": "Pro Subscription (Updated)"
  }'

On this page