---
title: "Update Product or Service | Nuvio Docs"
description: "Updates an existing product or service"
url: https://nuvio.io/docs/api/update-product
---

# Update Product or Service

PUT `/v1/product-services/{id}`

Needs an API key with the [`update`](https://nuvio.io/docs/api/authentication#scopes) scope.

## Path parameters

-   `id` string Required

## Body parameters

-   `name` string

    A user-generated custom code for this product or service

-   `productCode` string

    Name of the product or service

-   `taxes` array of strings

    A list of the default taxes to be added to when the product is selected in the Nuvio Platform. Provide a list of taxes with their 32-character unique ID.

## Returns

The product or service as saved.

`401`

No usable `Authorization: Bearer {token}` header (1002).

`403`

The access token is unknown, or lacks the scope this route needs (1001).

PUT /v1/product-services/{id}

```
curl -X PUT https://api.nuvio.io/v1/product-services/7c9e6679-7425-40de-944b-e07fc1f90ae7 \
  -H "Authorization: Bearer $NUVIO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Supplies",
    "productCode": "ACME-01",
    "taxes": [
      "7c9e6679-7425-40de-944b-e07fc1f90ae7"
    ]
  }'
```

Response

```
{
  "success": true,
  "errors": null,
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "code": "ACME-01",
    "name": "Acme Supplies",
    "taxes": [
      {
        "taxId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "taxName": "Acme Supplies"
      }
    ]
  }
}
```
