Iterable Metadata API
Store and retrieve key-value metadata tables for use in personalization and campaign logic.
Store and retrieve key-value metadata tables for use in personalization and campaign logic.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/iterable-metadata-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Iterable Metadata API
version: '1.0'
description: 'Operations tagged metadata across 2 of this provider''s published API definitions: iterable-api-openapi.json, iterable-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.iterable.com/
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
tags:
- name: metadata
paths:
/api/metadata:
get:
description: ''
operationId: list tables
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ListMetadataTablesResponse'
'401':
description: Invalid API key
summary: List available tables
tags:
- metadata
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/api/metadata/{table}:
delete:
description: Asynchronous. Deletes the table. 200 response indicates a valid request that will be processed; table may not be deleted immediately. Use GET /api/metadata/{table} to verify completion.
operationId: delete
parameters:
- description: Table name [Alphanumeric, case insensitive]
in: path
name: table
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/IterableApiResponse'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: Delete a table
tags:
- metadata
security:
- api_key: []
get:
description: ''
operationId: list
parameters:
- description: Table name [Alphanumeric, case insensitive]
in: path
name: table
required: true
schema:
type: string
- description: next result set id; returned by previous search if more hits exist
in: query
name: nextMarker
required: false
schema:
type: string
default: None
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Listing'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: List keys in a table
tags:
- metadata
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/api/metadata/{table}/{key}:
delete:
description: Asynchronous. Deletes the specified item from the table. 200 response indicates a valid request that will be processed; data may not be deleted immediately. Use GET /api/metadata/{table}/{key} to verify completion.
operationId: delete
parameters:
- description: Table name [Alphanumeric, case insensitive]
in: path
name: table
required: true
schema:
type: string
- description: Metadata key [Alphanumeric, case sensitive]
in: path
name: key
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/IterableApiResponse'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: Delete a single metadata key/value
tags:
- metadata
security:
- api_key: []
get:
description: ''
operationId: get
parameters:
- description: Table name [Alphanumeric, case insensitive]
in: path
name: table
required: true
schema:
type: string
- description: Metadata key [Alphanumeric, case sensitive]
in: path
name: key
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataWithProperties'
'400':
description: Invalid parameters
'401':
description: Invalid API key
'404':
description: No metadata at specified location
summary: Get the metadata value of a single key
tags:
- metadata
security:
- api_key: []
put:
description: Asynchronous. Creates or replaces the item associated with the specified key. 200 response indicates a valid request that will be processed; updates may not be made immediately. Use GET /api/metadata/{table}/{key} to verify completion.
operationId: put
parameters:
- description: Table name [Alphanumeric, case insensitive]
in: path
name: table
required: true
schema:
type: string
- description: Metadata key [Alphanumeric, case sensitive]
in: path
name: key
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/IterableApiResponse'
'400':
description: Invalid parameters
'401':
description: Invalid API key
summary: Create or replace metadata
tags:
- metadata
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PutMetadataRequest'
description: Metadata properties
required: true
security:
- api_key: []
servers:
- url: https://api.iterable.com/
/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
security:
- apiKeyAuth: []
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
security:
- apiKeyAuth: []
servers:
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
/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
security:
- apiKeyAuth: []
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
security:
- apiKeyAuth: []
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
security:
- apiKeyAuth: []
servers:
- url: https://api.iterable.com/api
description: US Data Center (USDC)
- url: https://api.eu.iterable.com/api
description: European Data Center (EDC)
components:
schemas:
IterableApiResponse:
properties:
code:
enum:
- Success
- BadApiKey
- BadAuthorizationHeader
- BadJsonBody
- BadParams
- BatchTooLarge
- DatabaseError
- EmailAlreadyExists
- ExternalKeyConflict
- Forbidden
- ForbiddenParamsError
- ForgottenUserError
- GenericError
- InvalidEmailAddressError
- InvalidJwtPayload
- InvalidUserIdError
- JwtUserIdentifiersMismatched
- NotFound
- QueueEmailError
- RateLimitExceeded
- RequestFieldsTypesMismatched
- Unauthorized
- UniqueFieldsLimitExceeded
- UnknownEmailError
- UnknownUserIdError
- UserIdAlreadyExists
type: string
msg:
description: Response description
type: string
params:
description: Additional info
type: object
required:
- code
- msg
type: object
ListMetadataTablesResponse:
properties:
results:
items:
$ref: '#/components/schemas/Table'
type: array
required:
- results
type: object
Table:
properties:
name:
type: string
required:
- name
type: object
MetadataProperties:
properties:
key:
type: string
lastModified:
format: int64
type: integer
size:
format: int64
type: integer
table:
type: string
required:
- key
- lastModified
- size
- table
type: object
MetadataWithProperties:
properties:
key:
type: string
lastModified:
format: int64
type: integer
size:
format: int64
type: integer
table:
type: string
value:
type: object
required:
- key
- lastModified
- size
- table
- value
type: object
PutMetadataRequest:
properties:
value:
description: The JSON metadata value. Max size is is 30kb.
type: object
required:
- value
type: object
Listing:
properties:
nextMarker:
type: string
results:
items:
$ref: '#/components/schemas/MetadataProperties'
type: array
required:
- results
type: object
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:
api_key:
in: header
name: Api-Key
type: apiKey
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 Documentation
url: https://api.iterable.com/api/docs
x-refined-from:
- iterable-api-openapi.json
- iterable-rest-api-openapi.yml