Iterable · Schema

Iterable User

A user profile in the Iterable marketing automation platform. Users are the primary audience for campaigns and represent contacts that can receive messages across email, push, SMS, and in-app channels.

Cross-Channel MessagingCustomer EngagementEmailMarketing AutomationPush NotificationsSMS

Properties

Name Type Description
email string The primary email address of the user, used as the default unique identifier
userId string An alternative unique identifier for the user, set by the integrating application
signupDate string ISO 8601 timestamp of when the user was first created in Iterable
profileUpdatedAt string ISO 8601 timestamp of the most recent profile update
dataFields object Custom data fields stored on the user profile, used for segmentation and personalization
phoneNumber string Phone number in E.164 format for SMS messaging
emailListIds array IDs of the email lists the user is subscribed to
unsubscribedChannelIds array IDs of channels the user has unsubscribed from
unsubscribedMessageTypeIds array IDs of message types the user has unsubscribed from
devices array Mobile and web devices registered to the user for push notifications
View JSON Schema on GitHub

JSON Schema

iterable-user-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.api-evangelist.com/schemas/iterable/user.json",
  "title": "Iterable User",
  "description": "A user profile in the Iterable marketing automation platform. Users are the primary audience for campaigns and represent contacts that can receive messages across email, push, SMS, and in-app channels.",
  "type": "object",
  "required": ["email"],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "description": "The primary email address of the user, used as the default unique identifier"
    },
    "userId": {
      "type": "string",
      "description": "An alternative unique identifier for the user, set by the integrating application"
    },
    "signupDate": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp of when the user was first created in Iterable"
    },
    "profileUpdatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp of the most recent profile update"
    },
    "dataFields": {
      "type": "object",
      "description": "Custom data fields stored on the user profile, used for segmentation and personalization",
      "additionalProperties": true
    },
    "phoneNumber": {
      "type": "string",
      "pattern": "^\\+?[1-9]\\d{1,14}$",
      "description": "Phone number in E.164 format for SMS messaging"
    },
    "emailListIds": {
      "type": "array",
      "description": "IDs of the email lists the user is subscribed to",
      "items": {
        "type": "integer"
      }
    },
    "unsubscribedChannelIds": {
      "type": "array",
      "description": "IDs of channels the user has unsubscribed from",
      "items": {
        "type": "integer"
      }
    },
    "unsubscribedMessageTypeIds": {
      "type": "array",
      "description": "IDs of message types the user has unsubscribed from",
      "items": {
        "type": "integer"
      }
    },
    "devices": {
      "type": "array",
      "description": "Mobile and web devices registered to the user for push notifications",
      "items": {
        "$ref": "#/$defs/Device"
      }
    }
  },
  "$defs": {
    "Device": {
      "type": "object",
      "description": "A device registered for push notifications",
      "required": ["token", "platform"],
      "properties": {
        "token": {
          "type": "string",
          "description": "The device push token (APNs or FCM)"
        },
        "platform": {
          "type": "string",
          "enum": ["APNS", "APNS_SANDBOX", "GCM"],
          "description": "The push notification platform"
        },
        "applicationName": {
          "type": "string",
          "description": "The registered application name"
        },
        "endpointEnabled": {
          "type": "boolean",
          "description": "Whether the push endpoint is currently active"
        },
        "dataFields": {
          "type": "object",
          "description": "Custom data fields associated with the device",
          "additionalProperties": true
        }
      }
    }
  }
}