> For the complete documentation index, see [llms.txt](https://integrations.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://integrations.impact.com/brand-api-reference/reference/catalogs/catalogs.md).

# Catalogs

## List All Catalogs

> Returns a list of all your product catalogs, which can be filtered by CampaignId or Status.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Product Catalogs","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use your AccountSID as the username and AuthToken as the password."}},"schemas":{"Catalog":{"type":"object","properties":{"Id":{"type":"string","description":"Unique identifier for the catalog (the impact.com Catalog Id)."},"Name":{"type":"string","description":"Name of the catalog."},"Filename":{"type":"string","description":"Name of the file that contains the catalog."},"AdvertiserId":{"type":"integer","description":"Id of the brand (formerly known as advertiser) that owns the catalog."},"CampaignId":{"type":"integer","description":"Id of the program (formerly known as campaign) to which the catalog belongs."},"Status":{"type":"string","enum":["ACTIVE","CLOSED","DEACTIVATED","PENDING"],"description":"State of use the catalog is in (e.g., `ACTIVE`, `CLOSED`, `DEACTIVATED`, `PENDING`)."},"NumberOfItems":{"type":"integer","description":"Number of items in the catalog."},"DateLastUpdated":{"type":"string","format":"date-time","description":"Date and time the catalog was last updated (ISO 8601)."},"Currency":{"type":"string","description":"Currency in which the items' prices are listed. See ISO 4217."},"ServiceAreas":{"type":"array","items":{"type":"string"},"description":"List of geographical areas targeted by the catalog."},"UploadMethod":{"type":"string","enum":["DIRECT_UPLOAD","IMPACT_RADIUS_FTP_SERVER","IR_SFTP","PULL_FROM_URL","SHOPPING_CART_PULL"],"description":"How the catalog was uploaded (e.g., `DIRECT_UPLOAD`, `IR_SFTP`, `SHOPPING_CART_PULL`)."},"ShoppingCart":{"type":"object","properties":{"ShoppingCartType":{"type":"string","enum":["SHOPIFY","MAGENTO","BIGCOMMERCE","WOOCOMMERCE","SHOPLAZZA"]},"BaseUrl":{"type":"string","format":"uri"},"CollectionIds":{"type":"array","items":{"type":"string"}},"CollectionTitles":{"type":"array","items":{"type":"string"}}},"description":"Shopping-cart connection details. Only returned when `UploadMethod` is `SHOPPING_CART_PULL`."},"ItemsUri":{"type":"string","format":"uri-reference","description":"URI to view this catalog's items."},"Uri":{"type":"string","format":"uri-reference","description":"Direct URI to this catalog."}}}}},"paths":{"/Advertisers/{AccountSID}/Catalogs":{"get":{"summary":"List All Catalogs","description":"Returns a list of all your product catalogs, which can be filtered by CampaignId or Status.","operationId":"listCatalogs","tags":["Catalogs"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"},"description":"Your unique account identifier."},{"name":"CampaignId","in":"query","description":"Filter catalogs by the ID of the program (campaign) they belong to.","schema":{"type":"integer"}},{"name":"Status","in":"query","description":"Filter catalogs by their current state of use.","schema":{"type":"string","enum":["ACTIVE","CLOSED","DEACTIVATED","PENDING"]}}],"responses":{"200":{"description":"A paginated list of catalog objects.","content":{"application/json":{"schema":{"type":"object","properties":{"Catalogs":{"type":"array","items":{"$ref":"#/components/schemas/Catalog"}}}}}}}}}}}}
```

## Get Catalog Details

> Retrieves the details of an existing catalog using its unique ID.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Product Catalogs","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use your AccountSID as the username and AuthToken as the password."}},"schemas":{"Catalog":{"type":"object","properties":{"Id":{"type":"string","description":"Unique identifier for the catalog (the impact.com Catalog Id)."},"Name":{"type":"string","description":"Name of the catalog."},"Filename":{"type":"string","description":"Name of the file that contains the catalog."},"AdvertiserId":{"type":"integer","description":"Id of the brand (formerly known as advertiser) that owns the catalog."},"CampaignId":{"type":"integer","description":"Id of the program (formerly known as campaign) to which the catalog belongs."},"Status":{"type":"string","enum":["ACTIVE","CLOSED","DEACTIVATED","PENDING"],"description":"State of use the catalog is in (e.g., `ACTIVE`, `CLOSED`, `DEACTIVATED`, `PENDING`)."},"NumberOfItems":{"type":"integer","description":"Number of items in the catalog."},"DateLastUpdated":{"type":"string","format":"date-time","description":"Date and time the catalog was last updated (ISO 8601)."},"Currency":{"type":"string","description":"Currency in which the items' prices are listed. See ISO 4217."},"ServiceAreas":{"type":"array","items":{"type":"string"},"description":"List of geographical areas targeted by the catalog."},"UploadMethod":{"type":"string","enum":["DIRECT_UPLOAD","IMPACT_RADIUS_FTP_SERVER","IR_SFTP","PULL_FROM_URL","SHOPPING_CART_PULL"],"description":"How the catalog was uploaded (e.g., `DIRECT_UPLOAD`, `IR_SFTP`, `SHOPPING_CART_PULL`)."},"ShoppingCart":{"type":"object","properties":{"ShoppingCartType":{"type":"string","enum":["SHOPIFY","MAGENTO","BIGCOMMERCE","WOOCOMMERCE","SHOPLAZZA"]},"BaseUrl":{"type":"string","format":"uri"},"CollectionIds":{"type":"array","items":{"type":"string"}},"CollectionTitles":{"type":"array","items":{"type":"string"}}},"description":"Shopping-cart connection details. Only returned when `UploadMethod` is `SHOPPING_CART_PULL`."},"ItemsUri":{"type":"string","format":"uri-reference","description":"URI to view this catalog's items."},"Uri":{"type":"string","format":"uri-reference","description":"Direct URI to this catalog."}}}}},"paths":{"/Advertisers/{AccountSID}/Catalogs/{CatalogId}":{"get":{"summary":"Get Catalog Details","description":"Retrieves the details of an existing catalog using its unique ID.","operationId":"getCatalogById","tags":["Catalogs"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"},"description":"Your unique account identifier."},{"name":"CatalogId","in":"path","required":true,"schema":{"type":"integer"},"description":"Unique identifier for the catalog."}],"responses":{"200":{"description":"A single catalog object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalog"}}}}}}}}}
```

## Update Catalog Pull Settings

> Programmatically updates a catalog's "Pull from URL" settings to automate data synchronization from a remote file.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Product Catalogs","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use your AccountSID as the username and AuthToken as the password."}},"schemas":{"CatalogPullSettingsUpdate":{"type":"object","required":["uploadType","pullFromUrlSettings"],"properties":{"uploadType":{"type":"string","enum":["CLIENT_PULL"],"description":"Method for retrieving the catalog (e.g., `PULL_FROM_URL`)."},"pullFromUrlSettings":{"type":"object","required":["address","fileName","pullFrequency"],"properties":{"address":{"type":"string","description":"Full URL or FTP path to the remote file."},"fileName":{"type":"string","description":"Name of the file to process from the remote server."},"pullFrequency":{"type":"string","enum":["2H","4H","8H","1W","1M"],"description":"How often the feed should be pulled."},"pullTime":{"type":"string","description":"Scheduled time for the pull (e.g., '12:30')."},"timeZone":{"type":"string","description":"Timezone for the scheduled pull (e.g., 'America/New_York')."}},"description":"Settings for pulling the catalog from a URL — endpoint, auth, schedule."}}},"Catalog":{"type":"object","properties":{"Id":{"type":"string","description":"Unique identifier for the catalog (the impact.com Catalog Id)."},"Name":{"type":"string","description":"Name of the catalog."},"Filename":{"type":"string","description":"Name of the file that contains the catalog."},"AdvertiserId":{"type":"integer","description":"Id of the brand (formerly known as advertiser) that owns the catalog."},"CampaignId":{"type":"integer","description":"Id of the program (formerly known as campaign) to which the catalog belongs."},"Status":{"type":"string","enum":["ACTIVE","CLOSED","DEACTIVATED","PENDING"],"description":"State of use the catalog is in (e.g., `ACTIVE`, `CLOSED`, `DEACTIVATED`, `PENDING`)."},"NumberOfItems":{"type":"integer","description":"Number of items in the catalog."},"DateLastUpdated":{"type":"string","format":"date-time","description":"Date and time the catalog was last updated (ISO 8601)."},"Currency":{"type":"string","description":"Currency in which the items' prices are listed. See ISO 4217."},"ServiceAreas":{"type":"array","items":{"type":"string"},"description":"List of geographical areas targeted by the catalog."},"UploadMethod":{"type":"string","enum":["DIRECT_UPLOAD","IMPACT_RADIUS_FTP_SERVER","IR_SFTP","PULL_FROM_URL","SHOPPING_CART_PULL"],"description":"How the catalog was uploaded (e.g., `DIRECT_UPLOAD`, `IR_SFTP`, `SHOPPING_CART_PULL`)."},"ShoppingCart":{"type":"object","properties":{"ShoppingCartType":{"type":"string","enum":["SHOPIFY","MAGENTO","BIGCOMMERCE","WOOCOMMERCE","SHOPLAZZA"]},"BaseUrl":{"type":"string","format":"uri"},"CollectionIds":{"type":"array","items":{"type":"string"}},"CollectionTitles":{"type":"array","items":{"type":"string"}}},"description":"Shopping-cart connection details. Only returned when `UploadMethod` is `SHOPPING_CART_PULL`."},"ItemsUri":{"type":"string","format":"uri-reference","description":"URI to view this catalog's items."},"Uri":{"type":"string","format":"uri-reference","description":"Direct URI to this catalog."}}}}},"paths":{"/Advertisers/{AccountSID}/Catalogs/{CatalogId}":{"put":{"summary":"Update Catalog Pull Settings","description":"Programmatically updates a catalog's \"Pull from URL\" settings to automate data synchronization from a remote file.","operationId":"updateCatalogPullSettings","tags":["Catalogs"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"},"description":"Your unique account identifier."},{"name":"CatalogId","in":"path","required":true,"schema":{"type":"integer"},"description":"Unique identifier for the catalog."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogPullSettingsUpdate"}}}},"responses":{"200":{"description":"The full catalog object with the updated fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalog"}}}}}}}}}
```

## Upload a Catalog File

> Uploads a full catalog file via API, overwriting the existing catalog. This avoids updating items record-by-record.\
> \
> \*\*Prerequisites:\*\*\
> \- The catalog must already exist.\
> \- The file must be provided as multipart/form-data (field name \`data\`), not raw data in the request body.\
> \- If the catalog uses the Google Merchant Center (GMC) format, the file must be a TXT (tab-delimited) or XML file.\
> \- If the catalog uses a custom format, the file must be a CSV (comma-delimited) or XML file.\
> \- The file must be less than 1GB in size.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Product Catalogs","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Use your AccountSID as the username and AuthToken as the password."}}},"paths":{"/Advertisers/{AccountSID}/Catalogs/{CatalogId}/Upload":{"post":{"summary":"Upload a Catalog File","description":"Uploads a full catalog file via API, overwriting the existing catalog. This avoids updating items record-by-record.\n\n**Prerequisites:**\n- The catalog must already exist.\n- The file must be provided as multipart/form-data (field name `data`), not raw data in the request body.\n- If the catalog uses the Google Merchant Center (GMC) format, the file must be a TXT (tab-delimited) or XML file.\n- If the catalog uses a custom format, the file must be a CSV (comma-delimited) or XML file.\n- The file must be less than 1GB in size.","operationId":"uploadCatalogFile","tags":["Catalogs"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"},"description":"Your unique account identifier."},{"name":"CatalogId","in":"path","required":true,"schema":{"type":"integer"},"description":"Unique identifier for the catalog."}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"data":{"type":"string","format":"binary","description":"The catalog file to upload."}}}}}},"responses":{"200":{"description":"The file was uploaded successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"string","description":"Indicates whether the upload was successful."}}}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://integrations.impact.com/brand-api-reference/reference/catalogs/catalogs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
