openapi: 3.1.0 info: title: Iterable Export Campaigns Metadata 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: Metadata description: Store and retrieve key-value metadata tables for use in personalization and campaign logic. paths: /metadata/{table}: get: operationId: getMetadataTable summary: Get metadata table keys description: Retrieves all keys in a metadata table. tags: - Metadata parameters: - name: table in: path required: true description: The name of the metadata table schema: type: string responses: '200': description: Metadata table keys content: application/json: schema: type: object properties: results: type: array items: type: object properties: key: type: string value: type: object additionalProperties: true '401': description: Unauthorized '404': description: Table not found delete: operationId: deleteMetadataTable summary: Delete a metadata table description: Deletes a metadata table and all its entries. tags: - Metadata parameters: - name: table in: path required: true description: The name of the metadata table schema: type: string responses: '200': description: Metadata table deleted content: application/json: schema: $ref: '#/components/schemas/IterableResponse' '401': description: Unauthorized /metadata/{table}/{key}: get: operationId: getMetadataEntry summary: Get a metadata entry description: Retrieves a single metadata entry by table name and key. tags: - Metadata parameters: - name: table in: path required: true description: The name of the metadata table schema: type: string - name: key in: path required: true description: The key of the metadata entry schema: type: string responses: '200': description: Metadata entry content: application/json: schema: type: object properties: value: type: object additionalProperties: true '401': description: Unauthorized '404': description: Entry not found put: operationId: putMetadataEntry summary: Create or update a metadata entry description: Creates or updates a metadata entry for the specified table and key. tags: - Metadata parameters: - name: table in: path required: true description: The name of the metadata table schema: type: string - name: key in: path required: true description: The key of the metadata entry schema: type: string requestBody: required: true content: application/json: schema: type: object required: - value properties: value: type: object description: The value to store additionalProperties: true responses: '200': description: Metadata entry saved content: application/json: schema: $ref: '#/components/schemas/IterableResponse' '400': description: Bad request '401': description: Unauthorized delete: operationId: deleteMetadataEntry summary: Delete a metadata entry description: Deletes a metadata entry by table name and key. tags: - Metadata parameters: - name: table in: path required: true description: The name of the metadata table schema: type: string - name: key in: path required: true description: The key of the metadata entry schema: type: string responses: '200': description: Metadata entry deleted content: application/json: schema: $ref: '#/components/schemas/IterableResponse' '401': description: Unauthorized components: 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