Skip to main content
PATCH
/
products
/
:id
curl -X PATCH https://api.autumnai.com/products/Pro%20Product \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Plan (Updated)",
    "description": "Our premium plan with advanced features",
    "items": [
      {
        "price": 25,
        "interval": "month"
      },
      {
        "feature_id": "messages",
        "included_usage": 2000,
        "price": 0.4,
        "interval": "month",
        "usage_model": "pay_per_use"
      }
    ]
  }'
{
  "id": "Pro Product",
  "name": "Pro Plan (Updated)",
  "description": "Our premium plan with advanced features",
  "group": null,
  "env": "sandbox",
  "is_add_on": false,
  "is_default": false,
  "archived": false,
  "version": 2,
  "created_at": 1761296829908,
  "items": [
    {
      "type": "price",
      "feature_id": null,
      "interval": "month",
      "interval_count": 1,
      "price": 25,
      "display": {
        "primary_text": "$25",
        "secondary_text": "per month"
      }
    },
    {
      "type": "priced_feature",
      "feature_id": "messages",
      "included_usage": 2000,
      "interval": "month",
      "interval_count": 1,
      "price": 0.4,
      "usage_model": "pay_per_use",
      "billing_units": 1000,
      "reset_usage_when_enabled": true,
      "entity_feature_id": null,
      "display": {
        "primary_text": "2,000 Messages",
        "secondary_text": "then $0.4 per 1,000 Messages"
      }
    }
  ],
  "free_trial": null,
  "base_variant_id": null,
  "scenario": "new"
}
Updates an existing product. You can also use POST for this endpoint (will be deprecated in the future).

Path Parameters

product_id
string
required
The ID of the product to update.

Request Body

id
string
The new ID of the product. Used to rename the product ID.
name
string
The name of the product.
description
string
The description of the product.
is_add_on
boolean
Whether the product is an add-on.
is_default
boolean
Whether the product is the default product.
group
string
Product group which this product belongs to.
archived
boolean
Archive this product using this flag. Archived products are hidden on the dashboard.
items
array
Array of product items that define the product’s features and pricing. Updates the entire items array.
free_trial
object
Free trial configuration for this product.

Response

id
string
The ID of the product.
name
string
The name of the product.
group
string
Product group which this product belongs to.
env
string
The environment of the product.
is_add_on
boolean
Whether the product is an add-on.
is_default
boolean
Whether the product is the default product.
archived
boolean
Whether this product has been archived.
version
number
The current version of the product.
created_at
number
The timestamp of when the product was created.
items
array
Array of product items that define the product’s features and pricing.
free_trial
object
Free trial configuration for this product, if available.
base_variant_id
string
ID of the base variant this product is derived from.
scenario
enum
Scenario for when this product is used in attach flows.
properties
object
Additional product properties.
curl -X PATCH https://api.autumnai.com/products/Pro%20Product \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Plan (Updated)",
    "description": "Our premium plan with advanced features",
    "items": [
      {
        "price": 25,
        "interval": "month"
      },
      {
        "feature_id": "messages",
        "included_usage": 2000,
        "price": 0.4,
        "interval": "month",
        "usage_model": "pay_per_use"
      }
    ]
  }'
{
  "id": "Pro Product",
  "name": "Pro Plan (Updated)",
  "description": "Our premium plan with advanced features",
  "group": null,
  "env": "sandbox",
  "is_add_on": false,
  "is_default": false,
  "archived": false,
  "version": 2,
  "created_at": 1761296829908,
  "items": [
    {
      "type": "price",
      "feature_id": null,
      "interval": "month",
      "interval_count": 1,
      "price": 25,
      "display": {
        "primary_text": "$25",
        "secondary_text": "per month"
      }
    },
    {
      "type": "priced_feature",
      "feature_id": "messages",
      "included_usage": 2000,
      "interval": "month",
      "interval_count": 1,
      "price": 0.4,
      "usage_model": "pay_per_use",
      "billing_units": 1000,
      "reset_usage_when_enabled": true,
      "entity_feature_id": null,
      "display": {
        "primary_text": "2,000 Messages",
        "secondary_text": "then $0.4 per 1,000 Messages"
      }
    }
  ],
  "free_trial": null,
  "base_variant_id": null,
  "scenario": "new"
}

Build docs developers (and LLMs) love