---
title: "Updates a Product's Image"
method: PUT
path: "/Product/{id}/Image/{filename}"
tags: ["Products"]
---

# Updates a Product's Image

`PUT /Product/{id}/Image/{filename}`

## Request

- Base URL: `https://api.insightly.com/v3.1`
- URL: `https://api.insightly.com/v3.1/Product/{id}/Image/{filename}`
- Auth: none declared. Required headers: `Authorization`

This action will replace any existing Image attached to the Product. The contents of the image data should be sent as binary data in the request payload. See our <a href="http://github.com/Insightly" target="_blank">client libraries</a> for an example of how this is done.

## Path parameters

- `id` integer, required
- `filename` string, required

## Headers

- `Authorization` string, required

## Request body `application/octet-stream`

- string, binary

## Response `201`

Request succeeded.

- object[]
  - `PRODUCT_ID` integer
  - `PRODUCT_NAME` string, string, required
  - `PRODUCT_CODE` string, string
  - `PRODUCT_SKU` string, string
  - `DESCRIPTION` string, string
  - `PRODUCT_FAMILY` string, string
  - `PRODUCT_IMAGE_URL` string, string
  - `CURRENCY_CODE` string, string
  - `DEFAULT_PRICE` number, required
  - `DATE_CREATED_UTC` string, date-time
  - `DATE_UPDATED_UTC` string, date-time
  - `CREATED_USER_ID` integer
  - `OWNER_USER_ID` integer
  - `ACTIVE` boolean, required
  - `CUSTOMFIELDS` APICustomField[]
    - `FIELD_NAME` string
    - `FIELD_VALUE` object

## Other responses

- `400`: Data validation error.
- `401`: Authentication failed.
- `402`: Storage limit reached.
- `403`: API User does not have access to Record.
- `404`: Record not found.
- `417`: Image update failed.

---

[API](https://skmtc.dev/insightly/apis/insightly-api-v3-1.md) - [All operations](https://skmtc.dev/insightly/apis/insightly-api-v3-1/llms.txt) - [OpenAPI document](https://skmtc.dev/insightly/apis/insightly-api-v3-1/revisions/e7df0c3b65fb?raw)
