Iterable Users API

Manage user profiles, update user fields, bulk update users, get user data by email or userId, and delete users.

Business capability
Customer Data Management BC-420.10

Operations 30

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/auth/jwts/invalidate Invalidate a user's JWTs · Invalidate all JWTs issued for a user #
Ask an LLM
“How do I revoke all JWTs issued to a user, say after a password reset?”
“Can I invalidate only tokens issued before a certain time?”
Tell an agent destructive · confirm first
Invalidate all JWTs for {email}.
Revoke JWTs for user {userId} issued before {issuedBefore}.
POST /api/users/bulkUpdate Bulk update user profiles under /api · Bulk update user data #
Ask an LLM
“Can I update many user profiles in one /api request without wiping omitted fields?”
“Will a bulk update create new user fields automatically?”
Tell an agent
Bulk update users {users}.
Bulk update users {users} via /api/users, creating new fields {createNewFields}.
POST /api/users/bulkUpdateSubscriptions Bulk overwrite user subscriptions · Bulk update user subscriptions #
Ask an LLM
“Can I update subscription preferences for many users at once?”
“Does the bulk subscription update merge or overwrite existing values?”
Tell an agent
Bulk update subscriptions {updateSubscriptionsRequests}.
Overwrite subscription settings for these users: {updateSubscriptionsRequests}.
GET /api/users/byUserId Get a user by userId as a query parameter · Get a user by userId (query parameter) #
Ask an LLM
“Can I look up a user whose userId has slashes by passing it as a query parameter?”
“Which user lookup takes the userId in the query string?”
Tell an agent
Get the user with userId {userId} passed as a query parameter.
Look up user {userId} via /api/users/byUserId?userId=.
DELETE /api/users/byUserId/{userId} Delete a user by userId · Delete user by userId #
Ask an LLM
“Does deleting a user by userId stop future data collection about them?”
“What happens if several users share the same userId when I delete one?”
Tell an agent destructive · confirm first
Delete user with userId {userId}.
Remove /api user profile {userId}.
GET /api/users/byUserId/{userId} Get a user by userId in the path · Get a user by userId (path parameter) #
Ask an LLM
“How do I fetch a user's profile by userId with the userId in the /api URL path?”
“What profile data comes back for a userId lookup?”
Tell an agent
Get user profile for userId {userId}.
Fetch /api user {userId} by path.
POST /api/users/disableDevice Disable push to a mobile device · Disable pushes to a mobile device #
Ask an LLM
“How do I stop push notifications to one of a user's devices?”
“Can I disable a device token without deleting the user?”
Tell an agent
Disable push for device token {token}.
Turn off pushes to device {token} for {email}.
POST /api/users/forget Forget a user for GDPR · Forget a user in compliance with GDPR #
Ask an LLM
“How do I honor a GDPR erasure request and stop collecting a user's data?”
“Does forgetting a user delete their data permanently?”
Tell an agent destructive · confirm first
Forget {email} for GDPR.
Erase user {userId} and block future data collection.
GET /api/users/forgotten Get hashed emails of forgotten users · Get hashed forgotten users in compliance with GDPR #
Ask an LLM
“Which email addresses have been forgotten under GDPR in my project?”
“Can I get a hashed list of forgotten emails to check against my records?”
Tell an agent
List hashed emails of forgotten users.
Export the GDPR-forgotten email hashes.
GET /api/users/forgottenUserIds Get hashed userIds of forgotten users · Get hashed forgotten userIds in compliance with GDPR #
Ask an LLM
“Which userIds have been forgotten under GDPR?”
“Can I export hashes of forgotten userIds?”
Tell an agent
List hashed userIds of forgotten users.
Export the GDPR-forgotten userId hashes.
GET /api/users/getByEmail Get a user by email as a query parameter · Get a user by email (query parameter) #
Ask an LLM
“Can I look up a user whose email has special characters by passing it as a query parameter?”
“Which user lookup takes the email in the query string?”
Tell an agent
Get the user with email {email} passed as a query parameter.
Look up {email} via /api/users/getByEmail.
GET /api/users/getFields Get all user fields in the project · Get all user fields #
Ask an LLM
“What user profile fields exist in my /api project?”
“What's the rate limit on listing user fields?”
Tell an agent
List all user fields in my project.
Show user fields from /api/users/getFields.
GET /api/users/getSentMessages Get messages sent to a user · Get messages sent to a user #
Ask an LLM
“What messages have we sent to this user recently?”
“Can I filter a user's sent messages by channel and leave out blast campaigns?”
Tell an agent
Show messages sent to {email}.
List up to {limit} {messageMedium} messages sent to user {userId} since {startDateTime}.
POST /api/users/merge Merge two users · Merge users #
Ask an LLM
“How do I merge a duplicate user into another profile?”
“Can I control how arrays are merged when combining two users?”
Tell an agent
Merge {sourceEmail} into {destinationEmail}.
Merge user {sourceUserId} into user {destinationUserId} with array merge {arrayMerge}.
POST /api/users/registerBrowserToken Register a browser token for web push · Register a browser token for web push #
Ask an LLM
“How do I register a browser so a user can receive web push?”
“Can I attach a web push token to a user by userId?”
Tell an agent
Register browser token {browserToken} for {email}.
Save web push token {browserToken} for user {userId}.
POST /api/users/registerDeviceToken Register a device token with merged device data · Register a device token for push #
Ask an LLM
“Does registering a device token under /api merge device data fields?”
“Can I register a push device for a user identified by userId?”
Tell an agent
Register device {device} for {email}.
Register /api device {device} for user {userId}, preferring userId {preferUserId}.
POST /api/users/unforget Resume data collection for a forgotten user · Unforget a user in compliance with GDPR #
Ask an LLM
“Can I start collecting data again for a user I forgot under GDPR?”
“Is deleted data restored when I unforget a user?”
Tell an agent
Unforget {email}.
Resume data collection for user {userId}.
POST /api/users/update Update or create a user with merged fields · Update user data #
Ask an LLM
“Can I update a user's data fields and merge nested objects under /api?”
“Does updating a user create them if they don't exist?”
Tell an agent
Update {email} with data {dataFields}.
Update /api user {userId} with {dataFields}, merging nested objects {mergeNestedObjects}.
POST /api/users/updateEmail Change a user's email address · Update user email #
Ask an LLM
“How do I change the email address on a user profile?”
“Can I update an email for a user found by userId?”
Tell an agent
Change {currentEmail} to {newEmail}.
Set user {currentUserId}'s email to {newEmail}.
POST /api/users/updateSubscriptions Overwrite a user's subscriptions · Update user subscriptions #
Ask an LLM
“How do I update which email lists and message types a user is subscribed to?”
“Can I unsubscribe a user from a whole channel?”
Tell an agent
Set {email}'s email lists to {emailListIds}.
Unsubscribe {email} from message types {unsubscribedMessageTypeIds}.
DELETE /api/users/{email} Delete a user by email · Delete a user by email #
Ask an LLM
“Does deleting a user by email under /api stop future data collection?”
“Can I delete a user profile by email address?”
Tell an agent destructive · confirm first
Delete the /api user {email}.
Remove user profile {email}.
GET /api/users/{email} Get a user by email in the path · Get a user by email (path parameter) #
Ask an LLM
“Where can I pull up someone's profile when I know their email address?”
“What profile data is returned when I look up an email address?”
Tell an agent
Get the /api profile for {email}.
Fetch user {email} by path.
POST /users/update Update a user profile (simple) · Update a user profile #
Ask an LLM
“Is there a plain /users/update call to create or update a profile?”
“Can I set data fields on a user with the basic endpoint?”
Tell an agent
Using /users/update, set {dataFields} on {email}.
Update user {userId} with {dataFields} via the simple endpoint.
POST /users/bulkUpdate Bulk update user profiles (simple) · Bulk update user profiles #
Ask an LLM
“Can I update many profiles through the plain /users/bulkUpdate path?”
“Which basic call updates a batch of users at once?”
Tell an agent
Using /users/bulkUpdate, update users {users}.
Bulk update these profiles with the simple endpoint: {users}.
GET /users/{email} Get a user by email (simple) · Get a user by email #
Ask an LLM
“Is there a plain /users endpoint keyed by email that returns a profile with subscription preferences?”
“Which basic endpoint looks up a user by email?”
Tell an agent
Get user {email} from the plain /users endpoint.
Show the full profile and subscriptions for {email} via the simple endpoint.
DELETE /users/{email} Delete a user by email (simple) · Delete a user by email #
Ask an LLM
“Can I delete a user by email through the plain /users path?”
“Which basic call removes a user profile by email?”
Tell an agent destructive · confirm first
Delete user {email} using /users.
Remove profile {email} with the simple endpoint.
GET /users/byUserId/{userId} Get a user by userId (simple) · Get a user by userId #
Ask an LLM
“Is there a plain /users/byUserId call that returns a profile with subscriptions?”
“Which basic endpoint looks up a user by userId?”
Tell an agent
Fetch the profile for user ID {userId} from the plain /users/byUserId path.
Show the full profile for user ID {userId} via the simple endpoint.
DELETE /users/byUserId/{userId} Delete a user by userId (simple) · Delete a user by userId #
Ask an LLM
“Can I delete a user by userId through the plain /users path?”
“Which basic call removes a profile by userId?”
Tell an agent destructive · confirm first
Delete user ID {userId} using /users/byUserId.
Erase the profile of user ID {userId} via the simple byUserId path.
GET /users/getFields Get user fields and types (simple) · Get user fields #
Ask an LLM
“Which user fields and data types are defined, via the plain /users/getFields path?”
“What type is each user field?”
Tell an agent
List user fields with their types from the plain /users endpoint.
Show each user field's data type.
POST /users/registerDeviceToken Register an APNs or FCM device token (simple) · Register a device token #
Ask an LLM
“Is there a basic /users/registerDeviceToken call that takes an email?”
“How do I register an APNs or FCM token so a user gets push?”
Tell an agent
Using /users/registerDeviceToken, register {device} for {email}.
Save APNs or FCM device {device} for {email} via the simple endpoint.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/iterable:iterable-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

iterable-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Iterable Users API
  version: '1.0'
  description: 'Operations tagged users 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:


# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iterable/refs/heads/main/openapi/iterable-users-api-openapi.yml