# Method: accounts.productInputs.insert

- [HTTP request](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.request_body)
- [Response body](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.response_body)
- [Authorization scopes](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#body.aspect)
- [Try it!](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert#try-it)

[Uploads a product input to your Merchant Center account](https://developers.google.com/merchant/api/guides/products/add-manage#add_a_product). You must have a products [data source](https://developers.google.com/merchant/api/guides/data-sources/api-sources#create-primary-data-source) to be able to insert a product. The unique identifier of the data source is passed as a query parameter in the request URL.

If a product input with the same contentLanguage, offerId, and dataSource already exists, then the product input inserted by this method replaces that entry.

After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

### HTTP request

`POST https://merchantapi.googleapis.com/products/v1/{parent=accounts/*}/productInputs:insert`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` Required. The account where this product will be inserted. Format: `accounts/{account}` |

### Query parameters

| Parameters ||
|---|---|
| `dataSource` | `string` Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Create a primary data source](https://developers.google.com/merchant/api/guides/data-sources/api-sources#create-primary-data-source). Only API data sources are supported. Format: `accounts/{account}/dataSources/{datasource}`. For example, `accounts/123456/dataSources/104628`. |

### Request body

The request body contains an instance of `https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs#ProductInput`.

### Response body

If successful, the response body contains an instance of `https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs#ProductInput`.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/content`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).