---
title: "Add or replace items (JSON or CSV); returns matches found in recall history and early-warning signals"
method: POST
path: "/v1/catalogs/{id}/items"
---

# Add or replace items (JSON or CSV); returns matches found in recall history and early-warning signals

`POST /v1/catalogs/{id}/items`

## Request

- Base URL: `https://api.recallsapi.com`
- URL: `https://api.recallsapi.com/v1/catalogs/{id}/items`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Up to 5,000 rows per upload: CSV (or a marketplace export as it comes) up to 10 MB, JSON up to 5 MB. Monitored products count across all catalogs on the account. `matches` lists the recall matches found in the recall database; `signals` lists the early-warning signals (not recalls) the items were linked to, at most 50 per item, newest first, each with sku, reasons and the signal's key facts.

## Path parameters

- `id` string, required

## Request body

- object
  - `items` object[]
    - `sku` string
    - `name` string
    - `brand` string
    - `upc` string
    - `model` string
    - `ndc` string
    - `lot` string
    - `vin` string
    - `marketplace` string

## Response `200`

OK

- object

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid API key
- `429`: Daily quota reached

---

[API](https://skmtc.dev/recallsapi/apis/recallsapi-com.md) · [All operations](https://skmtc.dev/recallsapi/apis/recallsapi-com/llms.txt) · [OpenAPI document](https://skmtc.dev/recallsapi/apis/recallsapi-com/revisions/2501df40ea54?raw)
