> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Products

> Low-level bulk tool that creates, updates, or deletes catalog products by sending raw Meta items_batch requests as-is

Low-level bulk tool that creates, updates, or deletes catalog products by sending raw Meta items\_batch requests as-is. Common use: tag products with custom labels so product sets filtered on those labels update automatically. Meta processes batches asynchronously. Use meta\_ads\_list\_products first to find retailer ids.

|                       |                            |
| --------------------- | -------------------------- |
| **App**               | Meta Ads                   |
| **Operation ID**      | `meta_ads_update_products` |
| **Type**              | Action                     |
| **Connection**        | `meta_ads` (required)      |
| **Credits per run**   | 2                          |
| **Agent / MCP tool**  | Yes                        |
| **Requires approval** | Yes (write operation)      |

## Inputs

| Field        | Type                      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------ | ------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `catalog_id` | string or SelectItem      | Yes      | -       | Meta catalog ID. Use Meta Ads List Catalogs first to find this value.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `requests`   | array of object or string | Yes      | -       | Raw Meta items\_batch requests as an array of objects, sent to Meta as-is. Each request has a method (CREATE, UPDATE, or DELETE) and a data object where data.id is the product retailer id (SKU). UPDATE also creates the item when it does not exist. Field values use Meta catalog feed format, for example price as "9.99 USD". Example: \[\{"method": "UPDATE", "data": \{"id": "SKU\_1", "custom\_label\_0": "top\_performer"}}, \{"method": "UPDATE", "data": \{"id": "SKU\_2", "availability": "out of stock"}}]. Use meta\_ads\_list\_products first to find retailer ids and current values. |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns catalog\_id, request\_count, and the Meta batch response with handles.

**Fields**: dynamic (depend on the inputs)
