openapi: 3.1.0
info:
title: Iterable Export Campaigns Catalogs API
description: The Iterable Export API enables developers to extract data from Iterable projects for analytics, reporting, and data warehousing purposes. It provides export endpoints that allow retrieval of user data, event data, campaign metrics, and message engagement information in CSV and JSON formats. The export endpoints support filtering by date ranges and event types, making it possible to build custom reporting pipelines and synchronize Iterable data with external business intelligence tools.
version: 1.0.0
contact:
name: Iterable Support
url: https://support.iterable.com
termsOfService: https://iterable.com/trust/terms-of-service
servers:
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
security:
- apiKeyAuth: []
tags:
- name: Catalogs
description: Manage product catalogs and catalog items used for personalization and recommendation in campaigns.
paths:
/catalogs/{catalogName}:
get:
operationId: getCatalog
summary: Get a catalog
description: Retrieves a catalog by name, including its field definitions and metadata.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/catalogNamePath'
responses:
'200':
description: Catalog data
content:
application/json:
schema:
type: object
properties:
params:
type: object
properties:
catalogName:
type: string
fieldMappings:
type: object
additionalProperties: true
'401':
description: Unauthorized
'404':
description: Catalog not found
delete:
operationId: deleteCatalog
summary: Delete a catalog
description: Deletes a catalog and all its items from the Iterable project.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/catalogNamePath'
responses:
'200':
description: Catalog deleted
content:
application/json:
schema:
$ref: '#/components/schemas/IterableResponse'
'401':
description: Unauthorized
'404':
description: Catalog not found
/catalogs/{catalogName}/items:
get:
operationId: listCatalogItems
summary: List items in a catalog
description: Retrieves items from a catalog with support for pagination.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/catalogNamePath'
- name: page
in: query
description: Page number for pagination
schema:
type: integer
default: 1
- name: pageSize
in: query
description: Number of items per page
schema:
type: integer
default: 100
responses:
'200':
description: List of catalog items
content:
application/json:
schema:
type: object
properties:
params:
type: object
properties:
catalogItemsWithProperties:
type: array
items:
type: object
additionalProperties: true
'401':
description: Unauthorized
'404':
description: Catalog not found
/catalogs/{catalogName}/items/{itemId}:
put:
operationId: createOrReplaceCatalogItem
summary: Create or replace a catalog item
description: Creates a new catalog item or replaces an existing one with the specified item ID and field values.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/catalogNamePath'
- name: itemId
in: path
required: true
description: The unique identifier for the catalog item
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
value:
type: object
description: Field values for the catalog item
additionalProperties: true
responses:
'200':
description: Catalog item created or replaced
content:
application/json:
schema:
$ref: '#/components/schemas/IterableResponse'
'400':
description: Bad request
'401':
description: Unauthorized
delete:
operationId: deleteCatalogItem
summary: Delete a catalog item
description: Deletes a catalog item by its item ID.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/catalogNamePath'
- name: itemId
in: path
required: true
description: The unique identifier for the catalog item
schema:
type: string
responses:
'200':
description: Catalog item deleted
content:
application/json:
schema:
$ref: '#/components/schemas/IterableResponse'
'401':
description: Unauthorized
'404':
description: Catalog item not found
components:
parameters:
catalogNamePath:
name: catalogName
in: path
required: true
description: The name of the catalog
schema:
type: string
schemas:
IterableResponse:
type: object
description: Standard Iterable API response indicating success or failure
properties:
msg:
type: string
description: Human-readable response message
code:
type: string
description: Response code indicating success or error type
params:
type: object
description: Additional response parameters
additionalProperties: true
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Api-Key
description: Iterable API key passed in the Api-Key header. API keys can be created and managed in the Iterable project settings.
externalDocs:
description: Iterable API Endpoints and Sample Payloads
url: https://support.iterable.com/hc/en-us/articles/204780579-Iterable-API-Endpoints-and-Sample-Payloads