---
title: "Update Product"
method: PUT
path: "/v1/products/{product_id}"
tags: ["products"]
---

# Update Product

`PUT /v1/products/{product_id}`

## Request

- Base URL: `https://api.evidenso.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.evidenso.com/v1/products/{product_id}`
- Auth: HTTP bearer

Update a product and its features.
Replaces all features with the new list.

## Path parameters

- `product_id` string, required

## Request body

- ProductCreate: Product creation model. Only ``name`` is required. Description and target audience are produced by the product-context build (which researches them anyway) and written back onto the product — asking the user for them up front duplicated that work and let the two copies drift. They remain accepted so an API caller that already knows them can seed the record — but a value supplied at CREATION is only a seed, and the build will still refine it. Ownership is taken by editing an existing product, not by creating one with a description; otherwise an agent-created product could never be improved by its own graph.
  - `name` string, required: Product name
  - `description` string, nullable: Optional; the product-context build fills this
  - `targetAudience` string, nullable: Optional; derived from the product context graph
  - `productWebsite` string, nullable: Product or company website
  - `features` FeatureCreate[]: List of features
    - `name` string, required: Feature name
    - `description` string, nullable: Feature description

## Response `200`

Successful Response

- ProductResponse: Product response model
  - `id` string, required
  - `name` string, required
  - `description` string, required
  - `target_audience` string, required
  - `product_website` string, nullable
  - `features` FeatureResponse[]
    - `id` string, required
    - `name` string, required
    - `description` string, nullable
    - `created_at` unknown, required
  - `created_at` unknown, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/evidenso/apis/persona-rag-api.md) - [All operations](https://skmtc.dev/evidenso/apis/persona-rag-api/llms.txt) - [OpenAPI document](https://skmtc.dev/evidenso/apis/persona-rag-api/revisions/86408c178d4f?raw)
