{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/optimizely/main/json-schema/optimizely-message-request-data-schema.json",
  "title": "MessageRequestData",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/optimizely-smart-campaigns-api-openapi.yml#/components/schemas/MessageRequestData",
  "type": "object",
  "properties": {
    "deepLinkName": {
      "type": "string",
      "description": "This parameter is deprecated. Use \"payload.[name]\" instead."
    },
    "mediaType": {
      "type": "string",
      "description": "Media type of the mailing (required only for creation)",
      "enum": [
        "email",
        "sms",
        "push"
      ]
    },
    "subjectForTargetGroup": {
      "type": "string",
      "description": "Subject for a specific target group. Set \"subject.[targetGroupId]\" in request data (only email).<p>Does not work with the \"Try it out\" feature.</p>"
    },
    "replyToAddress": {
      "type": "string",
      "description": "Reply-to address (only email)"
    },
    "archiveEnabled": {
      "type": "boolean",
      "description": "Toggle whether a mailing can be archived or not"
    },
    "iconMetaData": {
      "type": "string",
      "description": "Icon meta data. Configure \"icon.[attribute]\".<p>Does not work with the \"Try it out\" feature.</p>"
    },
    "archivePeriod": {
      "type": "string",
      "description": "Period suggesting for how long a mailing should be archived",
      "enum": [
        "ONE_MONTH",
        "TWO_MONTHS",
        "THREE_MONTHS",
        "SIX_MONTHS",
        "ONE_YEAR",
        "TWO_YEARS"
      ]
    },
    "resetReplyToAddress": {
      "type": "boolean",
      "description": "If true, the local part of the reply-to address is reset"
    },
    "resetTargetedSubjects": {
      "type": "boolean",
      "description": "If true, all target group subjects are deleted (only email)"
    },
    "replyToName": {
      "type": "string",
      "description": "Reply-to mailing name (only email)"
    },
    "resetDeeplinks": {
      "type": "boolean",
      "description": "This parameter is deprecated. Use \"resetPayload\" instead."
    },
    "resetPayload": {
      "type": "boolean",
      "description": "If true, all payload parameters are deleted. All set parameters within this request remain (only Web Push mailings)."
    },
    "name": {
      "type": "string",
      "description": "Mailing name"
    },
    "content": {
      "type": "string",
      "description": "Mailing content (plain text)"
    },
    "payload": {
      "type": "string",
      "description": "Payload parameters for Mobile Push and Web Push. Set \"payload.[name]\" in request data.<p>Does not work with the \"Try it out\" feature.</p>"
    },
    "description": {
      "type": "string",
      "description": "Mailing description"
    },
    "senderName": {
      "type": "string",
      "description": "Mailing sender name (only email)"
    },
    "subject": {
      "type": "string",
      "description": "Mailing subject"
    },
    "mediaCode": {
      "type": "string",
      "description": "Media code (only email)"
    },
    "expiry": {
      "type": "string",
      "description": "Expiry date (only push mailings, use ISO 8601 format without milliseconds, e.g. 2022-03-03T08:45:07+01:00)",
      "format": "date-time"
    },
    "image": {
      "type": "string",
      "description": "Image for the Web Push message"
    },
    "senderAddress": {
      "type": "string",
      "description": "Mailing sender address"
    },
    "clickAction": {
      "type": "string",
      "description": "Click action for the Web Push message"
    },
    "pushType": {
      "type": "string",
      "description": "Push type",
      "enum": [
        "MOBILE",
        "WEB"
      ]
    },
    "icon": {
      "type": "string",
      "description": "Icon for the Web Push message"
    },
    "predecessorNodeId": {
      "type": "string",
      "description": "Predecessor node"
    },
    "successorNodeId": {
      "type": "string",
      "description": "Successor node"
    }
  }
}