Skip to main content
POST
/
advertisers
/
{advertiserId}
/
catalogs
/
sync
Sync catalogs
curl --request POST \
  --url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/catalogs/sync \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "account": {
    "account_id": "12345"
  },
  "catalogs": [
    {
      "catalog_id": "my-summer-products",
      "type": "offering",
      "name": "Summer Sale 2026",
      "url": "https://feeds.example.com/products.xml",
      "feed_format": "google_merchant_center",
      "update_frequency": "realtime",
      "items": [
        {}
      ],
      "conversion_events": [
        "purchase",
        "add_to_cart"
      ]
    }
  ]
}
'
{
  "catalogs": [
    {
      "catalog_id": "<string>",
      "action": "created",
      "platform_id": "<string>",
      "item_count": 4503599627370495,
      "items_approved": 4503599627370495,
      "items_pending": 4503599627370495,
      "items_rejected": 4503599627370495,
      "item_issues": [
        {
          "issue": "<string>",
          "item_id": "<string>",
          "field": "<string>",
          "severity": "error"
        }
      ],
      "last_synced_at": "2023-11-07T05:31:56Z",
      "next_fetch_at": "2023-11-07T05:31:56Z",
      "error": "<string>"
    }
  ],
  "dry_run": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.interchange.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

advertiserId
string
required

Unique identifier for the advertiser

Minimum string length: 1
Example:

"12345"

Body

application/json
account
object
required

Advertiser account to sync catalogs onto

catalogs
object[]
required

Catalog feeds to sync (up to 50 per call)

Required array length: 1 - 50 elements
catalog_ids
string[]

Optional: only process these catalog_ids from the catalogs array

delete_missing
boolean
default:false

Archive buyer-managed catalogs not included in this request

dry_run
boolean
default:false

Preview changes without persisting to the database

validation_mode
enum<string>
default:strict

Item validation strictness

Available options:
strict,
lenient

Response

Sync catalogs

catalogs
object[]
required
dry_run
boolean