BillKit/Docs Console
Products

Update product

Update a product's details, or archive it.

POST/v1/products/{product_id}
Operation update_product · Scope products:write · Spec snapshot 2026-09-13

Parameters

ParameterDescription
product_idstring · pathrequiredNo description in the spec.
activeboolean | nulloptionalNo description in the spec.
allow_promotion_codesboolean | nulloptionalNo description in the spec.
descriptionstring | nulloptionalAt most 2048 characters.
marketing_featuresarray of string | nulloptionalNo description in the spec.
metadataobject | nulloptionalAt most 50 keys.
namestring | nulloptionalAt most 255 characters.

Returns

Returns a ProductResponse object.

Errors

Status Cause
401 Missing or invalid API key.
403 Key is missing the products:write scope.
404 No such object, or it belongs to the other mode.
422 Validation Error
429 Rate limited. Back off and retry.
Request · curl
curl -X POST https://api.billkit.eu/v1/products/prod_9XKp2vQ1 \
  -H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Request body · every field
{
  "active": false,
  "allow_promotion_codes": false,
  "description": "string",
  "marketing_features": [
    "string"
  ],
  "metadata": {
    "key": "value"
  },
  "name": "Ada Lovelace"
}
Response · 200 OK
{
  "active": false,
  "allow_promotion_codes": false,
  "archived_at": 1789392000,
  "created": 1789392000,
  "description": "string",
  "id": "prod_9XKp2vQ1",
  "livemode": false,
  "marketing_features": [
    "string"
  ],
  "metadata": {
    "key": "value"
  },
  "name": "Ada Lovelace",
  "object": "product",
  "prices": [
    {
      "active": false,
      "amount_cents": 1900,
      "currency": "EUR",
      "id": "obj_9XKp2vQ1",
      "interval": "string",
      "object": "price.summary",
      "payment_methods": [
        "string"
      ],
      "product_id": "prod_9XKp2vQ1",
      "product_name": "Ada Lovelace",
      "trial_days": 0,
      "unit_amount_decimal": "string",
      "usage_type": "string"
    }
  ],
  "stats": {
    "active_price_count": 1900,
    "currency": "EUR",
    "mrr_cents": 1900,
    "object": "product.stats",
    "subscriber_count": 0
  }
}