Customer.io

Customer engagement and messaging platform

customer.io/docs/api ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
111
Schemas
440
Updated
3 days ago
Marketing marketing messaging engagement
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.customer.io

Authentication

bearer

Endpoints

Clear filters

Collections 1 endpoints

DELETE /v1/collections/{collection_id}

Remove a collection and associated contents. Before you delete a collection, make sure that you aren't referencing it in active campaign messages or broadcasts; references to a deleted collection will appear empty and may prevent your messages from making sense to your audience.

operationId: Collections_removeCollection

Responses

204 The collection is deleted.
404 The collection `id` does not exist.
429 Your request is over the 10-per-second limit.
DELETE /v1/collections/{collection_id}

Esp suppression 1 endpoints

DELETE /v1/esp/suppression/{suppression_type}/{email_address}

Remove an address from the ESP's suppression list.

operationId: EspSuppression_unSuppressAddress

Responses

204 A successful request produces no content.
429 Your request is over the 10-per-second limit.
DELETE /v1/esp/suppression/{suppression_type}/{email_address}

Reporting webhooks 1 endpoints

DELETE /v1/reporting_webhooks/{webhook_id}

Delete a reporting webhook's configuration.

operationId: ReportingWebhooks_deleteWebhookConfiguration

Responses

200 A successful request has no response.
404 The webhook ID does not exist.
429 Your request is over the 10-per-second limit.
DELETE /v1/reporting_webhooks/{webhook_id}

Segments 1 endpoints

DELETE /v1/segments/{segment_id}

Delete a manual segment.

operationId: Segments_deleteManualSegment

Responses

204 The segment is deleted.
404 The `segment_id` does not exist.
429 Your request is over the 10-per-second limit.
DELETE /v1/segments/{segment_id}

Snippets 1 endpoints

DELETE /v1/snippets/{snippet_name}

Remove a snippet. You can only remove a snippet that is not in use. If your snippet is in use, you'll receive a `400` error.

operationId: Snippets_removeSnippet

Responses

204 A successful delete operation returns no content.
400 The snippet is in use. You can't delete a snippet until you remove it from messages, templates, etc.
404 The snippet does not exist.
429 Your request is over the 10-per-second limit.
DELETE /v1/snippets/{snippet_name}

Schemas

object ActivitiesListResponse
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
    },
    "activities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "01AK4N8V8G8KVA4HN8Y50CCZ59",
            "description": "The identifier for the action."
          },
          "data": {
            "oneOf": [
              {
                "type": "object",
                "title": "Message delivery",
                "example": {
                  "opened": null,
                  "delivered": null,
                  "delivery_id": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ=="
                },
                "properties": {
                  "opened": {
                    "type": "boolean",
                    "nullable": true,
                    "description": "Indicates whether or not a customer opened a message, if the message was delivered."
                  },
                  "delivered": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "nullable": true,
                    "description": "The date-time when the message was delivered, if applicable."
                  },
                  "delivery_id": {
                    "type": "string",
                    "description": "The message ID."
                  }
                }
              },
              {
                "type": "object",
                "title": "Attribute change",
                "example": {
                  "email": {
                    "to": "newPerson@customer.io",
                    "from": "newPerson@example.com"
                  }
                },
                "description": "The name of the object is the attribute that changed.",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "to": {
                      "type": "string",
                      "description": "The new attribute value."
                    },
                    "from": {
                      "type": "string",
                      "description": "The old attribute value. If empty, the customer probably didn't bear the attribute before this action."
                    }
                  },
                  "x-additionalPropertyName": "Attribute Name"
                }
              }
            ]
          },
          "type": {
            "enum": [
              "attempted_action",
              "attribute_change",
              "failed_attribute_change",
              "failed_batch_update",
              "skipped_update",
              "failed_query_collection",
              "event",
              "failed_event",
              "page",
              "drafted_email",
              "attempted_email",
              "sent_email",
              "delivered_email",
              "opened_email",
              "clicked_email",
              "converted_email",
              "bounced_email",
              "failed_email",
              "unsubscribed_email",
              "topic_unsubscribed_email",
              "spammed_email",
              "dropped_email",
              "undeliverable_email",
              "drafted_action",
              "delivered_action",
              "bounced_action",
              "sent_action",
              "opened_action",
              "clicked_action",
              "failed_action",
              "converted_action",
              "device_change",
              "deferred_email",
              "unsubscribed_action",
              "dropped_action",
              "undeliverable_action",
              "deferred_action",
              "profile_create",
              "profile_delete",
              "profile_merge",
              "anon_merge",
              "screen",
              "webhook_event",
              "add_relationship",
              "delete_relationship",
              "_o:<object_type_id>:create",
              "_o:<object_type_id>:attribute_change",
              "_o:<object_type_id>:failed_attribute_change",
              "_o:<object_type_id>:delete",
              "_o:<object_type_id>:add_relationship",
              "_o:<object_type_id>:delete_relationship",
              "_r:<object_type_id>:attribute_change",
              "_r:<object_type_id>:failed_attribute_change",
              "failed_object_journeys"
            ],
            "type": "string",
            "example": "sent_email",
            "description": "The type of activity. Types with `_o:<object_type_id>` are for objects and types with `_r:<object_type_id>` are for relationships."
          },
          "timestamp": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1397566226,
            "description": "The date and time when the action occurred."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "delivery_id": {
            "type": "string",
            "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
            "description": "The message ID."
          },
          "delivery_type": {
            "enum": [
              "ios",
              "android",
              "email",
              "phone"
            ],
            "type": "string",
            "example": "email",
            "description": "The recipient device, if applicable."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        }
      }
    }
  }
}
object BroadcastsGetActionDetailsResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "readOnly": true,
              "description": "The identifier for a broadcast."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "description": "The identifier for a broadcast."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            }
          }
        }
      ]
    }
  }
}
object BroadcastsGetActionLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      },
      "description": "Each object in the array represents a link in your broadcast variant."
    }
  }
}
object BroadcastsGetActionMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object BroadcastsGetActionsResponse
{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "title": "Email / message",
            "properties": {
              "id": {
                "type": "integer",
                "example": 96,
                "nullable": true,
                "readOnly": true,
                "description": "The identifier for an action."
              },
              "bcc": {
                "type": "string",
                "readOnly": true,
                "description": "The blind-copy address(es) for this action."
              },
              "body": {
                "type": "string",
                "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
              },
              "from": {
                "type": "string",
                "example": "sentFrom@example.com",
                "readOnly": true,
                "description": "The address that the message is from, relevant if the action `type` is `email`."
              },
              "name": {
                "type": "string",
                "example": "Opening Message",
                "readOnly": true,
                "description": "The name of the action, if it exists."
              },
              "type": {
                "enum": [
                  "email",
                  "in_app",
                  "push",
                  "twilio",
                  "slack"
                ],
                "type": "string",
                "readOnly": true,
                "description": "The type of action."
              },
              "layout": {
                "type": "string",
                "readOnly": true,
                "description": "The layout used for the action, if it exists."
              },
              "created": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was created."
              },
              "from_id": {
                "type": "integer",
                "example": 1,
                "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "X-Mailgun-Tag",
                      "description": "name of header"
                    },
                    "value": {
                      "type": "string",
                      "example": "tag-name-for-tracking",
                      "description": "value of header"
                    }
                  }
                },
                "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
              },
              "subject": {
                "type": "string",
                "example": "Did you get that thing I sent you?",
                "description": "The subject line for an `email` action."
              },
              "updated": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was last updated."
              },
              "body_amp": {
                "type": "string",
                "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
              },
              "fake_bcc": {
                "type": "boolean",
                "readOnly": true,
                "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
              },
              "language": {
                "type": "string",
                "example": "fr",
                "readOnly": true,
                "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
              },
              "reply_to": {
                "type": "string",
                "example": "replyto@example.com",
                "readOnly": true,
                "description": "The address that receives replies for the message, if applicable."
              },
              "recipient": {
                "type": "string",
                "example": "{{customer.email}}",
                "description": "The recipient address for an action."
              },
              "reply_to_id": {
                "type": "integer",
                "example": 38,
                "nullable": true,
                "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
              },
              "broadcast_id": {
                "type": "integer",
                "example": 2,
                "readOnly": true,
                "description": "The identifier for a broadcast."
              },
              "preprocessor": {
                "enum": [
                  "premailer"
                ],
                "type": "string",
                "readOnly": true,
                "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
              },
              "sending_state": {
                "enum": [
                  "automatic",
                  "draft",
                  "off"
                ],
                "type": "string",
                "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
              },
              "deduplicate_id": {
                "type": "string",
                "example": "15:1492548073",
                "readOnly": true,
                "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
              },
              "preheader_text": {
                "type": "string",
                "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
              }
            }
          },
          {
            "type": "object",
            "title": "Webhook",
            "properties": {
              "id": {
                "type": "integer",
                "example": 96,
                "nullable": true,
                "readOnly": true,
                "description": "The identifier for an action."
              },
              "url": {
                "type": "string",
                "example": "https://my.example.com/webhook",
                "description": "The URL to send a webhook to, applies to `webhook` type actions."
              },
              "body": {
                "type": "string",
                "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
              },
              "name": {
                "type": "string",
                "example": "Opening Message",
                "readOnly": true,
                "description": "The name of the action, if it exists."
              },
              "type": {
                "enum": [
                  "webhook"
                ],
                "type": "string",
                "readOnly": true,
                "description": "The type of action."
              },
              "layout": {
                "type": "string",
                "readOnly": true,
                "description": "The layout used for the action, if it exists."
              },
              "method": {
                "enum": [
                  "get",
                  "post",
                  "put",
                  "delete",
                  "patch"
                ],
                "type": "string",
                "example": "post",
                "description": "The HTTP method for your webhook."
              },
              "created": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was created."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "X-Mailgun-Tag",
                      "description": "name of header"
                    },
                    "value": {
                      "type": "string",
                      "example": "tag-name-for-tracking",
                      "description": "value of header"
                    }
                  }
                },
                "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
              },
              "updated": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was last updated."
              },
              "broadcast_id": {
                "type": "integer",
                "example": 2,
                "description": "The identifier for a broadcast."
              },
              "sending_state": {
                "enum": [
                  "automatic",
                  "draft",
                  "off"
                ],
                "type": "string",
                "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
              },
              "deduplicate_id": {
                "type": "string",
                "example": "15:1492548073",
                "readOnly": true,
                "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
              }
            }
          }
        ]
      }
    }
  }
}
object BroadcastsGetBroadcastErrorsResponse
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A list of errors in the format `line <x>: <error text>` to help you troubleshoot errors associated with your audience or data file."
    }
  }
}
object BroadcastsGetLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      }
    }
  }
}
object BroadcastsGetMessagesResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
          "type": "email",
          "created": 1619137767,
          "metrics": {
            "sent": 1619137768,
            "delivered": 1619137768
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 215,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": 23,
          "customer_id": null,
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
          "failure_message": null,
          "msg_template_id": 43,
          "parent_action_id": null,
          "trigger_event_id": null
        },
        "properties": {
          "id": {
            "type": "string",
            "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
            "readOnly": true,
            "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "description": "The timestamp when the message was `sent`."
              },
              "failed": {
                "type": "integer",
                "description": "The timestamp when the message `failed`."
              },
              "opened": {
                "type": "integer",
                "description": "The timestamp when the message was `opened`."
              },
              "bounced": {
                "type": "integer",
                "description": "The timestamp when the message `bounced`."
              },
              "clicked": {
                "type": "integer",
                "description": "The timestamp when the message was `clicked`."
              },
              "created": {
                "type": "integer",
                "description": "The timestamp when the message was `created`."
              },
              "drafted": {
                "type": "integer",
                "description": "The timestamp when the message was `drafted`."
              },
              "dropped": {
                "type": "integer",
                "description": "The timestamp when the message was `dropped`."
              },
              "spammed": {
                "type": "integer",
                "description": "The timestamp when the message was marked as spam."
              },
              "converted": {
                "type": "integer",
                "description": "The timestamp when the message was `converted`."
              },
              "delivered": {
                "type": "integer",
                "description": "The timestamp when the message was `delivered`."
              },
              "unsubscribed": {
                "type": "integer",
                "description": "The timestamp when a person unsubscribed based on this message."
              },
              "undeliverable": {
                "type": "integer",
                "description": "The timestamp when the message became `undeliverable`."
              }
            },
            "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "action_id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true message contents are not retained by Customer.io."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "content_id": {
            "type": "integer",
            "example": 1,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for a newsletter variant."
          },
          "campaign_id": {
            "type": "integer",
            "example": 5,
            "nullable": true,
            "description": "The identifier for a campaign."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "nullable": true,
            "description": "The identifier for a broadcast."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "nullable": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "Explains why a message failed, if applicable."
          },
          "parent_action_id": {
            "type": "integer",
            "example": 1,
            "readOnly": true,
            "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
          },
          "trigger_event_id": {
            "type": "string",
            "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
            "nullable": true,
            "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
          },
          "message_template_id": {
            "type": "integer",
            "readOnly": true,
            "deprecated": true,
            "description": "The identifier of the message template used to create a message."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        },
        "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
      },
      "example": [
        {
          "id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=",
          "type": "email",
          "created": 1609957805,
          "metrics": {
            "sent": 1609957832,
            "delivered": 1609957872
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 196,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": null,
          "customer_id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7d",
          "broadcast_id": 94,
          "newsletter_id": null,
          "deduplicate_id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=:1609957872",
          "failure_message": null,
          "msg_template_id": 0,
          "customer_identifiers": {
            "id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7d",
            "email": "person@example.com",
            "cio_id": 786433
          }
        }
      ]
    }
  }
}
object BroadcastsGetMetadataResponse
{
  "type": "object",
  "properties": {
    "broadcast": {
      "type": "object",
      "example": {
        "id": 2,
        "name": "basic",
        "tags": "nil",
        "type": "triggered_broadcast",
        "active": true,
        "actions": [
          {
            "id": 3,
            "type": "email"
          },
          {
            "id": 4
          },
          {
            "type": "webhook"
          }
        ],
        "created": 1520467200,
        "updated": 1520467200,
        "created_by": "ExamplePerson",
        "first_started": 1520467200,
        "deduplicate_id": "2:1520467200"
      },
      "properties": {
        "id": {
          "type": "integer",
          "example": 2,
          "description": "The identifier for a broadcast."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "The name of the broadcast."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of tags you set on this broadcast."
        },
        "active": {
          "type": "boolean",
          "description": "If true, the broadcast is active."
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The identifier for the action."
              },
              "type": {
                "enum": [
                  "email",
                  "webhook",
                  "push",
                  "sms",
                  "slack"
                ],
                "type": "string",
                "description": "The type of action."
              }
            }
          },
          "description": "A list of actions used by the broadcast."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "msg_template_ids": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The identifier for the template."
              },
              "type": {
                "enum": [
                  "email",
                  "webhook",
                  "push",
                  "sms",
                  "slack"
                ],
                "type": "string",
                "description": "The type of template."
              }
            }
          },
          "deprecated": true,
          "description": "Indicates the message template(s) used in this broadcast."
        }
      }
    }
  }
}
object BroadcastsGetMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object BroadcastsGetStatusResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The identifier for a broadcast trigger."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "broadcast_id": {
      "type": "integer",
      "example": 2,
      "description": "The identifier for a broadcast."
    },
    "processed_at": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The date-time when Customer.io processed the trigger."
    }
  },
  "description": "You can get triggers to know when you triggered a broadcast and whether or not it's been processed."
}
object BroadcastsGetTranslationMessageResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "readOnly": true,
              "description": "The identifier for a broadcast."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "description": "The identifier for a broadcast."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            }
          }
        }
      ]
    }
  }
}
object BroadcastsGetTriggersResponse
{
  "type": "object",
  "properties": {
    "triggers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for a broadcast trigger."
          },
          "created_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "description": "The identifier for a broadcast."
          },
          "processed_at": {
            "type": "integer",
            "format": "unix timestamp",
            "description": "The date-time when Customer.io processed the trigger."
          }
        },
        "description": "You can get triggers to know when you triggered a broadcast and whether or not it's been processed."
      },
      "description": "Each object in the array represents a time that your broadcast was triggered/sent."
    }
  }
}
object BroadcastsListResponse
{
  "type": "object",
  "properties": {
    "broadcasts": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": 2,
          "name": "basic",
          "tags": "nil",
          "type": "triggered_broadcast",
          "active": true,
          "actions": [
            {
              "id": 3,
              "type": "email"
            },
            {
              "id": 4
            },
            {
              "type": "webhook"
            }
          ],
          "created": 1520467200,
          "updated": 1520467200,
          "created_by": "ExamplePerson",
          "first_started": 1520467200,
          "deduplicate_id": "2:1520467200"
        },
        "properties": {
          "id": {
            "type": "integer",
            "example": 2,
            "description": "The identifier for a broadcast."
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "The name of the broadcast."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array of tags you set on this broadcast."
          },
          "active": {
            "type": "boolean",
            "description": "If true, the broadcast is active."
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The identifier for the action."
                },
                "type": {
                  "enum": [
                    "email",
                    "webhook",
                    "push",
                    "sms",
                    "slack"
                  ],
                  "type": "string",
                  "description": "The type of action."
                }
              }
            },
            "description": "A list of actions used by the broadcast."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "msg_template_ids": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The identifier for the template."
                },
                "type": {
                  "enum": [
                    "email",
                    "webhook",
                    "push",
                    "sms",
                    "slack"
                  ],
                  "type": "string",
                  "description": "The type of template."
                }
              }
            },
            "deprecated": true,
            "description": "Indicates the message template(s) used in this broadcast."
          }
        }
      }
    }
  }
}
object BroadcastsUpdateActionContentsRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "readOnly": true,
          "description": "The identifier for a broadcast."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "description": "The identifier for a broadcast."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      }
    }
  ]
}
object BroadcastsUpdateActionContentsResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "readOnly": true,
              "description": "The identifier for a broadcast."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "description": "The identifier for a broadcast."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            }
          }
        }
      ]
    }
  }
}
object BroadcastsUpdateTranslationRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "readOnly": true,
          "description": "The identifier for a broadcast."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "description": "The identifier for a broadcast."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      }
    }
  ]
}
object BroadcastsUpdateTranslationResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "readOnly": true,
              "description": "The identifier for a broadcast."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "broadcast_id": {
              "type": "integer",
              "example": 2,
              "description": "The identifier for a broadcast."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            }
          }
        }
      ]
    }
  }
}
object CampaignsGetActionInfoResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "readOnly": true,
              "description": "The identifier for a campaign."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "example": "{\"attribute\":\"cool-webhook\"}",
              "description": "The payload for your webhook."
            },
            "name": {
              "type": "string",
              "example": "Set attribute",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "description": "The identifier for a campaign."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        }
      ]
    }
  }
}
object CampaignsGetActionMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object CampaignsGetJourneyMetricsResponse
{
  "type": "object",
  "properties": {
    "journey_metric": {
      "type": "object",
      "properties": {
        "started": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The total number of people who meet the trigger criteria for a journey. This count occurs before filters are applied."
        },
        "finished": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who finished the journey."
        },
        "messaged": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who experienced at least one non-delay action in the journey. This metric typically represents journeys in progress."
        },
        "activated": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who started a journey and were not filtered out before they experienced an action."
        },
        "converted": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who met the conversion goal (entered a segment) for the campaign."
        },
        "exited_early": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who started a journey but stopped meeting the campaign trigger/filter criteria following a delay or grace period."
        },
        "never_activated": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "People who started a journey but were filtered out before they could experience any of the actions in the journey."
        }
      }
    }
  }
}
object CampaignsGetLinkMetricsForActionResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      },
      "description": "Each object in the array represents a link in your action."
    }
  }
}
object CampaignsGetLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      }
    }
  }
}
object CampaignsGetListResponse
{
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 5,
            "description": "The identifier for a campaign."
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "The name of the campaign."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "new",
              "welcome"
            ],
            "description": "An array of tags you set on this campaign."
          },
          "type": {
            "enum": [
              "segment"
            ],
            "type": "string",
            "description": "The type of campaign."
          },
          "active": {
            "type": "boolean",
            "description": "If true, the campaign is active and can still send messages."
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The identifier for the action."
                },
                "type": {
                  "enum": [
                    "email",
                    "sms",
                    "push",
                    "slack",
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The message type actions resulting from the campaign."
                }
              }
            },
            "description": "An array of actions contained within the campaign."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "created_by": {
            "type": "string",
            "format": "email",
            "example": "hugh.mann@example.com",
            "description": "The email address of the person who created the campaign."
          },
          "first_started": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "description": "The date and time when you first started the campaign and it first became eligible to be triggered."
          },
          "msg_templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The identifier for the template."
                },
                "type": {
                  "enum": [
                    "email",
                    "sms",
                    "push",
                    "slack"
                  ],
                  "type": "string",
                  "description": "The message type the template represents."
                }
              }
            },
            "deprecated": true,
            "description": "Indicates the message templates used in this campaign."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "filter_segment_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "example": [
              21,
              42
            ],
            "description": "A list of segments used in the campaign filter, returned if the campaign audience was filtered on one or more segments."
          },
          "trigger_segment_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "example": [
              90
            ],
            "description": "A list of segments used in the campaign trigger, returned if the campaign trigger included one or more segment conditions."
          }
        }
      }
    }
  }
}
object CampaignsGetMessageMetadataResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
          "type": "email",
          "created": 1619137767,
          "metrics": {
            "sent": 1619137768,
            "delivered": 1619137768
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 215,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": 23,
          "customer_id": null,
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
          "failure_message": null,
          "msg_template_id": 43,
          "parent_action_id": null,
          "trigger_event_id": null
        },
        "properties": {
          "id": {
            "type": "string",
            "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
            "readOnly": true,
            "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "description": "The timestamp when the message was `sent`."
              },
              "failed": {
                "type": "integer",
                "description": "The timestamp when the message `failed`."
              },
              "opened": {
                "type": "integer",
                "description": "The timestamp when the message was `opened`."
              },
              "bounced": {
                "type": "integer",
                "description": "The timestamp when the message `bounced`."
              },
              "clicked": {
                "type": "integer",
                "description": "The timestamp when the message was `clicked`."
              },
              "created": {
                "type": "integer",
                "description": "The timestamp when the message was `created`."
              },
              "drafted": {
                "type": "integer",
                "description": "The timestamp when the message was `drafted`."
              },
              "dropped": {
                "type": "integer",
                "description": "The timestamp when the message was `dropped`."
              },
              "spammed": {
                "type": "integer",
                "description": "The timestamp when the message was marked as spam."
              },
              "converted": {
                "type": "integer",
                "description": "The timestamp when the message was `converted`."
              },
              "delivered": {
                "type": "integer",
                "description": "The timestamp when the message was `delivered`."
              },
              "unsubscribed": {
                "type": "integer",
                "description": "The timestamp when a person unsubscribed based on this message."
              },
              "undeliverable": {
                "type": "integer",
                "description": "The timestamp when the message became `undeliverable`."
              }
            },
            "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "action_id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true message contents are not retained by Customer.io."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "content_id": {
            "type": "integer",
            "example": 1,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for a newsletter variant."
          },
          "campaign_id": {
            "type": "integer",
            "example": 5,
            "nullable": true,
            "description": "The identifier for a campaign."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "nullable": true,
            "description": "The identifier for a broadcast."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "nullable": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "Explains why a message failed, if applicable."
          },
          "parent_action_id": {
            "type": "integer",
            "example": 1,
            "readOnly": true,
            "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
          },
          "trigger_event_id": {
            "type": "string",
            "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
            "nullable": true,
            "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
          },
          "message_template_id": {
            "type": "integer",
            "readOnly": true,
            "deprecated": true,
            "description": "The identifier of the message template used to create a message."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        },
        "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
      },
      "example": [
        {
          "id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=X",
          "type": "email",
          "created": 1609957805,
          "metrics": {
            "sent": 1609957832,
            "delivered": 1609957872
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 196,
          "forgotten": false,
          "recipient": "person@email.com",
          "content_id": null,
          "campaign_id": 89,
          "customer_id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7d",
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=:1609957872",
          "failure_message": null,
          "msg_template_id": 0,
          "customer_identifiers": {
            "id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7dX",
            "email": "person@example.com",
            "cio_id": 786433
          }
        }
      ]
    }
  }
}
object CampaignsGetMessageTranslationResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "readOnly": true,
              "description": "The identifier for a campaign."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "example": "{\"attribute\":\"cool-webhook\"}",
              "description": "The payload for your webhook."
            },
            "name": {
              "type": "string",
              "example": "Set attribute",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "description": "The identifier for a campaign."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        }
      ]
    }
  }
}
object CampaignsGetMetadataResponse
{
  "type": "object",
  "properties": {
    "campaign": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 5,
          "description": "The identifier for a campaign."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "The name of the campaign."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "new",
            "welcome"
          ],
          "description": "An array of tags you set on this campaign."
        },
        "type": {
          "enum": [
            "segment"
          ],
          "type": "string",
          "description": "The type of campaign."
        },
        "active": {
          "type": "boolean",
          "description": "If true, the campaign is active and can still send messages."
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The identifier for the action."
              },
              "type": {
                "enum": [
                  "email",
                  "sms",
                  "push",
                  "slack",
                  "webhook"
                ],
                "type": "string",
                "description": "The message type actions resulting from the campaign."
              }
            }
          },
          "description": "An array of actions contained within the campaign."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "created_by": {
          "type": "string",
          "format": "email",
          "example": "hugh.mann@example.com",
          "description": "The email address of the person who created the campaign."
        },
        "first_started": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "description": "The date and time when you first started the campaign and it first became eligible to be triggered."
        },
        "msg_templates": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The identifier for the template."
              },
              "type": {
                "enum": [
                  "email",
                  "sms",
                  "push",
                  "slack"
                ],
                "type": "string",
                "description": "The message type the template represents."
              }
            }
          },
          "deprecated": true,
          "description": "Indicates the message templates used in this campaign."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "filter_segment_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "example": [
            21,
            42
          ],
          "description": "A list of segments used in the campaign filter, returned if the campaign audience was filtered on one or more segments."
        },
        "trigger_segment_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "example": [
            90
          ],
          "description": "A list of segments used in the campaign trigger, returned if the campaign trigger included one or more segment conditions."
        }
      }
    }
  }
}
object CampaignsGetMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object CampaignsListActionsResponse
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
    },
    "actions": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "title": "Email / message",
            "properties": {
              "id": {
                "type": "integer",
                "example": 96,
                "nullable": true,
                "readOnly": true,
                "description": "The identifier for an action."
              },
              "bcc": {
                "type": "string",
                "readOnly": true,
                "description": "The blind-copy address(es) for this action."
              },
              "body": {
                "type": "string",
                "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
              },
              "from": {
                "type": "string",
                "example": "sentFrom@example.com",
                "readOnly": true,
                "description": "The address that the message is from, relevant if the action `type` is `email`."
              },
              "name": {
                "type": "string",
                "example": "Opening Message",
                "readOnly": true,
                "description": "The name of the action, if it exists."
              },
              "type": {
                "enum": [
                  "email",
                  "in_app",
                  "push",
                  "twilio",
                  "slack"
                ],
                "type": "string",
                "readOnly": true,
                "description": "The type of action."
              },
              "layout": {
                "type": "string",
                "readOnly": true,
                "description": "The layout used for the action, if it exists."
              },
              "created": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was created."
              },
              "from_id": {
                "type": "integer",
                "example": 1,
                "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "X-Mailgun-Tag",
                      "description": "name of header"
                    },
                    "value": {
                      "type": "string",
                      "example": "tag-name-for-tracking",
                      "description": "value of header"
                    }
                  }
                },
                "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
              },
              "subject": {
                "type": "string",
                "example": "Did you get that thing I sent you?",
                "description": "The subject line for an `email` action."
              },
              "updated": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was last updated."
              },
              "body_amp": {
                "type": "string",
                "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
              },
              "fake_bcc": {
                "type": "boolean",
                "readOnly": true,
                "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
              },
              "language": {
                "type": "string",
                "example": "fr",
                "readOnly": true,
                "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
              },
              "reply_to": {
                "type": "string",
                "example": "replyto@example.com",
                "readOnly": true,
                "description": "The address that receives replies for the message, if applicable."
              },
              "recipient": {
                "type": "string",
                "example": "{{customer.email}}",
                "description": "The recipient address for an action."
              },
              "campaign_id": {
                "type": "integer",
                "example": 5,
                "readOnly": true,
                "description": "The identifier for a campaign."
              },
              "reply_to_id": {
                "type": "integer",
                "example": 38,
                "nullable": true,
                "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
              },
              "preprocessor": {
                "enum": [
                  "premailer"
                ],
                "type": "string",
                "readOnly": true,
                "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
              },
              "sending_state": {
                "enum": [
                  "automatic",
                  "draft",
                  "off"
                ],
                "type": "string",
                "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
              },
              "deduplicate_id": {
                "type": "string",
                "example": "15:1492548073",
                "readOnly": true,
                "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
              },
              "preheader_text": {
                "type": "string",
                "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
              },
              "parent_action_id": {
                "type": "integer",
                "example": 1,
                "readOnly": true,
                "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
              }
            }
          },
          {
            "type": "object",
            "title": "Webhook",
            "properties": {
              "id": {
                "type": "integer",
                "example": 96,
                "nullable": true,
                "readOnly": true,
                "description": "The identifier for an action."
              },
              "url": {
                "type": "string",
                "example": "https://my.example.com/webhook",
                "description": "The URL to send a webhook to, applies to `webhook` type actions."
              },
              "body": {
                "type": "string",
                "example": "{\"attribute\":\"cool-webhook\"}",
                "description": "The payload for your webhook."
              },
              "name": {
                "type": "string",
                "example": "Set attribute",
                "readOnly": true,
                "description": "The name of the action, if it exists."
              },
              "type": {
                "enum": [
                  "webhook"
                ],
                "type": "string",
                "readOnly": true,
                "description": "The type of action."
              },
              "layout": {
                "type": "string",
                "readOnly": true,
                "description": "The layout used for the action, if it exists."
              },
              "method": {
                "enum": [
                  "get",
                  "post",
                  "put",
                  "delete",
                  "patch"
                ],
                "type": "string",
                "example": "post",
                "description": "The HTTP method for your webhook."
              },
              "created": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was created."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "X-Mailgun-Tag",
                      "description": "name of header"
                    },
                    "value": {
                      "type": "string",
                      "example": "tag-name-for-tracking",
                      "description": "value of header"
                    }
                  }
                },
                "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
              },
              "updated": {
                "type": "integer",
                "format": "unix timestamp",
                "example": 1552341937,
                "readOnly": true,
                "description": "The date time when the referenced ID was last updated."
              },
              "campaign_id": {
                "type": "integer",
                "example": 5,
                "description": "The identifier for a campaign."
              },
              "sending_state": {
                "enum": [
                  "automatic",
                  "draft",
                  "off"
                ],
                "type": "string",
                "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
              },
              "deduplicate_id": {
                "type": "string",
                "example": "15:1492548073",
                "readOnly": true,
                "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
              },
              "parent_action_id": {
                "type": "integer",
                "example": 1,
                "readOnly": true,
                "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
              }
            }
          }
        ]
      },
      "maxItems": 10,
      "description": "Each object in the array represents an action in your campaign."
    }
  }
}
object CampaignsUpdateActionContentsRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "readOnly": true,
          "description": "The identifier for a campaign."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "example": "{\"attribute\":\"cool-webhook\"}",
          "description": "The payload for your webhook."
        },
        "name": {
          "type": "string",
          "example": "Set attribute",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "description": "The identifier for a campaign."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    }
  ]
}
object CampaignsUpdateActionContentsResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "readOnly": true,
              "description": "The identifier for a campaign."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "example": "{\"attribute\":\"cool-webhook\"}",
              "description": "The payload for your webhook."
            },
            "name": {
              "type": "string",
              "example": "Set attribute",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "description": "The identifier for a campaign."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        }
      ]
    }
  }
}
object CampaignsUpdateTranslationRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "readOnly": true,
          "description": "The identifier for a campaign."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "example": "{\"attribute\":\"cool-webhook\"}",
          "description": "The payload for your webhook."
        },
        "name": {
          "type": "string",
          "example": "Set attribute",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "description": "The identifier for a campaign."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    }
  ]
}
object CampaignsUpdateTranslationResponse
{
  "type": "object",
  "properties": {
    "action": {
      "oneOf": [
        {
          "type": "object",
          "title": "Email / message",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "bcc": {
              "type": "string",
              "readOnly": true,
              "description": "The blind-copy address(es) for this action."
            },
            "body": {
              "type": "string",
              "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
            },
            "from": {
              "type": "string",
              "example": "sentFrom@example.com",
              "readOnly": true,
              "description": "The address that the message is from, relevant if the action `type` is `email`."
            },
            "name": {
              "type": "string",
              "example": "Opening Message",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "email",
                "in_app",
                "push",
                "twilio",
                "slack"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "from_id": {
              "type": "integer",
              "example": 1,
              "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "subject": {
              "type": "string",
              "example": "Did you get that thing I sent you?",
              "description": "The subject line for an `email` action."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "fake_bcc": {
              "type": "boolean",
              "readOnly": true,
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "language": {
              "type": "string",
              "example": "fr",
              "readOnly": true,
              "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "readOnly": true,
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "readOnly": true,
              "description": "The identifier for a campaign."
            },
            "reply_to_id": {
              "type": "integer",
              "example": 38,
              "nullable": true,
              "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
            },
            "preprocessor": {
              "enum": [
                "premailer"
              ],
              "type": "string",
              "readOnly": true,
              "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "preheader_text": {
              "type": "string",
              "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        },
        {
          "type": "object",
          "title": "Webhook",
          "properties": {
            "id": {
              "type": "integer",
              "example": 96,
              "nullable": true,
              "readOnly": true,
              "description": "The identifier for an action."
            },
            "url": {
              "type": "string",
              "example": "https://my.example.com/webhook",
              "description": "The URL to send a webhook to, applies to `webhook` type actions."
            },
            "body": {
              "type": "string",
              "example": "{\"attribute\":\"cool-webhook\"}",
              "description": "The payload for your webhook."
            },
            "name": {
              "type": "string",
              "example": "Set attribute",
              "readOnly": true,
              "description": "The name of the action, if it exists."
            },
            "type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The type of action."
            },
            "layout": {
              "type": "string",
              "readOnly": true,
              "description": "The layout used for the action, if it exists."
            },
            "method": {
              "enum": [
                "get",
                "post",
                "put",
                "delete",
                "patch"
              ],
              "type": "string",
              "example": "post",
              "description": "The HTTP method for your webhook."
            },
            "created": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "updated": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "campaign_id": {
              "type": "integer",
              "example": 5,
              "description": "The identifier for a campaign."
            },
            "sending_state": {
              "enum": [
                "automatic",
                "draft",
                "off"
              ],
              "type": "string",
              "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
            },
            "deduplicate_id": {
              "type": "string",
              "example": "15:1492548073",
              "readOnly": true,
              "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
            },
            "parent_action_id": {
              "type": "integer",
              "example": 1,
              "readOnly": true,
              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
            }
          }
        }
      ]
    }
  }
}
object CollectionsCreateNewRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Local data",
      "required": [
        "name",
        "data"
      ],
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "x-additionalPropertiesName": "collection data"
            }
          },
          "description": "An array of data objects that you want to reference in this collection."
        },
        "name": {
          "type": "string",
          "description": "The name of the collection. This is how you'll reference your collection in messages—`{{collection_name.data-property}}`."
        }
      }
    },
    {
      "type": "object",
      "title": "Data by URL",
      "required": [
        "name",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "url",
          "description": "The URL for your CSV or JSON data. If your URL does not return a `Content-Type`, we use the file extension; otherwise, Customer.io assumes your data is JSON.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the collection. This is how you'll reference your collection in messages—`{{collection_name.data-property}}`."
        }
      }
    }
  ]
}
object CollectionsCreateNewResponse
{
  "type": "object",
  "properties": {
    "collection": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier for the collection. This is how you'll reference the collection from the API."
        },
        "name": {
          "type": "string",
          "example": "upcoming events",
          "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
        },
        "rows": {
          "type": "integer",
          "example": 2,
          "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
        },
        "bytes": {
          "type": "integer",
          "example": 296,
          "description": "The size of the collection in bytes."
        },
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "eventDate",
            "eventName",
            "presents"
          ],
          "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        }
      }
    }
  }
}
object CollectionsGetContentsResponse
{
  "type": "object",
  "additionalProperties": {
    "x-additionalPropertiesName": "collection data"
  }
}
object CollectionsGetDetailsResponse
{
  "type": "object",
  "properties": {
    "collection": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier for the collection. This is how you'll reference the collection from the API."
        },
        "name": {
          "type": "string",
          "example": "upcoming events",
          "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
        },
        "rows": {
          "type": "integer",
          "example": 2,
          "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
        },
        "bytes": {
          "type": "integer",
          "example": 296,
          "description": "The size of the collection in bytes."
        },
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "eventDate",
            "eventName",
            "presents"
          ],
          "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        }
      }
    }
  }
}
object CollectionsListResponse
{
  "type": "object",
  "properties": {
    "collections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier for the collection. This is how you'll reference the collection from the API."
          },
          "name": {
            "type": "string",
            "example": "upcoming events",
            "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
          },
          "rows": {
            "type": "integer",
            "example": 2,
            "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
          },
          "bytes": {
            "type": "integer",
            "example": 296,
            "description": "The size of the collection in bytes."
          },
          "schema": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "eventDate",
              "eventName",
              "presents"
            ],
            "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
          },
          "created_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "updated_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          }
        }
      }
    }
  }
}
object CollectionsUpdateCollectionRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Local data",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "x-additionalPropertiesName": "collection data"
            }
          },
          "description": "An array of data objects that you want to reference in this collection."
        },
        "name": {
          "type": "string",
          "description": "The name of the collection. This is how you'll reference your collection in messages—`{{collection_name.data-property}}`."
        }
      }
    },
    {
      "type": "object",
      "title": "Data by URL",
      "properties": {
        "url": {
          "type": "string",
          "format": "url",
          "description": "The URL for your CSV or JSON data. If your URL does not return a `Content-Type`, we use the file extension; otherwise, Customer.io assumes your data is JSON.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the collection. This is how you'll reference your collection in messages—`{{collection_name.data-property}}`."
        }
      }
    }
  ]
}
object CollectionsUpdateCollectionResponse
{
  "type": "object",
  "properties": {
    "collection": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier for the collection. This is how you'll reference the collection from the API."
        },
        "name": {
          "type": "string",
          "example": "upcoming events",
          "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
        },
        "rows": {
          "type": "integer",
          "example": 2,
          "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
        },
        "bytes": {
          "type": "integer",
          "example": 296,
          "description": "The size of the collection in bytes."
        },
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "eventDate",
            "eventName",
            "presents"
          ],
          "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        }
      }
    }
  }
}
object CollectionsUpdateContentsRequest
{
  "type": "object",
  "additionalProperties": {
    "x-additionalPropertiesName": "collection contents"
  }
}
object CollectionsUpdateContentsResponse
{
  "type": "object",
  "properties": {
    "collection": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier for the collection. This is how you'll reference the collection from the API."
        },
        "name": {
          "type": "string",
          "example": "upcoming events",
          "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
        },
        "rows": {
          "type": "integer",
          "example": 2,
          "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
        },
        "bytes": {
          "type": "integer",
          "example": 296,
          "description": "The size of the collection in bytes."
        },
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "eventDate",
            "eventName",
            "presents"
          ],
          "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        }
      }
    }
  }
}
object CustomersFindByEmailResponse
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "cio_id",
          "id",
          "email"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": 2,
            "nullable": true,
            "description": "A person's unique ID, if set."
          },
          "email": {
            "type": "string",
            "format": "email",
            "example": "hugh.mann@example.com",
            "nullable": true,
            "description": "A person's email address, if set."
          },
          "cio_id": {
            "type": "string",
            "example": "a3000001",
            "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
          }
        }
      },
      "description": "A list of customers matching the email address in your query."
    }
  }
}
object CustomersGetActivitiesResponse
{
  "type": "object",
  "properties": {
    "activities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "01AK4N8V8G8KVA4HN8Y50CCZ59",
            "description": "The identifier for the action."
          },
          "data": {
            "oneOf": [
              {
                "type": "object",
                "title": "Message delivery",
                "example": {
                  "opened": null,
                  "delivered": null,
                  "delivery_id": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ=="
                },
                "properties": {
                  "opened": {
                    "type": "boolean",
                    "nullable": true,
                    "description": "Indicates whether or not a customer opened a message, if the message was delivered."
                  },
                  "delivered": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "nullable": true,
                    "description": "The date-time when the message was delivered, if applicable."
                  },
                  "delivery_id": {
                    "type": "string",
                    "description": "The message ID."
                  }
                }
              },
              {
                "type": "object",
                "title": "Attribute change",
                "example": {
                  "email": {
                    "to": "newPerson@customer.io",
                    "from": "newPerson@example.com"
                  }
                },
                "description": "The name of the object is the attribute that changed.",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "to": {
                      "type": "string",
                      "description": "The new attribute value."
                    },
                    "from": {
                      "type": "string",
                      "description": "The old attribute value. If empty, the customer probably didn't bear the attribute before this action."
                    }
                  },
                  "x-additionalPropertyName": "Attribute Name"
                }
              }
            ]
          },
          "type": {
            "enum": [
              "attempted_action",
              "attribute_change",
              "failed_attribute_change",
              "failed_batch_update",
              "skipped_update",
              "failed_query_collection",
              "event",
              "failed_event",
              "page",
              "drafted_email",
              "attempted_email",
              "sent_email",
              "delivered_email",
              "opened_email",
              "clicked_email",
              "converted_email",
              "bounced_email",
              "failed_email",
              "unsubscribed_email",
              "topic_unsubscribed_email",
              "spammed_email",
              "dropped_email",
              "undeliverable_email",
              "drafted_action",
              "delivered_action",
              "bounced_action",
              "sent_action",
              "opened_action",
              "clicked_action",
              "failed_action",
              "converted_action",
              "device_change",
              "deferred_email",
              "unsubscribed_action",
              "dropped_action",
              "undeliverable_action",
              "deferred_action",
              "profile_create",
              "profile_delete",
              "profile_merge",
              "anon_merge",
              "screen",
              "webhook_event",
              "add_relationship",
              "delete_relationship",
              "_o:<object_type_id>:create",
              "_o:<object_type_id>:attribute_change",
              "_o:<object_type_id>:failed_attribute_change",
              "_o:<object_type_id>:delete",
              "_o:<object_type_id>:add_relationship",
              "_o:<object_type_id>:delete_relationship",
              "_r:<object_type_id>:attribute_change",
              "_r:<object_type_id>:failed_attribute_change",
              "failed_object_journeys"
            ],
            "type": "string",
            "example": "sent_email",
            "description": "The type of activity. Types with `_o:<object_type_id>` are for objects and types with `_r:<object_type_id>` are for relationships."
          },
          "timestamp": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1397566226,
            "description": "The date and time when the action occurred."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "delivery_id": {
            "type": "string",
            "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
            "description": "The message ID."
          },
          "delivery_type": {
            "enum": [
              "ios",
              "android",
              "email",
              "phone"
            ],
            "type": "string",
            "example": "email",
            "description": "The recipient device, if applicable."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        }
      }
    }
  }
}
object CustomersGetAttributesResponse
{
  "type": "object",
  "example": {
    "customer": {
      "id": "1X",
      "devices": [
        {
          "id": "my_android_device_idX",
          "platform": "android",
          "last_used": 1514764800
        },
        {
          "id": "my_ios_device_idX",
          "platform": "ios",
          "last_used": 1514764800
        }
      ],
      "attributes": {
        "id": "1X",
        "email": "test@example.com",
        "title": "tester",
        "cio_id": "03000001",
        "created_at": "1489014595",
        "department": "qa",
        "_last_emailed": "1528932553",
        "cio_subscription_preferences": "{\"topics\":{\"topic_7\":false,\"topic_8\":false}}",
        "_cio_subscription_preferences_computed": "{\"topics\":{\"topic_6\":false,\"topic_7\":false,\"topic_8\":false}}"
      },
      "timestamps": {
        "id": 1489014595,
        "email": 1508932553,
        "title": 1508932553,
        "cio_id": 1489014595,
        "created_at": 1489014595,
        "department": 1508932553,
        "_last_emailed": 1528932553,
        "cio_subscription_preferences": 1673987303,
        "_cio_subscription_preferences_computed": 0
      },
      "unsubscribed": false
    }
  },
  "properties": {
    "customer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The customer ID referenced in the request."
        },
        "devices": {
          "type": "array",
          "items": {
            "allOf": [
              {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The device token."
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "platform"
                ],
                "properties": {
                  "platform": {
                    "enum": [
                      "ios",
                      "android"
                    ],
                    "type": "string",
                    "description": "The device/messaging platform."
                  },
                  "last_used": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                  },
                  "attributes": {
                    "type": "object",
                    "properties": {
                      "device_os": {
                        "type": "string",
                        "description": "The operating system, including the version, on the device."
                      },
                      "app_version": {
                        "type": "string",
                        "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                      },
                      "_last_status": {
                        "enum": [
                          "",
                          "bounced",
                          "sent",
                          "suppressed"
                        ],
                        "type": "string",
                        "readOnly": true,
                        "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                      },
                      "device_model": {
                        "type": "string",
                        "description": "The model of the device a person uses."
                      },
                      "push_enabled": {
                        "enum": [
                          "true",
                          "false"
                        ],
                        "type": "string",
                        "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                      },
                      "device_locale": {
                        "type": "string",
                        "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                      },
                      "cio_sdk_version": {
                        "type": "string",
                        "description": "The version of the Customer.io SDK in the app."
                      }
                    },
                    "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                    "additionalProperties": {
                      "type": "string",
                      "description": "Custom properties that you want to associate with the device.",
                      "x-additionalPropertiesName": "Custom Device Attributes"
                    }
                  }
                },
                "description": "Device information common to the v1 and v2 APIs."
              }
            ],
            "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments or in Liquid."
          },
          "description": "Lists the devices associated with the customer profile."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            },
            "cio_subscription_preferences": {
              "type": "string",
              "description": "A person's stringified subscription preferences. These are preferences that a person set through the subscription center or attributes that you set on a person. A person who hasn't set their subscription preferences has computed preferences based on the nature of your topics (opt-in or opt-out). See the `_cio_subscription_preferences_computed` attribute for computed preferences.\n"
            },
            "_cio_subscription_preferences_computed": {
              "type": "string",
              "description": "Returns the computed subscription preferences for a person—any subscription preferences set on a person and the defaults for any subscription preferences _not_ set on a person—as stringified JSON. For example, if you have an \"opt-in\" topic that a person hasn't set a preference for, that topic would show `false`—even though a person doesn't have that attribute on their profile. [Learn more about topics](https://customer.io/docs/api/app/).  \n"
            }
          },
          "description": "Contains attributes assigned to this profile, including your workspace's people-identifiers (by default, these are `id`, `email`, and `cio_id`). Attributes are all stored as strings.",
          "additionalProperties": {
            "type": "string",
            "description": "Non-identifier attributes assigned to this person.",
            "x-additionalPropertiesName": "additional attributes"
          }
        },
        "timestamps": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person's ID was generated."
            },
            "email": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person's email address was added."
            },
            "cio_id": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when `cio_id` was assigned."
            },
            "unsubscribed": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person unsubscribed."
            },
            "_last_emailed": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when you last emailed a person."
            },
            "additionalProperties": {
              "format": "unix timestamp",
              "description": "Timestamps when attributes assigned to the person were set.",
              "x-additionalPropertiesName": "additional attribute timestamps"
            },
            "cio_subscription_preferences": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The datetime when a person's subscription preferences were last updated."
            },
            "_cio_subscription_preferences_computed": {
              "type": "integer",
              "description": "Because this value is computed and not actually set on a person, this value is always 0"
            }
          },
          "description": "The epoch timestamps when corresponding attributes were set on the customer profile."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "email",
            "id",
            "cio_id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": 2,
              "nullable": true,
              "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
            },
            "email": {
              "type": "string",
              "format": "email",
              "example": "test@example.com",
              "nullable": true,
              "description": "A person's email address, if set."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          },
          "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
        },
        "unsubscribed": {
          "type": "boolean",
          "description": "If true, the person is unsubscribed from messages."
        }
      },
      "description": "The profile you referenced by ID in the request."
    }
  }
}
object CustomersGetMessagesResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The message identifier."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "description": "The type of message."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "description": "The date and time when the message was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "format": "unix timestamp",
                "description": "The date and time when the message was sent."
              },
              "delivered": {
                "type": "integer",
                "format": "unix timestamp",
                "description": "The date and time when the customer received the message."
              }
            },
            "description": "Contains information about the send and delivery time of the message."
          },
          "subject": {
            "type": "string",
            "description": "The subject line of the message."
          },
          "action_id": {
            "type": "integer",
            "description": "The identifier for the message action within the campaign or broadcast the message belonged to."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true, the message content was forgotten."
          },
          "recipient": {
            "type": "string",
            "description": "The address of the recipient. May be an email address, MSISDN, or a device UUID."
          },
          "content_id": {
            "type": "integer",
            "nullable": true,
            "description": "The newsletter variant for the message, if applicable."
          },
          "campaign_id": {
            "type": "integer",
            "description": "The campaign the message belongs to."
          },
          "customer_id": {
            "type": "string",
            "description": "The customer the message was sent to."
          },
          "broadcast_id": {
            "type": "integer",
            "nullable": true,
            "description": "The broadcast the message was sent as a part of, if applicable."
          },
          "newsletter_id": {
            "type": "integer",
            "nullable": true,
            "description": "The newsletter that the message was sent as a part of, if applicable."
          },
          "deduplicate_id": {
            "type": "string",
            "description": "A group identifier to deduplicate messages (useful if a customer may have received multiple messages of the same type)."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "An error, if the message did not make it to the customer."
          },
          "msg_template_id": {
            "type": "string",
            "deprecated": true,
            "description": "The message template the message was created from."
          }
        }
      }
    }
  }
}
object CustomersGetSubscriptionPreferences400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Error descriptions."
          },
          "description": "An array of errors."
        }
      }
    }
  }
}
object CustomersGetSubscriptionPreferencesResponse
{
  "type": "object",
  "properties": {
    "customer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "42",
          "nullable": true,
          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
        },
        "header": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The header of the subscription preferences page."
            },
            "subtitle": {
              "type": "string",
              "description": "The subtitle or headline beneath the header of the subscription preferences page."
            }
          }
        },
        "topics": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "System-generated ID of the topic."
              },
              "name": {
                "type": "string",
                "description": "The name of the subscription topic."
              },
              "subscribed": {
                "type": "boolean",
                "description": "If true, the customer is subscribed to the topic. If false, the customer is unsubscribed from the topic."
              },
              "description": {
                "type": "string",
                "description": "The (optional) description of the topic."
              }
            }
          },
          "description": "A list of all subscription preferences for the customer."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "email",
            "id",
            "cio_id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": 2,
              "nullable": true,
              "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
            },
            "email": {
              "type": "string",
              "format": "email",
              "example": "test@example.com",
              "nullable": true,
              "description": "A person's email address, if set."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          },
          "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
        },
        "unsubscribed": {
          "type": "boolean",
          "description": "If true, the customer is unsubscribed from all messaging. If false, the customer is subscribed according to their topic preferences."
        }
      },
      "description": "The profile you referenced by ID in the request."
    }
  }
}
object CustomersListAttributesDevicesRequest
{
  "type": "object",
  "required": [
    "ids"
  ],
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "minItems": 1,
      "description": "An array of up to 100 customer IDs."
    }
  }
}
object CustomersListAttributesDevicesResponse
{
  "type": "object",
  "properties": {
    "customers": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "customer": {
            "id": "1X",
            "devices": [
              {
                "id": "my_android_device_idX",
                "platform": "android",
                "last_used": 1514764800
              },
              {
                "id": "my_ios_device_idX",
                "platform": "ios",
                "last_used": 1514764800
              }
            ],
            "attributes": {
              "id": "1X",
              "email": "test@example.com",
              "title": "tester",
              "cio_id": "03000001",
              "created_at": "1489014595",
              "department": "qa",
              "_last_emailed": "1528932553",
              "cio_subscription_preferences": "{\"topics\":{\"topic_7\":false,\"topic_8\":false}}",
              "_cio_subscription_preferences_computed": "{\"topics\":{\"topic_6\":false,\"topic_7\":false,\"topic_8\":false}}"
            },
            "timestamps": {
              "id": 1489014595,
              "email": 1508932553,
              "title": 1508932553,
              "cio_id": 1489014595,
              "created_at": 1489014595,
              "department": 1508932553,
              "_last_emailed": 1528932553,
              "cio_subscription_preferences": 1673987303,
              "_cio_subscription_preferences_computed": 0
            },
            "unsubscribed": false
          }
        },
        "properties": {
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The customer ID referenced in the request."
              },
              "devices": {
                "type": "array",
                "items": {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The device token."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "platform"
                      ],
                      "properties": {
                        "platform": {
                          "enum": [
                            "ios",
                            "android"
                          ],
                          "type": "string",
                          "description": "The device/messaging platform."
                        },
                        "last_used": {
                          "type": "integer",
                          "format": "unix timestamp",
                          "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {
                            "device_os": {
                              "type": "string",
                              "description": "The operating system, including the version, on the device."
                            },
                            "app_version": {
                              "type": "string",
                              "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                            },
                            "_last_status": {
                              "enum": [
                                "",
                                "bounced",
                                "sent",
                                "suppressed"
                              ],
                              "type": "string",
                              "readOnly": true,
                              "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                            },
                            "device_model": {
                              "type": "string",
                              "description": "The model of the device a person uses."
                            },
                            "push_enabled": {
                              "enum": [
                                "true",
                                "false"
                              ],
                              "type": "string",
                              "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                            },
                            "device_locale": {
                              "type": "string",
                              "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                            },
                            "cio_sdk_version": {
                              "type": "string",
                              "description": "The version of the Customer.io SDK in the app."
                            }
                          },
                          "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                          "additionalProperties": {
                            "type": "string",
                            "description": "Custom properties that you want to associate with the device.",
                            "x-additionalPropertiesName": "Custom Device Attributes"
                          }
                        }
                      },
                      "description": "Device information common to the v1 and v2 APIs."
                    }
                  ],
                  "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments or in Liquid."
                },
                "description": "Lists the devices associated with the customer profile."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "42",
                    "nullable": true,
                    "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                  },
                  "email": {
                    "type": "string",
                    "example": "test@example.com",
                    "nullable": true,
                    "description": "The email address of the customer."
                  },
                  "cio_id": {
                    "type": "string",
                    "example": "a3000001",
                    "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                  },
                  "cio_subscription_preferences": {
                    "type": "string",
                    "description": "A person's stringified subscription preferences. These are preferences that a person set through the subscription center or attributes that you set on a person. A person who hasn't set their subscription preferences has computed preferences based on the nature of your topics (opt-in or opt-out). See the `_cio_subscription_preferences_computed` attribute for computed preferences.\n"
                  },
                  "_cio_subscription_preferences_computed": {
                    "type": "string",
                    "description": "Returns the computed subscription preferences for a person—any subscription preferences set on a person and the defaults for any subscription preferences _not_ set on a person—as stringified JSON. For example, if you have an \"opt-in\" topic that a person hasn't set a preference for, that topic would show `false`—even though a person doesn't have that attribute on their profile. [Learn more about topics](https://customer.io/docs/api/app/).  \n"
                  }
                },
                "description": "Contains attributes assigned to this profile, including your workspace's people-identifiers (by default, these are `id`, `email`, and `cio_id`). Attributes are all stored as strings.",
                "additionalProperties": {
                  "type": "string",
                  "description": "Non-identifier attributes assigned to this person.",
                  "x-additionalPropertiesName": "additional attributes"
                }
              },
              "timestamps": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The date-time when the person's ID was generated."
                  },
                  "email": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The date-time when the person's email address was added."
                  },
                  "cio_id": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The date-time when `cio_id` was assigned."
                  },
                  "unsubscribed": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The date-time when the person unsubscribed."
                  },
                  "_last_emailed": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The date-time when you last emailed a person."
                  },
                  "additionalProperties": {
                    "format": "unix timestamp",
                    "description": "Timestamps when attributes assigned to the person were set.",
                    "x-additionalPropertiesName": "additional attribute timestamps"
                  },
                  "cio_subscription_preferences": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The datetime when a person's subscription preferences were last updated."
                  },
                  "_cio_subscription_preferences_computed": {
                    "type": "integer",
                    "description": "Because this value is computed and not actually set on a person, this value is always 0"
                  }
                },
                "description": "The epoch timestamps when corresponding attributes were set on the customer profile."
              },
              "identifiers": {
                "type": "object",
                "required": [
                  "email",
                  "id",
                  "cio_id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "example": 2,
                    "nullable": true,
                    "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "example": "test@example.com",
                    "nullable": true,
                    "description": "A person's email address, if set."
                  },
                  "cio_id": {
                    "type": "string",
                    "example": "a3000001",
                    "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                  }
                },
                "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
              },
              "unsubscribed": {
                "type": "boolean",
                "description": "If true, the person is unsubscribed from messages."
              }
            },
            "description": "The profile you referenced by ID in the request."
          }
        }
      }
    }
  }
}
object CustomersLookupRelationshipsResponse
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
    },
    "cio_relationships": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "description": "Attributes for the relationship between the person and the object.",
            "additionalProperties": {
              "x-additionalPropertiesName": "Object Attributes"
            }
          },
          "timestamps": {
            "type": "object",
            "description": "Unix timestamps when the object's attributes were last updated.",
            "additionalProperties": {
              "type": "integer",
              "format": "unix timestamp",
              "x-additionalPropertiesName": "Object Attribute Timestamps"
            }
          },
          "identifiers": {
            "type": "object",
            "properties": {
              "object_id": {
                "type": "string",
                "description": "The ID of the object that the customer is related to."
              },
              "cio_object_id": {
                "type": "string",
                "description": "The canonical, immutable identifier for the object that the customer is related to."
              }
            },
            "description": "The `object_id` and `cio_object_id` that a person is related to."
          },
          "object_type_id": {
            "type": "integer",
            "description": "The type of object that the customer is related to."
          }
        }
      },
      "description": "A list of \"objects\" that the customer is related to; each JSON object in the array represents an \"object\" in Customer.io."
    }
  }
}
object CustomersLookupSegmentsResponse
{
  "type": "object",
  "properties": {
    "segments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The segment identifier."
          },
          "name": {
            "type": "string",
            "description": "The name of the segment."
          },
          "description": {
            "type": "string",
            "description": "The description of the segment, as entered in the UI."
          }
        }
      }
    }
  }
}
object CustomersSearchFilterRequest
{
  "type": "object",
  "required": [
    "filter"
  ],
  "properties": {
    "filter": {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "oneOf": [
            {
              "type": "object",
              "title": "and",
              "properties": {
                "and": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "People Filter",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *any* conditions."
                      },
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *all* conditions."
                      },
                      "not": {
                        "oneOf": [
                          {
                            "type": "object",
                            "title": "and",
                            "properties": {
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *all* conditions to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "or",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *any* condition to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "attribute",
                            "properties": {
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            }
                          }
                        ],
                        "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                      },
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      },
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                  },
                  "description": "Match *all* conditions to return results."
                }
              }
            },
            {
              "type": "object",
              "title": "or",
              "properties": {
                "or": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "People Filter",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *any* conditions."
                      },
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *all* conditions."
                      },
                      "not": {
                        "oneOf": [
                          {
                            "type": "object",
                            "title": "and",
                            "properties": {
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *all* conditions to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "or",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *any* condition to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "attribute",
                            "properties": {
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            }
                          }
                        ],
                        "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                      },
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      },
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                  },
                  "description": "Match *any* condition to return results."
                }
              }
            },
            {
              "type": "object",
              "title": "segment",
              "properties": {
                "segment": {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "example": 4,
                      "description": "The ID of the segment you want to return people from."
                    }
                  },
                  "description": "Provide the `id` of a segment containing people you want to search for."
                }
              }
            },
            {
              "type": "object",
              "title": "attribute",
              "properties": {
                "attribute": {
                  "type": "object",
                  "title": "attribute",
                  "example": {
                    "field": "unsubscribed",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "first_name",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your audience by attribute."
                }
              }
            }
          ],
          "title": "not",
          "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
        },
        {
          "type": "object",
          "title": "segment",
          "properties": {
            "segment": {
              "type": "object",
              "title": "segment",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 4,
                  "description": "The ID of the segment you want to return people from."
                }
              },
              "description": "Provide the `id` of a segment containing people you want to search for."
            }
          },
          "description": "Filter for people who belong to a segment."
        },
        {
          "type": "object",
          "title": "audience",
          "properties": {
            "attribute": {
              "type": "object",
              "title": "attribute",
              "example": {
                "field": "unsubscribed",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "first_name",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your audience by attribute."
            }
          },
          "description": "filter for people who have an attribute or an attribute value."
        }
      ],
      "title": "Audience Filter",
      "description": "Describe the customers you want to return. Use `and`, `or`, and `not` arrays to group and determine the logic for filter criteria. You can nest and, or, and not arrays to produce complex filters."
    }
  }
}
object CustomersSearchFilterResponse
{
  "type": "object",
  "example": {
    "ids": [
      1,
      2
    ],
    "next": "MDox",
    "identifiers": [
      {
        "id": 1,
        "email": "person@example.com",
        "cio_id": 3000001
      },
      {
        "id": 2,
        "email": "second.person@exapmle.com",
        "cio_id": 3000002
      }
    ]
  },
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "In general, you should use the `identifiers` array. This array contains identifiers for people captured in your filter. However, as of June 2021, some workspaces let you add people without an `id`. Entries without an `id` are empty strings in this array, where the `identifiers` array contains more complete information for each person captured in the filter.\n"
    },
    "next": {
      "type": "string",
      "description": "The `start` value for the next page of results."
    },
    "identifiers": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "email",
          "id",
          "cio_id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": 2,
            "nullable": true,
            "description": "A person's unique ID, if set."
          },
          "email": {
            "type": "string",
            "format": "email",
            "example": "hugh.mann@example.com",
            "nullable": true,
            "description": "A person's email address, if set."
          },
          "cio_id": {
            "type": "string",
            "example": "a3000001",
            "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
          }
        }
      },
      "description": "An array of objects, where each object represents a customer. Each object contains identifiers for a customer."
    }
  }
}
object EspSuppressionEmailAddressResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EspSuppressionGetEmailsByTypeResponse
{
  "type": "object",
  "properties": {
    "category": {
      "enum": [
        "bounces",
        "blocks",
        "spam",
        "invalid"
      ],
      "type": "string",
      "example": "bounces",
      "description": "The reason the addresses are suppressed."
    },
    "suppressions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "bounced.person@example.com",
            "description": "The email address that the ESP suppressed."
          },
          "reason": {
            "type": "string",
            "example": "Uploaded manually via api.customer.io",
            "description": "The reason for the suppression, as [recorded by Mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html)."
          },
          "status": {
            "type": "string",
            "example": "550",
            "description": "The status code for the suppression, as [recorded by mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html). This is normally `550`."
          },
          "created": {
            "type": "integer",
            "format": "Unix timestamp",
            "example": 1650895738,
            "description": "The timestamp (in seconds), when the ESP suppressed the address."
          }
        }
      },
      "description": "The addresses suppressed in this category."
    }
  }
}
object EspSuppressionLookupAddressResponse
{
  "type": "object",
  "properties": {
    "category": {
      "enum": [
        "bounces",
        "blocks",
        "spam",
        "invalid"
      ],
      "type": "string",
      "example": "bounces",
      "description": "The reason the addresses are suppressed."
    },
    "suppressions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "bounced.person@example.com",
            "description": "The email address that the ESP suppressed."
          },
          "reason": {
            "type": "string",
            "example": "Uploaded manually via api.customer.io",
            "description": "The reason for the suppression, as [recorded by Mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html)."
          },
          "status": {
            "type": "string",
            "example": "550",
            "description": "The status code for the suppression, as [recorded by mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html). This is normally `550`."
          },
          "created": {
            "type": "integer",
            "format": "Unix timestamp",
            "example": 1650895738,
            "description": "The timestamp (in seconds), when the ESP suppressed the address."
          }
        }
      },
      "description": "The addresses suppressed in this category."
    }
  }
}
object ExportsCreateCustomerExportRequest
{
  "type": "object",
  "required": [
    "filters"
  ],
  "properties": {
    "filters": {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "oneOf": [
            {
              "type": "object",
              "title": "and",
              "properties": {
                "and": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "People Filter",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *any* conditions."
                      },
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *all* conditions."
                      },
                      "not": {
                        "oneOf": [
                          {
                            "type": "object",
                            "title": "and",
                            "properties": {
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *all* conditions to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "or",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *any* condition to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "attribute",
                            "properties": {
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            }
                          }
                        ],
                        "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                      },
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      },
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                  },
                  "description": "Match *all* conditions to return results."
                }
              }
            },
            {
              "type": "object",
              "title": "or",
              "properties": {
                "or": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "People Filter",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *any* conditions."
                      },
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Returns results matching *all* conditions."
                      },
                      "not": {
                        "oneOf": [
                          {
                            "type": "object",
                            "title": "and",
                            "properties": {
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *all* conditions to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "or",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Match *any* condition to return results."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              }
                            }
                          },
                          {
                            "type": "object",
                            "title": "attribute",
                            "properties": {
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            }
                          }
                        ],
                        "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                      },
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      },
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                  },
                  "description": "Match *any* condition to return results."
                }
              }
            },
            {
              "type": "object",
              "title": "segment",
              "properties": {
                "segment": {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "example": 4,
                      "description": "The ID of the segment you want to return people from."
                    }
                  },
                  "description": "Provide the `id` of a segment containing people you want to search for."
                }
              }
            },
            {
              "type": "object",
              "title": "attribute",
              "properties": {
                "attribute": {
                  "type": "object",
                  "title": "attribute",
                  "example": {
                    "field": "unsubscribed",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "first_name",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your audience by attribute."
                }
              }
            }
          ],
          "title": "not",
          "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
        },
        {
          "type": "object",
          "title": "segment",
          "properties": {
            "segment": {
              "type": "object",
              "title": "segment",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 4,
                  "description": "The ID of the segment you want to return people from."
                }
              },
              "description": "Provide the `id` of a segment containing people you want to search for."
            }
          },
          "description": "Filter for people who belong to a segment."
        },
        {
          "type": "object",
          "title": "audience",
          "properties": {
            "attribute": {
              "type": "object",
              "title": "attribute",
              "example": {
                "field": "unsubscribed",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "first_name",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your audience by attribute."
            }
          },
          "description": "filter for people who have an attribute or an attribute value."
        }
      ],
      "title": "Audience Filter",
      "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for.\n\nThe top level of this object can only contain a single property, but you can nest `and` and `or` properties to produce complex filters.\n"
    }
  }
}
object ExportsCreateCustomerExportResponse
{
  "type": "object",
  "properties": {
    "export": {
      "type": "object",
      "example": {
        "id": 110,
        "type": "customers",
        "total": 1234,
        "failed": false,
        "status": "done",
        "user_id": 0,
        "downloads": 2,
        "created_at": 1530296738,
        "updated_at": 1530296738,
        "user_email": "person@email.com",
        "description": "Customers with segment filters—in \\Purchased Flowers\\",
        "deduplicate_id": "110:1530296738"
      },
      "properties": {
        "id": {
          "type": "integer",
          "example": 110,
          "description": "The identifier for the export."
        },
        "type": {
          "enum": [
            "customers",
            "deliveries"
          ],
          "type": "string",
          "example": "customers",
          "description": "The type of information contained in the export."
        },
        "total": {
          "type": "integer",
          "description": "The number of entries in the export. Exports report 0 until done."
        },
        "failed": {
          "type": "boolean",
          "example": false,
          "description": "If true, the export was unsuccessful."
        },
        "status": {
          "enum": [
            "done",
            "pending",
            "failed"
          ],
          "type": "string",
          "description": "The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable."
        },
        "user_id": {
          "type": "integer",
          "description": "The user who created the export."
        },
        "downloads": {
          "type": "integer",
          "example": 2,
          "description": "Counts the total number of times the export has been downloaded."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "user_email": {
          "type": "string",
          "description": "The email of the user who created the export."
        },
        "description": {
          "type": "string",
          "example": "Customers with segment filters—in Purchased Flowers",
          "description": "A description of the export."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      },
      "description": "Metadata about an export."
    }
  }
}
object ExportsDownloadExportSignedLinkResponse
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "url",
      "description": "A link to download your export. Expires after 15 minutes."
    }
  }
}
object ExportsExportDeliveriesInfoRequest
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "newsletter_id"
          ],
          "properties": {
            "newsletter_id": {
              "type": "integer",
              "example": 999,
              "description": "The ID of a newsletter you want to export information from."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "end": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517702400,
              "description": "The unix timestamp representing the end of the export."
            },
            "start": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517529600,
              "description": "The unix timestamp representing the beginning of the export."
            },
            "drafts": {
              "type": "boolean",
              "description": "If true, your request returns both drafts and active/sent messages."
            },
            "metric": {
              "enum": [
                "created",
                "attempted",
                "sent",
                "delivered",
                "opened",
                "clicked",
                "converted",
                "bounced",
                "spammed",
                "unsubscribed",
                "dropped",
                "failed",
                "undeliverable"
              ],
              "type": "string",
              "description": "Determines the metric(s) you want to return."
            },
            "attributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The names of attributes you want to include in your export; each attribute name is an additional column in the export. If your message included liquid, you may add the attribute names used in your message so you can see the values populated for each delivery."
            }
          },
          "description": "Contains properties shared by export filters."
        }
      ],
      "title": "Newsletter"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "campaign_id"
          ],
          "properties": {
            "campaign_id": {
              "type": "integer",
              "example": 46,
              "description": "The ID of a campaign you want to export information from."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "end": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517702400,
              "description": "The unix timestamp representing the end of the export."
            },
            "start": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517529600,
              "description": "The unix timestamp representing the beginning of the export."
            },
            "drafts": {
              "type": "boolean",
              "description": "If true, your request returns both drafts and active/sent messages."
            },
            "metric": {
              "enum": [
                "created",
                "attempted",
                "sent",
                "delivered",
                "opened",
                "clicked",
                "converted",
                "bounced",
                "spammed",
                "unsubscribed",
                "dropped",
                "failed",
                "undeliverable"
              ],
              "type": "string",
              "description": "Determines the metric(s) you want to return."
            },
            "attributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The names of attributes you want to include in your export; each attribute name is an additional column in the export. If your message included liquid, you may add the attribute names used in your message so you can see the values populated for each delivery."
            }
          },
          "description": "Contains properties shared by export filters."
        }
      ],
      "title": "Campaign"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "transactional_message_id"
          ],
          "properties": {
            "transactional_message_id": {
              "type": "integer",
              "example": 22,
              "description": "The ID of the transactional message you want to export information for."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "end": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517702400,
              "description": "The unix timestamp representing the end of the export."
            },
            "start": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517529600,
              "description": "The unix timestamp representing the beginning of the export."
            },
            "drafts": {
              "type": "boolean",
              "description": "If true, your request returns both drafts and active/sent messages."
            },
            "metric": {
              "enum": [
                "created",
                "attempted",
                "sent",
                "delivered",
                "opened",
                "clicked",
                "converted",
                "bounced",
                "spammed",
                "unsubscribed",
                "dropped",
                "failed",
                "undeliverable"
              ],
              "type": "string",
              "description": "Determines the metric(s) you want to return."
            },
            "attributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The names of attributes you want to include in your export; each attribute name is an additional column in the export. If your message included liquid, you may add the attribute names used in your message so you can see the values populated for each delivery."
            }
          },
          "description": "Contains properties shared by export filters."
        }
      ],
      "title": "Transactional Message"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "action_id"
          ],
          "properties": {
            "action_id": {
              "type": "integer",
              "example": 77,
              "description": "The ID of an action you want to export information from."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "end": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517702400,
              "description": "The unix timestamp representing the end of the export."
            },
            "start": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1517529600,
              "description": "The unix timestamp representing the beginning of the export."
            },
            "drafts": {
              "type": "boolean",
              "description": "If true, your request returns both drafts and active/sent messages."
            },
            "metric": {
              "enum": [
                "created",
                "attempted",
                "sent",
                "delivered",
                "opened",
                "clicked",
                "converted",
                "bounced",
                "spammed",
                "unsubscribed",
                "dropped",
                "failed",
                "undeliverable"
              ],
              "type": "string",
              "description": "Determines the metric(s) you want to return."
            },
            "attributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The names of attributes you want to include in your export; each attribute name is an additional column in the export. If your message included liquid, you may add the attribute names used in your message so you can see the values populated for each delivery."
            }
          },
          "description": "Contains properties shared by export filters."
        }
      ],
      "title": "Action"
    }
  ]
}
object ExportsExportDeliveriesInfoResponse
{
  "type": "object",
  "example": {
    "export": {
      "id": "111,",
      "type": "deliveries",
      "failed": false,
      "downloads": 0,
      "created_at": 1530296742,
      "updated_at": 1530296742,
      "description": "Full deliveries export (created via the api)",
      "deduplicate_id": "110:1530296738"
    }
  },
  "properties": {
    "export": {
      "type": "object",
      "example": {
        "id": 110,
        "type": "customers",
        "total": 1234,
        "failed": false,
        "status": "done",
        "user_id": 0,
        "downloads": 2,
        "created_at": 1530296738,
        "updated_at": 1530296738,
        "user_email": "person@email.com",
        "description": "Customers with segment filters—in \\Purchased Flowers\\",
        "deduplicate_id": "110:1530296738"
      },
      "properties": {
        "id": {
          "type": "integer",
          "example": 110,
          "description": "The identifier for the export."
        },
        "type": {
          "enum": [
            "customers",
            "deliveries"
          ],
          "type": "string",
          "example": "customers",
          "description": "The type of information contained in the export."
        },
        "total": {
          "type": "integer",
          "description": "The number of entries in the export. Exports report 0 until done."
        },
        "failed": {
          "type": "boolean",
          "example": false,
          "description": "If true, the export was unsuccessful."
        },
        "status": {
          "enum": [
            "done",
            "pending",
            "failed"
          ],
          "type": "string",
          "description": "The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable."
        },
        "user_id": {
          "type": "integer",
          "description": "The user who created the export."
        },
        "downloads": {
          "type": "integer",
          "example": 2,
          "description": "Counts the total number of times the export has been downloaded."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "user_email": {
          "type": "string",
          "description": "The email of the user who created the export."
        },
        "description": {
          "type": "string",
          "example": "Customers with segment filters—in Purchased Flowers",
          "description": "A description of the export."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      },
      "description": "Metadata about an export."
    }
  }
}
object ExportsGetExportInfoResponse
{
  "type": "object",
  "properties": {
    "export": {
      "type": "object",
      "example": {
        "id": 110,
        "type": "customers",
        "total": 1234,
        "failed": false,
        "status": "done",
        "user_id": 0,
        "downloads": 2,
        "created_at": 1530296738,
        "updated_at": 1530296738,
        "user_email": "person@email.com",
        "description": "Customers with segment filters—in \\Purchased Flowers\\",
        "deduplicate_id": "110:1530296738"
      },
      "properties": {
        "id": {
          "type": "integer",
          "example": 110,
          "description": "The identifier for the export."
        },
        "type": {
          "enum": [
            "customers",
            "deliveries"
          ],
          "type": "string",
          "example": "customers",
          "description": "The type of information contained in the export."
        },
        "total": {
          "type": "integer",
          "description": "The number of entries in the export. Exports report 0 until done."
        },
        "failed": {
          "type": "boolean",
          "example": false,
          "description": "If true, the export was unsuccessful."
        },
        "status": {
          "enum": [
            "done",
            "pending",
            "failed"
          ],
          "type": "string",
          "description": "The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable."
        },
        "user_id": {
          "type": "integer",
          "description": "The user who created the export."
        },
        "downloads": {
          "type": "integer",
          "example": 2,
          "description": "Counts the total number of times the export has been downloaded."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "user_email": {
          "type": "string",
          "description": "The email of the user who created the export."
        },
        "description": {
          "type": "string",
          "example": "Customers with segment filters—in Purchased Flowers",
          "description": "A description of the export."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      },
      "description": "Metadata about an export."
    }
  }
}
object ExportsListMetricsResponse
{
  "type": "object",
  "properties": {
    "exports": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": 110,
          "type": "customers",
          "total": 1234,
          "failed": false,
          "status": "done",
          "user_id": 0,
          "downloads": 2,
          "created_at": 1530296738,
          "updated_at": 1530296738,
          "user_email": "person@email.com",
          "description": "Customers with segment filters—in \\Purchased Flowers\\",
          "deduplicate_id": "110:1530296738"
        },
        "properties": {
          "id": {
            "type": "integer",
            "example": 110,
            "description": "The identifier for the export."
          },
          "type": {
            "enum": [
              "customers",
              "deliveries"
            ],
            "type": "string",
            "example": "customers",
            "description": "The type of information contained in the export."
          },
          "total": {
            "type": "integer",
            "description": "The number of entries in the export. Exports report 0 until done."
          },
          "failed": {
            "type": "boolean",
            "example": false,
            "description": "If true, the export was unsuccessful."
          },
          "status": {
            "enum": [
              "done",
              "pending",
              "failed"
            ],
            "type": "string",
            "description": "The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable."
          },
          "user_id": {
            "type": "integer",
            "description": "The user who created the export."
          },
          "downloads": {
            "type": "integer",
            "example": 2,
            "description": "Counts the total number of times the export has been downloaded."
          },
          "created_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "updated_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "user_email": {
            "type": "string",
            "description": "The email of the user who created the export."
          },
          "description": {
            "type": "string",
            "example": "Customers with segment filters—in Purchased Flowers",
            "description": "A description of the export."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          }
        },
        "description": "Metadata about an export."
      }
    }
  }
}
object ImportsBulkUploadCsvRequest
{
  "type": "object",
  "required": [
    "import"
  ],
  "properties": {
    "import": {
      "oneOf": [
        {
          "type": "object",
          "title": "people",
          "required": [
            "data_file_url",
            "name",
            "type",
            "identifier"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "A friendly name for your import. This helps you identify your import."
            },
            "type": {
              "enum": [
                "people"
              ],
              "type": "string",
              "description": "The type of import."
            },
            "identifier": {
              "enum": [
                "id",
                "email"
              ],
              "type": "string",
              "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
            },
            "description": {
              "type": "string",
              "description": "A helpful description that can help you find and recognize your import operation."
            },
            "data_file_url": {
              "type": "string",
              "description": "The URL or path to the CSV file you want to import."
            },
            "data_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
            }
          },
          "description": "Contains your import parameters."
        },
        {
          "type": "object",
          "title": "event",
          "required": [
            "data_file_url",
            "name",
            "type",
            "identifier"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "A friendly name for your import. This helps you identify your import."
            },
            "type": {
              "enum": [
                "event"
              ],
              "type": "string",
              "description": "The type of import."
            },
            "identifier": {
              "enum": [
                "id",
                "email"
              ],
              "type": "string",
              "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
            },
            "description": {
              "type": "string",
              "description": "A helpful description that can help you find and recognize your import operation."
            },
            "data_file_url": {
              "type": "string",
              "description": "The URL or path to the CSV file you want to import."
            },
            "data_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
            }
          },
          "description": "Contains your import parameters."
        },
        {
          "type": "object",
          "title": "relationship",
          "required": [
            "data_file_url",
            "name",
            "type",
            "identifier",
            "object_type_id"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "A friendly name for your import. This helps you identify your import."
            },
            "type": {
              "enum": [
                "relationship"
              ],
              "type": "string",
              "description": "The type of import."
            },
            "identifier": {
              "enum": [
                "id",
                "email"
              ],
              "type": "string",
              "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
            },
            "description": {
              "type": "string",
              "description": "A helpful description that can help you find and recognize your import operation."
            },
            "data_file_url": {
              "type": "string",
              "description": "The URL or path to the CSV file you want to import."
            },
            "data_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
            }
          },
          "description": "Contains your import parameters."
        },
        {
          "type": "object",
          "title": "object",
          "required": [
            "data_file_url",
            "name",
            "type",
            "object_type_id"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "A friendly name for your import. This helps you identify your import."
            },
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The type of import."
            },
            "description": {
              "type": "string",
              "description": "A helpful description that can help you find and recognize your import operation."
            },
            "data_file_url": {
              "type": "string",
              "description": "The URL or path to the CSV file you want to import."
            },
            "object_type_id": {
              "type": "string",
              "example": "1",
              "nullable": false,
              "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
            },
            "data_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
            }
          },
          "description": "Contains your import parameters."
        }
      ]
    }
  }
}
object ImportsBulkUploadCsvResponse
{
  "type": "object",
  "required": [
    "import"
  ],
  "properties": {
    "import": {
      "type": "object",
      "example": {
        "id": 30,
        "name": "account-object-import",
        "type": "object",
        "error": "possible error - The specified Object Type does not exist.",
        "state": "imported",
        "created_at": 1706081641,
        "updated_at": 1706081645,
        "description": "importing accounts",
        "rows_imported": 3,
        "object_type_id": 1,
        "rows_to_import": 3,
        "data_to_process": "all",
        "people_to_process": "all"
      },
      "properties": {
        "id": {
          "type": "integer",
          "description": "This is the `import_id` you'll use if you want to [lookup your import operation](https://customer.io/docs/api/app/)."
        },
        "name": {
          "type": "string",
          "description": "A friendly name for your import. This helps you identify your import."
        },
        "type": {
          "enum": [
            "people",
            "event",
            "object",
            "relationship"
          ],
          "type": "string",
          "description": "The type of import."
        },
        "error": {
          "type": "string",
          "description": "If your import fails, this helps you understand why."
        },
        "state": {
          "enum": [
            "preprocessing",
            "preprocessed",
            "validating",
            "validated",
            "importing",
            "imported",
            "failed",
            "canceled"
          ],
          "type": "string",
          "description": "The state of the import—whether your import is being processed, fully completed (`imported`), or if it failed."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "identifier": {
          "enum": [
            "id",
            "email"
          ],
          "type": "string",
          "description": "The type of identifier you used to identify people in your CSV. Not applicable for object imports."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "description": {
          "type": "string",
          "description": "A helpful description that can help you find and recognize your import operation."
        },
        "rows_imported": {
          "type": "integer",
          "description": "The number of rows we imported from the CSV."
        },
        "object_type_id": {
          "type": "string",
          "example": "1",
          "nullable": false,
          "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Only applies to object imports."
        },
        "rows_to_import": {
          "type": "integer",
          "description": "The total number of importable rows we found in the CSV."
        },
        "data_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
        },
        "people_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Returned for people and event imports, even if you imported using the field `data_to_process`. This field will be deprecated soon.\n"
        }
      },
      "description": "Represents an import operation."
    }
  }
}
object ImportsGetBulkImportResponse
{
  "type": "object",
  "required": [
    "import"
  ],
  "properties": {
    "import": {
      "allOf": [
        {
          "type": "object",
          "example": {
            "id": 30,
            "name": "account-object-import",
            "type": "object",
            "error": "possible error - The specified Object Type does not exist.",
            "state": "imported",
            "created_at": 1706081641,
            "updated_at": 1706081645,
            "description": "importing accounts",
            "rows_imported": 3,
            "object_type_id": 1,
            "rows_to_import": 3,
            "data_to_process": "all",
            "people_to_process": "all"
          },
          "properties": {
            "id": {
              "type": "integer",
              "description": "This is the `import_id` you'll use if you want to [lookup your import operation](https://customer.io/docs/api/app/)."
            },
            "name": {
              "type": "string",
              "description": "A friendly name for your import. This helps you identify your import."
            },
            "type": {
              "enum": [
                "people",
                "event",
                "object",
                "relationship"
              ],
              "type": "string",
              "description": "The type of import."
            },
            "error": {
              "type": "string",
              "description": "If your import fails, this helps you understand why."
            },
            "state": {
              "enum": [
                "preprocessing",
                "preprocessed",
                "validating",
                "validated",
                "importing",
                "imported",
                "failed",
                "canceled"
              ],
              "type": "string",
              "description": "The state of the import—whether your import is being processed, fully completed (`imported`), or if it failed."
            },
            "created_at": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was created."
            },
            "identifier": {
              "enum": [
                "id",
                "email"
              ],
              "type": "string",
              "description": "The type of identifier you used to identify people in your CSV. Not applicable for object imports."
            },
            "updated_at": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1552341937,
              "readOnly": true,
              "description": "The date time when the referenced ID was last updated."
            },
            "description": {
              "type": "string",
              "description": "A helpful description that can help you find and recognize your import operation."
            },
            "rows_imported": {
              "type": "integer",
              "description": "The number of rows we imported from the CSV."
            },
            "object_type_id": {
              "type": "string",
              "example": "1",
              "nullable": false,
              "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Only applies to object imports."
            },
            "rows_to_import": {
              "type": "integer",
              "description": "The total number of importable rows we found in the CSV."
            },
            "data_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
            },
            "people_to_process": {
              "enum": [
                "all",
                "only_new",
                "only_existing"
              ],
              "type": "string",
              "description": "Returned for people and event imports, even if you imported using the field `data_to_process`. This field will be deprecated soon.\n"
            }
          },
          "description": "Represents an import operation."
        }
      ]
    }
  }
}
object InfoListIpAddressesResponse
{
  "type": "object",
  "properties": {
    "ip_addresses": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "ip address"
      },
      "example": [
        "35.188.196.183",
        "104.198.177.219",
        "104.154.232.87",
        "130.211.229.195",
        "104.198.221.24",
        "104.197.27.15",
        "35.194.9.154",
        "104.154.144.51",
        "104.197.210.12",
        "35.225.6.73"
      ]
    }
  }
}
object MessagesGetArchivedMessageResponse
{
  "type": "object",
  "properties": {
    "archived_message": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
          "readOnly": true,
          "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "url": {
          "type": "string",
          "example": "http://example.com/webhook",
          "description": "The URL of a webhook or action."
        },
        "body": {
          "type": "string",
          "example": "<!DOCTYPE html><html><head>\\n<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=UTF-8\\\"/><h1>Hello World</h1>\\n\\n</body></html>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "forgotten": {
          "type": "boolean",
          "example": false,
          "description": "If true, Customer.io does not retain the message content."
        },
        "recipient": {
          "type": "string",
          "example": "person@example.com",
          "description": "The recipient address for an action."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        },
        "request_method": {
          "enum": [
            "GET",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ],
          "type": "string",
          "example": "POST",
          "description": "The method used in conjunction with a webhook `url`."
        }
      },
      "description": "An archived message, including a complete message body.\n"
    }
  },
  "description": "Describes an archived message delivery."
}
object MessagesGetMessageMetricsResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "object",
      "example": {
        "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
        "type": "email",
        "created": 1619137767,
        "metrics": {
          "sent": 1619137768,
          "delivered": 1619137768
        },
        "subject": "Did you get that thing I sent you?",
        "action_id": 215,
        "forgotten": false,
        "recipient": "person@example.com",
        "content_id": null,
        "campaign_id": 23,
        "customer_id": null,
        "broadcast_id": null,
        "newsletter_id": null,
        "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
        "failure_message": null,
        "msg_template_id": 43,
        "parent_action_id": null,
        "trigger_event_id": null
      },
      "properties": {
        "id": {
          "type": "string",
          "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
          "readOnly": true,
          "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "metrics": {
          "type": "object",
          "properties": {
            "sent": {
              "type": "integer",
              "description": "The timestamp when the message was `sent`."
            },
            "failed": {
              "type": "integer",
              "description": "The timestamp when the message `failed`."
            },
            "opened": {
              "type": "integer",
              "description": "The timestamp when the message was `opened`."
            },
            "bounced": {
              "type": "integer",
              "description": "The timestamp when the message `bounced`."
            },
            "clicked": {
              "type": "integer",
              "description": "The timestamp when the message was `clicked`."
            },
            "created": {
              "type": "integer",
              "description": "The timestamp when the message was `created`."
            },
            "drafted": {
              "type": "integer",
              "description": "The timestamp when the message was `drafted`."
            },
            "dropped": {
              "type": "integer",
              "description": "The timestamp when the message was `dropped`."
            },
            "spammed": {
              "type": "integer",
              "description": "The timestamp when the message was marked as spam."
            },
            "converted": {
              "type": "integer",
              "description": "The timestamp when the message was `converted`."
            },
            "delivered": {
              "type": "integer",
              "description": "The timestamp when the message was `delivered`."
            },
            "unsubscribed": {
              "type": "integer",
              "description": "The timestamp when a person unsubscribed based on this message."
            },
            "undeliverable": {
              "type": "integer",
              "description": "The timestamp when the message became `undeliverable`."
            }
          },
          "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "action_id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "forgotten": {
          "type": "boolean",
          "description": "If true message contents are not retained by Customer.io."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "content_id": {
          "type": "integer",
          "example": 1,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for a newsletter variant."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "nullable": true,
          "description": "The identifier for a campaign."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "nullable": true,
          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "nullable": true,
          "description": "The identifier for a broadcast."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "nullable": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "failure_message": {
          "type": "string",
          "nullable": true,
          "description": "Explains why a message failed, if applicable."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        },
        "trigger_event_id": {
          "type": "string",
          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
          "nullable": true,
          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
        },
        "message_template_id": {
          "type": "integer",
          "readOnly": true,
          "deprecated": true,
          "description": "The identifier of the message template used to create a message."
        },
        "customer_identifiers": {
          "type": "object",
          "required": [
            "email",
            "id",
            "cio_id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": 2,
              "nullable": true,
              "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
            },
            "email": {
              "type": "string",
              "format": "email",
              "example": "test@example.com",
              "nullable": true,
              "description": "A person's email address, if set."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          },
          "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
        }
      },
      "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
    }
  },
  "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
}
object MessagesListDeliveriesResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
          "type": "email",
          "created": 1619137767,
          "metrics": {
            "sent": 1619137768,
            "delivered": 1619137768
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 215,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": 23,
          "customer_id": null,
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
          "failure_message": null,
          "msg_template_id": 43,
          "parent_action_id": null,
          "trigger_event_id": null
        },
        "properties": {
          "id": {
            "type": "string",
            "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
            "readOnly": true,
            "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "description": "The timestamp when the message was `sent`."
              },
              "failed": {
                "type": "integer",
                "description": "The timestamp when the message `failed`."
              },
              "opened": {
                "type": "integer",
                "description": "The timestamp when the message was `opened`."
              },
              "bounced": {
                "type": "integer",
                "description": "The timestamp when the message `bounced`."
              },
              "clicked": {
                "type": "integer",
                "description": "The timestamp when the message was `clicked`."
              },
              "created": {
                "type": "integer",
                "description": "The timestamp when the message was `created`."
              },
              "drafted": {
                "type": "integer",
                "description": "The timestamp when the message was `drafted`."
              },
              "dropped": {
                "type": "integer",
                "description": "The timestamp when the message was `dropped`."
              },
              "spammed": {
                "type": "integer",
                "description": "The timestamp when the message was marked as spam."
              },
              "converted": {
                "type": "integer",
                "description": "The timestamp when the message was `converted`."
              },
              "delivered": {
                "type": "integer",
                "description": "The timestamp when the message was `delivered`."
              },
              "unsubscribed": {
                "type": "integer",
                "description": "The timestamp when a person unsubscribed based on this message."
              },
              "undeliverable": {
                "type": "integer",
                "description": "The timestamp when the message became `undeliverable`."
              }
            },
            "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "action_id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true message contents are not retained by Customer.io."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "content_id": {
            "type": "integer",
            "example": 1,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for a newsletter variant."
          },
          "campaign_id": {
            "type": "integer",
            "example": 5,
            "nullable": true,
            "description": "The identifier for a campaign."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "nullable": true,
            "description": "The identifier for a broadcast."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "nullable": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "Explains why a message failed, if applicable."
          },
          "parent_action_id": {
            "type": "integer",
            "example": 1,
            "readOnly": true,
            "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
          },
          "trigger_event_id": {
            "type": "string",
            "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
            "nullable": true,
            "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
          },
          "message_template_id": {
            "type": "integer",
            "readOnly": true,
            "deprecated": true,
            "description": "The identifier of the message template used to create a message."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        },
        "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
      },
      "description": "Each object in the array describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
    }
  }
}
object NewslettersGetLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      }
    }
  }
}
object NewslettersGetMessageMetadataResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
          "type": "email",
          "created": 1619137767,
          "metrics": {
            "sent": 1619137768,
            "delivered": 1619137768
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 215,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": 23,
          "customer_id": null,
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
          "failure_message": null,
          "msg_template_id": 43,
          "parent_action_id": null,
          "trigger_event_id": null
        },
        "properties": {
          "id": {
            "type": "string",
            "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
            "readOnly": true,
            "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "description": "The timestamp when the message was `sent`."
              },
              "failed": {
                "type": "integer",
                "description": "The timestamp when the message `failed`."
              },
              "opened": {
                "type": "integer",
                "description": "The timestamp when the message was `opened`."
              },
              "bounced": {
                "type": "integer",
                "description": "The timestamp when the message `bounced`."
              },
              "clicked": {
                "type": "integer",
                "description": "The timestamp when the message was `clicked`."
              },
              "created": {
                "type": "integer",
                "description": "The timestamp when the message was `created`."
              },
              "drafted": {
                "type": "integer",
                "description": "The timestamp when the message was `drafted`."
              },
              "dropped": {
                "type": "integer",
                "description": "The timestamp when the message was `dropped`."
              },
              "spammed": {
                "type": "integer",
                "description": "The timestamp when the message was marked as spam."
              },
              "converted": {
                "type": "integer",
                "description": "The timestamp when the message was `converted`."
              },
              "delivered": {
                "type": "integer",
                "description": "The timestamp when the message was `delivered`."
              },
              "unsubscribed": {
                "type": "integer",
                "description": "The timestamp when a person unsubscribed based on this message."
              },
              "undeliverable": {
                "type": "integer",
                "description": "The timestamp when the message became `undeliverable`."
              }
            },
            "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "action_id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true message contents are not retained by Customer.io."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "content_id": {
            "type": "integer",
            "example": 1,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for a newsletter variant."
          },
          "campaign_id": {
            "type": "integer",
            "example": 5,
            "nullable": true,
            "description": "The identifier for a campaign."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "nullable": true,
            "description": "The identifier for a broadcast."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "nullable": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "Explains why a message failed, if applicable."
          },
          "parent_action_id": {
            "type": "integer",
            "example": 1,
            "readOnly": true,
            "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
          },
          "trigger_event_id": {
            "type": "string",
            "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
            "nullable": true,
            "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
          },
          "message_template_id": {
            "type": "integer",
            "readOnly": true,
            "deprecated": true,
            "description": "The identifier of the message template used to create a message."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        },
        "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
      },
      "example": [
        {
          "id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=X",
          "type": "email",
          "created": 1609957805,
          "metrics": {
            "sent": 1609957832,
            "delivered": 1609957872
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": null,
          "forgotten": false,
          "recipient": "person@email.com",
          "content_id": 178,
          "campaign_id": null,
          "customer_id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7d",
          "broadcast_id": null,
          "newsletter_id": 72,
          "deduplicate_id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=:1609957872",
          "failure_message": null,
          "msg_template_id": 178
        }
      ]
    }
  }
}
object NewslettersGetMetadataResponse
{
  "type": "object",
  "properties": {
    "newsletter": {
      "type": "object",
      "example": {
        "id": 128275,
        "name": "Example Newsletter",
        "tags": [
          "Example Tag"
        ],
        "type": "email",
        "created": 1481653929,
        "sent_at": null,
        "updated": 1484870424,
        "content_ids": [
          45,
          90
        ],
        "deduplicate_id": "128275:1484870424",
        "recipient_segment_ids": [
          10
        ],
        "subscription_topic_id": 1
      },
      "properties": {
        "id": {
          "type": "integer",
          "example": 10,
          "description": "The identifier for a newsletter."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "The name of the newsletter."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of tags you set on this newsletter."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push",
            "in_app"
          ],
          "type": "string",
          "description": "The type of newsletter—`email`, `twilio`, etc."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "sent_at": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The last time the newsletter was sent."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "content_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "A list of languages in a multi-language newsletter and/or A/B test variants for this message. [Look up a newsletter variant](https://customer.io/docs/api/app/) to get more information about an individual content ID."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "recipient_segment_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "A list of segments used in a newsletter's recipient filter, returned if newsletter recipients were filtered by one or more segments."
        },
        "subscription_topic_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of a subscription topic. Remember, subscription topics are assigned an incrementing number, starting at 1."
        }
      }
    }
  }
}
object NewslettersGetMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object NewslettersGetNewsletterVariantLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      },
      "description": "Each object in the array represents a link in your newsletter variant."
    }
  }
}
object NewslettersGetTranslationInfoResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object NewslettersGetTranslationResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object NewslettersGetVariantInfoResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object NewslettersGetVariantMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "2xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "2xx responses by period, representative of webhook performance."
                },
                "3xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "3xx responses by period, representative of webhook performance."
                },
                "4xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "4xx responses by period, representative of webhook performance."
                },
                "5xx": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "5xx responses by period, representative of webhook performance."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            },
            {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of sent messages."
                },
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `failed` messages."
                },
                "opened": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `opened` messages."
                },
                "bounced": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `bounced` messages."
                },
                "clicked": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `clicked` messages."
                },
                "created": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `created` messages."
                },
                "drafted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `drafted` messages."
                },
                "spammed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of spam complaints."
                },
                "deferred": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `deferred` messages."
                },
                "attempted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `attempted` messages."
                },
                "converted": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `converted` messages."
                },
                "delivered": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `delivered` messages."
                },
                "suppressed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `suppressed` messages."
                },
                "unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of unsubscribes attributed to the campaign or message."
                },
                "undeliverable": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of `undeliverable` messages."
                },
                "topic_unsubscribed": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The number of topic unsubscribes in a given period."
                }
              },
              "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
            }
          ]
        }
      }
    }
  }
}
object NewslettersListNewslettersResponse
{
  "type": "object",
  "properties": {
    "newsletters": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": 128275,
          "name": "Example Newsletter",
          "tags": [
            "Example Tag"
          ],
          "type": "email",
          "created": 1481653929,
          "sent_at": null,
          "updated": 1484870424,
          "content_ids": [
            45,
            90
          ],
          "deduplicate_id": "128275:1484870424",
          "recipient_segment_ids": [
            10
          ],
          "subscription_topic_id": 1
        },
        "properties": {
          "id": {
            "type": "integer",
            "example": 10,
            "description": "The identifier for a newsletter."
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "The name of the newsletter."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array of tags you set on this newsletter."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push",
              "in_app"
            ],
            "type": "string",
            "description": "The type of newsletter—`email`, `twilio`, etc."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "sent_at": {
            "type": "integer",
            "format": "unix timestamp",
            "description": "The last time the newsletter was sent."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "content_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "A list of languages in a multi-language newsletter and/or A/B test variants for this message. [Look up a newsletter variant](https://customer.io/docs/api/app/) to get more information about an individual content ID."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "recipient_segment_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "A list of segments used in a newsletter's recipient filter, returned if newsletter recipients were filtered by one or more segments."
          },
          "subscription_topic_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of a subscription topic. Remember, subscription topics are assigned an incrementing number, starting at 1."
          }
        }
      }
    }
  }
}
object NewslettersListTestGroupsResponse
{
  "type": "object",
  "example": {
    "test_groups": [
      {
        "id": 0,
        "name": "A",
        "label": "test 1",
        "winner": false,
        "content_ids": [
          25,
          26
        ]
      },
      {
        "id": 2,
        "name": "B",
        "label": "test 2",
        "winner": false,
        "content_ids": [
          27,
          28
        ]
      }
    ]
  },
  "properties": {
    "test_groups": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The ID of the A/B test group."
          },
          "name": {
            "type": "string",
            "description": "The name of the A/B test group."
          },
          "label": {
            "type": "string",
            "description": "The name of the variant."
          },
          "winner": {
            "type": "boolean",
            "description": "Whether this variant is the winner of the test."
          },
          "content_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of content_ids for each variant in the test group."
          }
        }
      },
      "description": "Each object represents one of the test groups."
    }
  }
}
object NewslettersListVariantsResponse
{
  "type": "object",
  "properties": {
    "contents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
          },
          "bcc": {
            "type": "string",
            "readOnly": true,
            "description": "The blind-copy address(es) for this action."
          },
          "body": {
            "type": "string",
            "example": "<strong>Hello from the API</strong>",
            "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
          },
          "from": {
            "type": "string",
            "example": "sentFrom@example.com",
            "readOnly": true,
            "description": "The address that the message is from, relevant if the action `type` is `email`."
          },
          "name": {
            "type": "string",
            "example": "newsletter variant A",
            "readOnly": true,
            "description": "The name of the variant, if it exists."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "layout": {
            "type": "string",
            "example": "<html><body>{{ content }}</body></html>",
            "readOnly": true,
            "description": "The layout used for the variant, if it exists."
          },
          "from_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "X-Mailgun-Tag",
                  "description": "name of header"
                },
                "value": {
                  "type": "string",
                  "example": "tag-name-for-tracking",
                  "description": "value of header"
                }
              }
            },
            "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "body_amp": {
            "type": "string",
            "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
          },
          "fake_bcc": {
            "type": "boolean",
            "readOnly": true,
            "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
          },
          "language": {
            "type": "string",
            "example": "fr",
            "readOnly": true,
            "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
          },
          "reply_to": {
            "type": "string",
            "example": "replyto@example.com",
            "readOnly": true,
            "description": "The address that receives replies for the message, if applicable."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "reply_to_id": {
            "type": "integer",
            "example": 38,
            "nullable": true,
            "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "preprocessor": {
            "enum": [
              "premailer"
            ],
            "type": "string",
            "readOnly": true,
            "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "readOnly": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "preheader_text": {
            "type": "string",
            "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
          }
        }
      }
    }
  }
}
object NewslettersUpdateTranslation200Response
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object NewslettersUpdateTranslationRequest
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "example": "<strong>Hello from the API</strong>",
      "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "newsletter variant A",
      "readOnly": true,
      "description": "The name of the variant, if it exists."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push"
      ],
      "type": "string",
      "example": "email",
      "readOnly": true,
      "description": "The type of message/action."
    },
    "layout": {
      "type": "string",
      "example": "<html><body>{{ content }}</body></html>",
      "readOnly": true,
      "description": "The layout used for the variant, if it exists."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "newsletter_id": {
      "type": "integer",
      "example": 10,
      "readOnly": true,
      "description": "The identifier for a newsletter."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object NewslettersUpdateTranslationRequest1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "example": "<strong>Hello from the API</strong>",
      "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "newsletter variant A",
      "readOnly": true,
      "description": "The name of the variant, if it exists."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push"
      ],
      "type": "string",
      "example": "email",
      "readOnly": true,
      "description": "The type of message/action."
    },
    "layout": {
      "type": "string",
      "example": "<html><body>{{ content }}</body></html>",
      "readOnly": true,
      "description": "The layout used for the variant, if it exists."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "newsletter_id": {
      "type": "integer",
      "example": 10,
      "readOnly": true,
      "description": "The identifier for a newsletter."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object NewslettersUpdateTranslationResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object NewslettersUpdateVariantContentsRequest
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "example": "<strong>Hello from the API</strong>",
      "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "newsletter variant A",
      "readOnly": true,
      "description": "The name of the variant, if it exists."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push"
      ],
      "type": "string",
      "example": "email",
      "readOnly": true,
      "description": "The type of message/action."
    },
    "layout": {
      "type": "string",
      "example": "<html><body>{{ content }}</body></html>",
      "readOnly": true,
      "description": "The layout used for the variant, if it exists."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "newsletter_id": {
      "type": "integer",
      "example": 10,
      "readOnly": true,
      "description": "The identifier for a newsletter."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object NewslettersUpdateVariantContentsResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "example": "<strong>Hello from the API</strong>",
          "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "newsletter variant A",
          "readOnly": true,
          "description": "The name of the variant, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "webhook",
            "twilio",
            "slack",
            "push"
          ],
          "type": "string",
          "example": "email",
          "readOnly": true,
          "description": "The type of message/action."
        },
        "layout": {
          "type": "string",
          "example": "<html><body>{{ content }}</body></html>",
          "readOnly": true,
          "description": "The layout used for the variant, if it exists."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "readOnly": true,
          "description": "The identifier for a newsletter."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    }
  }
}
object ObjectsFindObjectsFilterRequest
{
  "type": "object",
  "required": [
    "object_type_id",
    "filter"
  ],
  "properties": {
    "filter": {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "title": "object attribute",
                              "example": {
                                "field": "cancelled",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "location",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your objects by their attributes."
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "title": "object attribute",
                              "example": {
                                "field": "cancelled",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "location",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your objects by their attributes."
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "object attribute",
                        "properties": {
                          "object_attribute": {
                            "type": "object",
                            "title": "object attribute",
                            "example": {
                              "field": "cancelled",
                              "value": true,
                              "type_id": 1,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator",
                              "type_id"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "location",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "type_id": {
                                "type": "string",
                                "example": "1",
                                "nullable": false,
                                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your objects by their attributes."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "object_attribute": {
                    "type": "object",
                    "title": "object attribute",
                    "example": {
                      "field": "cancelled",
                      "value": true,
                      "type_id": 1,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator",
                      "type_id"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "location",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your objects by their attributes."
                  }
                }
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "title": "object attribute",
                              "example": {
                                "field": "cancelled",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "location",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your objects by their attributes."
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "title": "object attribute",
                              "example": {
                                "field": "cancelled",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "location",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your objects by their attributes."
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "object attribute",
                        "properties": {
                          "object_attribute": {
                            "type": "object",
                            "title": "object attribute",
                            "example": {
                              "field": "cancelled",
                              "value": true,
                              "type_id": 1,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator",
                              "type_id"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "location",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "type_id": {
                                "type": "string",
                                "example": "1",
                                "nullable": false,
                                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your objects by their attributes."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "object_attribute": {
                    "type": "object",
                    "title": "object attribute",
                    "example": {
                      "field": "cancelled",
                      "value": true,
                      "type_id": 1,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator",
                      "type_id"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "location",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your objects by their attributes."
                  }
                }
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "not",
          "properties": {
            "not": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "and": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "object_attribute": {
                    "type": "object",
                    "title": "object attribute",
                    "example": {
                      "field": "cancelled",
                      "value": true,
                      "type_id": 1,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator",
                      "type_id"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "location",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your objects by their attributes."
                  }
                }
              },
              "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
            }
          },
          "description": null
        },
        {
          "type": "object",
          "title": "object attribute",
          "properties": {
            "object_attribute": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "type_id": 1,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator",
                "type_id"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            }
          },
          "description": "A simple filter to find objects matching an attribute condition."
        }
      ],
      "title": "Object Filter",
      "description": "When filtering for objects, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `object_attribute` represents the individual conditions you can filter a group of people for.\n\nThe top level of this object can only contain a single property, but you can nest `and` and `or` properties to produce complex filters.\n"
    },
    "object_type_id": {
      "type": "string",
      "example": "1",
      "description": "The type of object you want to search in. Object type IDs are integers passed as strings."
    }
  }
}
object ObjectsFindObjectsFilterResponse
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "acmeInc"
      ],
      "description": "A list of object IDs matching the object_type_id and filter in the request. Items are the same as the `object_id` values under `identifiers`, but this array may be easier to search/sort through if you have a large number of objects and don't need to to use the `cio_object_id`."
    },
    "next": {
      "$ref": "#/components/schemas/next"
    },
    "identifiers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "object_id": {
            "type": "string",
            "example": "acmeInc",
            "description": "The ID of the object, assigned by you or your systems."
          },
          "cio_object_id": {
            "type": "string",
            "example": "ob020101",
            "description": "The canonical, immutable identifier for the object, assigned by Customer.io."
          }
        }
      }
    }
  }
}
object ObjectsGetAllObjectTypesResponse
{
  "type": "object",
  "properties": {
    "types": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "1X",
          "icon": "calendar",
          "name": "Concerts",
          "slug": "concerts",
          "enabled": true,
          "singular_name": "Concert",
          "singular_slug": "concert"
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "The `object_type_id` that you'll use with the Journeys Track API to create or modify objects. Object type IDs are integers passed as strings."
          },
          "icon": {
            "type": "string",
            "description": "The name of the icon or emoji that represents the object type in the Customer.io UI. Most commonly, you'll see this in the left-side navigation panel in Journeys."
          },
          "name": {
            "type": "string",
            "description": "The name of the object type."
          },
          "slug": {
            "type": "string",
            "description": "The slug of the page in the Customer.io UI for the object type."
          },
          "enabled": {
            "type": "boolean",
            "description": "If true, the object type is enabled."
          },
          "singular_name": {
            "type": "string",
            "description": "The singular name of the object type."
          },
          "singular_slug": {
            "type": "string",
            "description": "The singular slug of the page in the Customer.io UI for the object type."
          }
        }
      }
    }
  }
}
object ObjectsGetAttributesResponse
{
  "type": "object",
  "properties": {
    "object": {
      "type": "object",
      "properties": {
        "attributes": {
          "type": "object",
          "description": "Attributes assigned to this object.",
          "additionalProperties": {
            "x-additionalPropertiesName": "Object Attributes"
          }
        },
        "timestamps": {
          "type": "object",
          "description": "The epoch timestamps when corresponding attributes were set on the object.",
          "additionalProperties": {
            "type": "integer",
            "format": "unix timestamp",
            "x-additionalPropertiesName": "Object Attribute Timestamps"
          }
        },
        "identifiers": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_object_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          },
          "description": "Identifies an object."
        },
        "object_type_id": {
          "type": "string",
          "example": "1",
          "nullable": false,
          "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
        }
      },
      "description": "The object specified in the endpoint path"
    }
  }
}
object ObjectsGetObjectRelationshipsResponse
{
  "type": "object",
  "properties": {
    "next": {
      "$ref": "#/components/schemas/next"
    },
    "cio_relationships": {
      "type": "array",
      "items": {
        "identifiers": {
          "type": "object",
          "properties": {
            "id": {
              "$ref": "#/components/schemas/customer_id"
            },
            "email": {
              "$ref": "#/components/schemas/email_address"
            },
            "cio_id": {
              "$ref": "#/components/schemas/cio_id"
            }
          },
          "description": "Identifies an individual person."
        },
        "object_type_id": {
          "$ref": "#/components/schemas/object_type_id"
        },
        "object_type_disabled": {
          "type": "boolean",
          "description": "If true, the object is disabled."
        }
      },
      "example": [
        {
          "identifiers": {
            "id": "acmeInc",
            "cio_id": "ob020101"
          },
          "object_type_id": "1",
          "object_type_disabled": false
        }
      ],
      "description": "A list of people related to the object specified in the endpoint path."
    }
  }
}
object ReportingWebhooksCreateWebhookConfigRequest
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object ReportingWebhooksCreateWebhookConfigResponse
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object ReportingWebhooksGetWebhookInfoResponse
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object ReportingWebhooksListReportingWebhooksResponse
{
  "type": "object",
  "properties": {
    "reporting_webhooks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "endpoint",
          "events"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "example": 4,
            "readOnly": true,
            "description": "The identifier for the webhook."
          },
          "name": {
            "type": "string",
            "example": "my cool webhook",
            "description": "The name of your webhook."
          },
          "events": {
            "type": "array",
            "items": {
              "enum": [
                "customer_subscribed",
                "customer_unsubscribed",
                "cio_subscription_preferences_changed",
                "email_drafted",
                "email_attempted",
                "email_sent",
                "email_delivered",
                "email_opened",
                "email_clicked",
                "email_converted",
                "email_bounced",
                "email_dropped",
                "email_deferred",
                "email_spammed",
                "email_failed",
                "email_unsubscribed",
                "email_undeliverable",
                "push_drafted",
                "push_attempted",
                "push_sent",
                "push_delivered",
                "push_opened",
                "push_clicked",
                "push_converted",
                "push_bounced",
                "push_dropped",
                "push_failed",
                "push_undeliverable",
                "slack_drafted",
                "slack_attempted",
                "slack_sent",
                "slack_clicked",
                "slack_converted",
                "slack_failed",
                "sms_drafted",
                "sms_attempted",
                "sms_sent",
                "sms_delivered",
                "sms_clicked",
                "sms_converted",
                "sms_bounced",
                "sms_failed",
                "sms_undeliverable",
                "webhook_drafted",
                "webhook_attempted",
                "webhook_sent",
                "webhook_clicked",
                "webhook_converted",
                "webhook_failed",
                "webhook_undeliverable"
              ],
              "type": "string"
            },
            "example": [
              "email_failed",
              "webhook_failed"
            ],
            "minItems": 1,
            "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
          },
          "disabled": {
            "type": "boolean",
            "example": false,
            "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
          },
          "endpoint": {
            "type": "string",
            "format": "url",
            "example": "http://example.com/webhook",
            "description": "The webhook URL."
          },
          "with_content": {
            "type": "boolean",
            "example": false,
            "description": "Set to `true` to include the message `body` in `_sent` events."
          },
          "full_resolution": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
          }
        }
      }
    }
  }
}
object ReportingWebhooksUpdateConfigurationRequest
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object ReportingWebhooksUpdateConfigurationResponse
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object SegmentsCreateManualSegmentRequest
{
  "type": "object",
  "required": [
    "segment"
  ],
  "properties": {
    "segment": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "example": "Manual Segment 1",
          "description": "The name of the segment."
        },
        "description": {
          "type": "string",
          "example": "My first manual segment",
          "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
        }
      }
    }
  }
}
object SegmentsCreateManualSegmentResponse
{
  "type": "object",
  "properties": {
    "segment": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 7,
          "description": "The identifier for a segment."
        },
        "name": {
          "type": "string",
          "example": "Manual Segment 1",
          "description": "The name of the segment."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": null,
          "nullable": true,
          "description": "The tags assigned to the segment, if any. Tags may help you sort through your segments."
        },
        "type": {
          "enum": [
            "dynamic",
            "manual"
          ],
          "type": "string",
          "example": "manual",
          "description": "The type of segment."
        },
        "state": {
          "enum": [
            "finished"
          ],
          "type": "string",
          "description": "The state of the segment. \n"
        },
        "progress": {
          "type": "integer",
          "example": null,
          "nullable": true,
          "description": "If Customer.io has not finished processing the segment, this indicates the percentage complete. Otherwise, this key is null."
        },
        "description": {
          "type": "string",
          "example": "My first manual segment",
          "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      }
    }
  }
}
object SegmentsGetCustomerCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "description": "The total number of customers in the segment."
    }
  }
}
object SegmentsGetDependenciesResponse
{
  "type": "object",
  "properties": {
    "used_by": {
      "type": "object",
      "properties": {
        "campaigns": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The campaigns that use this segment."
        },
        "sent_newsletters": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The newsletters that you've sent that uses this segment."
        },
        "draft_newsletters": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The newsletters that are still in a draft state that reference this segment."
        }
      }
    }
  }
}
object SegmentsGetSegmentInfoResponse
{
  "type": "object",
  "properties": {
    "segment": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 7,
          "description": "The identifier for a segment."
        },
        "name": {
          "type": "string",
          "example": "Manual Segment 1",
          "description": "The name of the segment."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": null,
          "nullable": true,
          "description": "The tags assigned to the segment, if any. Tags may help you sort through your segments."
        },
        "type": {
          "enum": [
            "dynamic",
            "manual"
          ],
          "type": "string",
          "example": "manual",
          "description": "The type of segment."
        },
        "state": {
          "enum": [
            "finished"
          ],
          "type": "string",
          "description": "The state of the segment. \n"
        },
        "progress": {
          "type": "integer",
          "example": null,
          "nullable": true,
          "description": "If Customer.io has not finished processing the segment, this indicates the percentage complete. Otherwise, this key is null."
        },
        "description": {
          "type": "string",
          "example": "My first manual segment",
          "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      }
    }
  }
}
object SegmentsListMembershipResponse
{
  "oneOf": [
    {
      "type": "object",
      "title": "email or id",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The customers that belong to this segment."
        },
        "next": {
          "type": "string",
          "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
        },
        "identifiers": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          },
          "description": "The customers that belong to this segment."
        }
      }
    },
    {
      "type": "object",
      "title": "id only",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The customers that belong to this segment."
        },
        "next": {
          "type": "string",
          "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
        },
        "identifiers": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "description": "A person's unique ID. This matches a value in `ids`."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains `id` and `cio_id` identifiers for a person in a workspace that doesn't use email as an identifier.\n"
          },
          "description": "The customers that belong to this segment."
        }
      }
    }
  ]
}
object SegmentsListResponse
{
  "type": "object",
  "properties": {
    "segments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 7,
            "description": "The identifier for a segment."
          },
          "name": {
            "type": "string",
            "example": "Manual Segment 1",
            "description": "The name of the segment."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": null,
            "nullable": true,
            "description": "The tags assigned to the segment, if any. Tags may help you sort through your segments."
          },
          "type": {
            "enum": [
              "dynamic",
              "manual"
            ],
            "type": "string",
            "example": "manual",
            "description": "The type of segment."
          },
          "state": {
            "enum": [
              "finished"
            ],
            "type": "string",
            "description": "The state of the segment. \n"
          },
          "progress": {
            "type": "integer",
            "example": null,
            "nullable": true,
            "description": "If Customer.io has not finished processing the segment, this indicates the percentage complete. Otherwise, this key is null."
          },
          "description": {
            "type": "string",
            "example": "My first manual segment",
            "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          }
        }
      }
    }
  }
}
object SendMessagesTransactionalEmail400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Describes the error that caused your request to fail."
        }
      },
      "description": "Contains errors."
    }
  }
}
object SendMessagesTransactionalEmailRequest
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "transactional_message_id"
          ],
          "properties": {
            "transactional_message_id": {
              "oneOf": [
                {
                  "type": "integer",
                  "title": "ID (integer)",
                  "example": 44,
                  "description": "The ID of the transactional message you want to send."
                },
                {
                  "type": "string",
                  "title": "Trigger Name (string)",
                  "example": "pwdreset",
                  "description": "The name of trigger for the transactional message you want to send; you set the trigger name in the *Configure Settings* step when setting up your message. This is case insensitive."
                }
              ],
              "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned the template (case insensitive)."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "body": {
              "type": "string",
              "description": "The HTML body of your message. This overrides the body of the transactional template (referenced by `transactional_message_id`). If you send an AMP-enabled email (with `body_amp`), and the recipient's email client doesn't support AMP, this is the fallback email."
            },
            "from": {
              "type": "string",
              "example": "support@example.com",
              "description": "The address that your email is from. This address must be verified by Customer.io. This overrides the from address set within the transactional template (referenced by `transactional_message_id`). You can include a display/friendly name in your from address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`."
            },
            "subject": {
              "type": "string",
              "description": "The subject line for your message. This overrides the subject of the transactional template (referenced by `transactional_message_id`)."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "language": {
              "type": "string",
              "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](https://customer.io/docs/api/app/)."
            },
            "body_plain": {
              "type": "string",
              "description": "The plaintext body of your message. This overrides the body of your transactional template (referenced by `transactional_message_id`)."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "to",
            "identifiers"
          ],
          "properties": {
            "send_at": {
              "type": "integer",
              "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": 12345,
                      "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "cool.person@example.com",
                      "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": 3000001,
                      "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                    }
                  }
                }
              ],
              "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
            },
            "queue_draft": {
              "type": "boolean",
              "default": false,
              "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
            },
            "message_data": {
              "type": "object",
              "example": {
                "account_id": "123dj",
                "password_reset_token": "abcde-12345-fghij-d888"
              },
              "description": "An object containing the key-value pairs referenced using liquid in your message.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Liquid Data"
              }
            },
            "send_to_unsubscribed": {
              "type": "boolean",
              "default": true,
              "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            },
            "disable_message_retention": {
              "type": "boolean",
              "default": false,
              "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "example": "cool.person@example.com",
              "description": "The message recipient(s). Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys.\n\nYou can include a display or \"friendly\" name in \"to\" address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`.            \n"
            },
            "bcc": {
              "type": "string",
              "example": "bcc@example.com",
              "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "tracked": {
              "type": "boolean",
              "default": true,
              "description": "If true, Customer.io tracks opens and link clicks in your message."
            },
            "fake_bcc": {
              "type": "boolean",
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that recipients can reply to, if different from the `from` address."
            },
            "preheader": {
              "type": "string",
              "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
            },
            "body_plain": {
              "type": "string",
              "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
            },
            "attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "format": "base64",
                  "x-doNotRender": true,
                  "x-additionalPropertiesName": "Attachment Names"
                }
              },
              "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
            },
            "disable_css_preprocessing": {
              "type": "boolean",
              "default": false,
              "example": false,
              "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
            }
          }
        }
      ],
      "title": "With template",
      "example": {
        "to": "cool.person@example.com",
        "bcc": "bcc@example.com",
        "from": "override-templated-address@example.com",
        "subject": "Did you really login from a new location?",
        "tracked": true,
        "identifiers": {
          "email": "cool.person@example.com"
        },
        "queue_draft": false,
        "message_data": {
          "account_id": "123dj",
          "password_reset_token": "abcde-12345-fghij-d888"
        },
        "send_to_unsubscribed": true,
        "transactional_message_id": 44,
        "disable_css_preprocessing": true,
        "disable_message_retention": false
      },
      "description": "Send a transactional message using a template that you set up in Customer.io."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "body",
            "subject",
            "from"
          ],
          "properties": {
            "body": {
              "type": "string",
              "example": "Your temporary password is {{message_data.password_reset_token}}",
              "description": "The body of your message."
            },
            "from": {
              "type": "string",
              "example": "support@example.com",
              "description": "The address that your email is from. This address must be verified by Customer.io. You can include a display/friendly name in your from address in the format `Person <person@example.com>`."
            },
            "subject": {
              "type": "string",
              "example": "Reset your password!",
              "description": "The subject line for your message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "to",
            "identifiers"
          ],
          "properties": {
            "send_at": {
              "type": "integer",
              "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": 12345,
                      "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "cool.person@example.com",
                      "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": 3000001,
                      "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                    }
                  }
                }
              ],
              "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
            },
            "queue_draft": {
              "type": "boolean",
              "default": false,
              "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
            },
            "message_data": {
              "type": "object",
              "example": {
                "account_id": "123dj",
                "password_reset_token": "abcde-12345-fghij-d888"
              },
              "description": "An object containing the key-value pairs referenced using liquid in your message.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Liquid Data"
              }
            },
            "send_to_unsubscribed": {
              "type": "boolean",
              "default": true,
              "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            },
            "disable_message_retention": {
              "type": "boolean",
              "default": false,
              "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "example": "cool.person@example.com",
              "description": "The message recipient(s). Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys.\n\nYou can include a display or \"friendly\" name in \"to\" address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`.            \n"
            },
            "bcc": {
              "type": "string",
              "example": "bcc@example.com",
              "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "tracked": {
              "type": "boolean",
              "default": true,
              "description": "If true, Customer.io tracks opens and link clicks in your message."
            },
            "fake_bcc": {
              "type": "boolean",
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that recipients can reply to, if different from the `from` address."
            },
            "preheader": {
              "type": "string",
              "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
            },
            "body_plain": {
              "type": "string",
              "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
            },
            "attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "format": "base64",
                  "x-doNotRender": true,
                  "x-additionalPropertiesName": "Attachment Names"
                }
              },
              "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
            },
            "disable_css_preprocessing": {
              "type": "boolean",
              "default": false,
              "example": false,
              "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
            }
          }
        }
      ],
      "title": "Without template",
      "example": {
        "to": "cool.person@example.com",
        "bcc": "bcc@example.com",
        "body": "Your temporary password is {{message_data.password_reset_token}}",
        "from": "Support <support@example.com>",
        "subject": "Your password reset request!",
        "tracked": true,
        "identifiers": {
          "id": 12345
        },
        "queue_draft": false,
        "message_data": {
          "account_id": "123dj",
          "password_reset_token": "abcde-12345-fghij-d888"
        },
        "send_to_unsubscribed": true,
        "disable_css_preprocessing": true,
        "disable_message_retention": false
      },
      "description": "Create your own message from scratch."
    }
  ],
  "description": "The payload of a transactional message."
}
object SendMessagesTransactionalEmailResponse
{
  "type": "object",
  "properties": {
    "queued_at": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The date-time when the message is sent."
    },
    "delivery_id": {
      "type": "string",
      "description": "A unique identifier for the message."
    }
  }
}
object SendMessagesTransactionalPush400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Describes the error that caused your request to fail."
        }
      },
      "description": "Contains errors."
    }
  }
}
object SendMessagesTransactionalPushRequest
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "transactional_message_id"
      ],
      "properties": {
        "transactional_message_id": {
          "oneOf": [
            {
              "type": "integer",
              "title": "ID (integer)",
              "example": 44,
              "description": "The ID of the transactional message you want to send."
            },
            {
              "type": "string",
              "title": "Trigger Name (string)",
              "example": "pwdreset",
              "description": "The name of trigger for the transactional message you want to send; you set the trigger name in the *Configure Settings* step when setting up your message. This is case insensitive."
            }
          ],
          "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned the template (case insensitive)."
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "to": {
          "enum": [
            "all",
            "last_used",
            "$device_token"
          ],
          "type": "string",
          "default": "all",
          "description": "The person's device(s) you want to send this push to. One of `all`, `last_used`, or a custom device token which belongs to the profile from the Identifiers block. Defaults to 'all'. This overrides To from the transactional template (referenced by `transactional_message_id`)."
        },
        "link": {
          "type": "string",
          "description": "A deep link to open when the push is tapped. This overrides Link from the transactional template (referenced by `transactional_message_id`)."
        },
        "sound": {
          "enum": [
            "default",
            "none"
          ],
          "type": "string",
          "default": "default",
          "description": "**For iOS Only**: your notification can alert users with the device's default notification sound or play no sound at all. \n"
        },
        "title": {
          "type": "string",
          "description": "The title for your notification. This overrides the title of the transactional template (referenced by `transactional_message_id`)."
        },
        "message": {
          "type": "string",
          "description": "The message body for your notification. This overrides the notification body of the transactional template (referenced by `transactional_message_id`)."
        },
        "language": {
          "type": "string",
          "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](https://customer.io/docs/api/app/)."
        },
        "image_url": {
          "type": "string",
          "description": "An image URL to show in the push. This overrides Image from the transactional template (referenced by `transactional_message_id`)."
        },
        "custom_data": {
          "type": "object",
          "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides Custom Data from the transactional template (referenced by `transactional_message_id`)."
        },
        "custom_device": {
          "allOf": [
            {
              "type": "object",
              "required": [
                "token"
              ],
              "properties": {
                "token": {
                  "type": "string",
                  "description": "The device token."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "platform"
              ],
              "properties": {
                "platform": {
                  "enum": [
                    "ios",
                    "android"
                  ],
                  "type": "string",
                  "description": "The device/messaging platform."
                },
                "last_used": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                },
                "attributes": {
                  "type": "object",
                  "properties": {
                    "device_os": {
                      "type": "string",
                      "description": "The operating system, including the version, on the device."
                    },
                    "app_version": {
                      "type": "string",
                      "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                    },
                    "_last_status": {
                      "enum": [
                        "",
                        "bounced",
                        "sent",
                        "suppressed"
                      ],
                      "type": "string",
                      "readOnly": true,
                      "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                    },
                    "device_model": {
                      "type": "string",
                      "description": "The model of the device a person uses."
                    },
                    "push_enabled": {
                      "enum": [
                        "true",
                        "false"
                      ],
                      "type": "string",
                      "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                    },
                    "device_locale": {
                      "type": "string",
                      "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                    },
                    "cio_sdk_version": {
                      "type": "string",
                      "description": "The version of the Customer.io SDK in the app."
                    }
                  },
                  "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                  "additionalProperties": {
                    "type": "string",
                    "description": "Custom properties that you want to associate with the device.",
                    "x-additionalPropertiesName": "Custom Device Attributes"
                  }
                }
              },
              "description": "Device information common to the v1 and v2 APIs."
            }
          ],
          "description": "A device to perform an upsert operation at the time of send. The device will be added/updated on the profile from the Identifiers block."
        },
        "custom_payload": {
          "type": "object",
          "properties": {
            "ios": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "FCM",
                  "required": [
                    "message"
                  ],
                  "properties": {
                    "message": {
                      "type": "object",
                      "required": [
                        "apns"
                      ],
                      "properties": {
                        "apns": {
                          "type": "object",
                          "required": [
                            "payload"
                          ],
                          "properties": {
                            "headers": {
                              "type": "object",
                              "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
                            },
                            "payload": {
                              "type": "object",
                              "properties": {
                                "CIO": {
                                  "type": "object",
                                  "required": [
                                    "push"
                                  ],
                                  "properties": {
                                    "push": {
                                      "type": "object",
                                      "properties": {
                                        "body": {
                                          "type": "string",
                                          "description": "The body of your push notification."
                                        },
                                        "link": {
                                          "type": "string",
                                          "description": "A deep link (to a page in your app), or a link to a web page."
                                        },
                                        "image": {
                                          "type": "string",
                                          "description": "The URL of an HTTPS image that you want to use for your message."
                                        },
                                        "title": {
                                          "type": "string",
                                          "description": "The title of your push notification."
                                        }
                                      },
                                      "description": "A push payload for the iOS SDK."
                                    }
                                  },
                                  "description": "Contains properties interpreted by the Customer.io iOS SDK."
                                },
                                "aps": {
                                  "type": "object",
                                  "properties": {
                                    "alert": {
                                      "oneOf": [
                                        {
                                          "type": "string",
                                          "title": "Simple alert",
                                          "description": "A simple alert message."
                                        },
                                        {
                                          "type": "object",
                                          "title": "Complex alert",
                                          "properties": {
                                            "body": {
                                              "type": "string",
                                              "description": "The body of your push notification."
                                            },
                                            "title": {
                                              "type": "string",
                                              "description": "The title of your push notification."
                                            },
                                            "loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized message string in your app’s Localizable.strings file."
                                            },
                                            "loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                            },
                                            "subtitle": {
                                              "type": "string",
                                              "description": "Additional information that explains the purpose of the notification."
                                            },
                                            "launch-image": {
                                              "type": "string",
                                              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                            },
                                            "title-loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized title string in your app’s Localizable.strings files."
                                            },
                                            "title-loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                            },
                                            "subtitle-loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                            },
                                            "subtitle-loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    "badge": {
                                      "type": "integer",
                                      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                                    },
                                    "sound": {
                                      "oneOf": [
                                        {
                                          "type": "string",
                                          "title": "Regular alert",
                                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                                        },
                                        {
                                          "type": "object",
                                          "title": "Critical alert",
                                          "properties": {
                                            "name": {
                                              "type": "string",
                                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                            },
                                            "volume": {
                                              "type": "number",
                                              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                            },
                                            "critical": {
                                              "type": "integer",
                                              "description": "1 indicates critical. 0 is not critical."
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    "category": {
                                      "type": "string",
                                      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                                    },
                                    "thread-id": {
                                      "type": "string",
                                      "description": "An identifier to group related notifications."
                                    },
                                    "mutable-content": {
                                      "type": "integer",
                                      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                                    },
                                    "relevance-score": {
                                      "type": "number",
                                      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                                    },
                                    "content-available": {
                                      "type": "integer",
                                      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                                    },
                                    "target-content-id": {
                                      "type": "string",
                                      "description": "The identifier of the window brought forward."
                                    },
                                    "interruption-level": {
                                      "enum": [
                                        "passive",
                                        "active",
                                        "time-sensitive",
                                        "critical"
                                      ],
                                      "type": "string",
                                      "description": "Indicates the importance and delivery timing of a notification."
                                    }
                                  },
                                  "description": "A push payload intended for an iOS device."
                                }
                              },
                              "description": "Contains a push payload.",
                              "additionalProperties": {
                                "description": "Additional properties that you've set up your app to interpret outside of the Customer.io SDK.",
                                "x-additionalPropertiesName": "Custom key-value pairs"
                              }
                            }
                          },
                          "description": "Defines a payload for iOS devices sent through Firebase Cloud Messaging (FCM)."
                        }
                      },
                      "description": "The base object for all FCM payloads."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "APNS",
                  "properties": {
                    "CIO": {
                      "type": "object",
                      "required": [
                        "push"
                      ],
                      "properties": {
                        "push": {
                          "type": "object",
                          "properties": {
                            "link": {
                              "type": "string",
                              "description": "A deep link (to a page in your app), or a link to a web page."
                            },
                            "image": {
                              "type": "string",
                              "description": "The URL of an HTTPS image that you want to use for your message."
                            }
                          },
                          "description": "Describes push notification options supported by the CIO SDK."
                        }
                      },
                      "description": "Contains options supported by the Customer.io SDK."
                    },
                    "aps": {
                      "type": "object",
                      "properties": {
                        "alert": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Simple alert",
                              "description": "A simple alert message."
                            },
                            {
                              "type": "object",
                              "title": "Complex alert",
                              "properties": {
                                "body": {
                                  "type": "string",
                                  "description": "The body of your push notification."
                                },
                                "title": {
                                  "type": "string",
                                  "description": "The title of your push notification."
                                },
                                "loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized message string in your app’s Localizable.strings file."
                                },
                                "loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                },
                                "subtitle": {
                                  "type": "string",
                                  "description": "Additional information that explains the purpose of the notification."
                                },
                                "launch-image": {
                                  "type": "string",
                                  "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                },
                                "title-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized title string in your app’s Localizable.strings files."
                                },
                                "title-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                },
                                "subtitle-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                },
                                "subtitle-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                }
                              }
                            }
                          ]
                        },
                        "badge": {
                          "type": "integer",
                          "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                        },
                        "sound": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Regular alert",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                            },
                            {
                              "type": "object",
                              "title": "Critical alert",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                },
                                "volume": {
                                  "type": "number",
                                  "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                },
                                "critical": {
                                  "type": "integer",
                                  "description": "1 indicates critical. 0 is not critical."
                                }
                              }
                            }
                          ]
                        },
                        "category": {
                          "type": "string",
                          "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                        },
                        "thread-id": {
                          "type": "string",
                          "description": "An identifier to group related notifications."
                        },
                        "mutable-content": {
                          "type": "integer",
                          "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                        },
                        "relevance-score": {
                          "type": "number",
                          "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                        },
                        "content-available": {
                          "type": "integer",
                          "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                        },
                        "target-content-id": {
                          "type": "string",
                          "description": "The identifier of the window brought forward."
                        },
                        "interruption-level": {
                          "enum": [
                            "passive",
                            "active",
                            "time-sensitive",
                            "critical"
                          ],
                          "type": "string",
                          "description": "Indicates the importance and delivery timing of a notification."
                        }
                      },
                      "description": "A push payload intended for an iOS device."
                    }
                  }
                }
              ],
              "description": "Your payload changes depending on whether you send to iOS devices through Google's Firebase Cloud Messaging (FCM) or Apple's Push Notification service (APNs)."
            },
            "android": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Contains key-value pairs that your app interprets.",
                      "additionalProperties": {
                        "type": "string",
                        "x-doNotRender": true,
                        "x-additionalPropertiesName": "Attachment Names"
                      }
                    },
                    "android": {
                      "type": "object",
                      "properties": {
                        "notification": {
                          "type": "object",
                          "properties": {
                            "tag": {
                              "type": "string",
                              "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                            },
                            "icon": {
                              "type": "string",
                              "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                            },
                            "color": {
                              "type": "string",
                              "description": "The notification's icon color in `#rrggbb` format."
                            },
                            "sound": {
                              "type": "string",
                              "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                            },
                            "body_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "body_loc_key": {
                              "type": "string",
                              "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            },
                            "click_action": {
                              "type": "string",
                              "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                            },
                            "title_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "title_loc_key": {
                              "type": "string",
                              "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            }
                          },
                          "description": "Properties supported specifically by Android on FCM."
                        }
                      },
                      "description": "Contains custom push options for your notification."
                    },
                    "notification": {
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string",
                          "description": "The body of your push notification."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of your push notification."
                        }
                      },
                      "description": "Contains the push body and title."
                    }
                  },
                  "description": "The parent object for Android custom push payloads."
                }
              },
              "description": "A custom push payload for Android devices."
            }
          },
          "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides every other parameter, including any Custom Payload from the transactional template (referenced by `transactional_message_id`)."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "to",
        "identifiers"
      ],
      "properties": {
        "send_at": {
          "type": "integer",
          "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": 12345,
                  "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "cool.person@example.com",
                  "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": 3000001,
                  "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                }
              }
            }
          ],
          "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
        },
        "queue_draft": {
          "type": "boolean",
          "default": false,
          "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
        },
        "message_data": {
          "type": "object",
          "example": {
            "account_id": "123dj",
            "password_reset_token": "abcde-12345-fghij-d888"
          },
          "description": "An object containing the key-value pairs referenced using liquid in your message.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "Liquid Data"
          }
        },
        "send_to_unsubscribed": {
          "type": "boolean",
          "default": true,
          "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
        },
        "disable_message_retention": {
          "type": "boolean",
          "default": false,
          "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
        }
      }
    }
  ],
  "example": {
    "title": "Did you really login from a new location?",
    "identifiers": {
      "id": 12345
    },
    "message_data": {
      "account_id": "123dj",
      "password_reset_token": "abcde-12345-fghij-d888"
    },
    "transactional_message_id": 44
  },
  "description": "The payload of a transactional push message."
}
object SendMessagesTransactionalPushResponse
{
  "type": "object",
  "properties": {
    "queued_at": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The date-time when the message is sent."
    },
    "delivery_id": {
      "type": "string",
      "description": "A unique identifier for the message."
    }
  }
}
object SendMessagesTriggerBroadcast422Response
{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "example": "Errors were found while processing per user data (ids, emails or json data). More detail available from the errors endpoint for trigger 12\"",
            "description": "Describes the error and provides the trigger ID you can use to look up more information."
          },
          "source": {
            "type": "object",
            "properties": {
              "pointer": {
                "type": "string",
                "example": "/data/attributes/per_user_data",
                "description": "Points to the key in your payload that contained validation errors."
              }
            }
          },
          "status": {
            "enum": [
              "422"
            ],
            "type": "string",
            "example": "422",
            "description": "The error code."
          }
        }
      },
      "description": "Contains one or more validation errors found in your request payload."
    }
  }
}
object SendMessagesTriggerBroadcastRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Default audience",
      "properties": {
        "data": {
          "type": "object",
          "example": {
            "date": 1511315635,
            "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
            "headline": "Roadrunner spotted in Albuquerque!"
          },
          "description": "Contains information you want to use to populate your broadcast.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "Broadcast liquid data"
          }
        },
        "id_ignore_missing": {
          "type": "boolean",
          "default": false,
          "description": "If false, a missing customer ID is an error."
        },
        "email_add_duplicates": {
          "type": "boolean",
          "default": false,
          "description": "an email address associated with more than one profile id is an error."
        },
        "email_ignore_missing": {
          "type": "boolean",
          "default": false,
          "description": "If false a missing email address is an error."
        }
      },
      "description": "Send your broadcast to the default set of recipients defined in the UI."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "recipients"
          ],
          "properties": {
            "recipients": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "and",
                  "properties": {
                    "and": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Returns results matching *any* conditions."
                          },
                          "not": {
                            "oneOf": [
                              {
                                "type": "object",
                                "title": "and",
                                "properties": {
                                  "and": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *all* conditions to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "or",
                                "properties": {
                                  "or": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *any* condition to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "segment": {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "example": 4,
                                        "description": "The ID of the segment you want to return people from."
                                      }
                                    },
                                    "description": "Provide the `id` of a segment containing people you want to search for."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "attribute",
                                "properties": {
                                  "attribute": {
                                    "type": "object",
                                    "title": "attribute",
                                    "example": {
                                      "field": "unsubscribed",
                                      "value": true,
                                      "operator": "eq"
                                    },
                                    "required": [
                                      "field",
                                      "operator"
                                    ],
                                    "properties": {
                                      "field": {
                                        "type": "string",
                                        "example": "first_name",
                                        "description": "The name of the attribute you want to filter against."
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                      },
                                      "operator": {
                                        "enum": [
                                          "eq",
                                          "exists"
                                        ],
                                        "type": "string",
                                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                      }
                                    },
                                    "description": "Filter your audience by attribute."
                                  }
                                }
                              }
                            ],
                            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                          },
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          },
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      },
                      "description": "Match *all* conditions to return results."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "or",
                  "properties": {
                    "or": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Returns results matching *all* conditions."
                          },
                          "not": {
                            "oneOf": [
                              {
                                "type": "object",
                                "title": "and",
                                "properties": {
                                  "and": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *all* conditions to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "or",
                                "properties": {
                                  "or": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *any* condition to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "segment": {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "example": 4,
                                        "description": "The ID of the segment you want to return people from."
                                      }
                                    },
                                    "description": "Provide the `id` of a segment containing people you want to search for."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "attribute",
                                "properties": {
                                  "attribute": {
                                    "type": "object",
                                    "title": "attribute",
                                    "example": {
                                      "field": "unsubscribed",
                                      "value": true,
                                      "operator": "eq"
                                    },
                                    "required": [
                                      "field",
                                      "operator"
                                    ],
                                    "properties": {
                                      "field": {
                                        "type": "string",
                                        "example": "first_name",
                                        "description": "The name of the attribute you want to filter against."
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                      },
                                      "operator": {
                                        "enum": [
                                          "eq",
                                          "exists"
                                        ],
                                        "type": "string",
                                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                      }
                                    },
                                    "description": "Filter your audience by attribute."
                                  }
                                }
                              }
                            ],
                            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                          },
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          },
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      },
                      "description": "Match *any* condition to return results."
                    }
                  }
                },
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "and",
                      "properties": {
                        "and": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "title": "People Filter",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *any* conditions."
                              },
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *all* conditions."
                              },
                              "not": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "title": "and",
                                    "properties": {
                                      "and": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *all* conditions to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "or",
                                    "properties": {
                                      "or": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *any* condition to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "segment": {
                                        "type": "object",
                                        "title": "segment",
                                        "properties": {
                                          "id": {
                                            "type": "integer",
                                            "example": 4,
                                            "description": "The ID of the segment you want to return people from."
                                          }
                                        },
                                        "description": "Provide the `id` of a segment containing people you want to search for."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "attribute",
                                    "properties": {
                                      "attribute": {
                                        "type": "object",
                                        "title": "attribute",
                                        "example": {
                                          "field": "unsubscribed",
                                          "value": true,
                                          "operator": "eq"
                                        },
                                        "required": [
                                          "field",
                                          "operator"
                                        ],
                                        "properties": {
                                          "field": {
                                            "type": "string",
                                            "example": "first_name",
                                            "description": "The name of the attribute you want to filter against."
                                          },
                                          "value": {
                                            "type": "string",
                                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                          },
                                          "operator": {
                                            "enum": [
                                              "eq",
                                              "exists"
                                            ],
                                            "type": "string",
                                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                          }
                                        },
                                        "description": "Filter your audience by attribute."
                                      }
                                    }
                                  }
                                ],
                                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                              },
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              },
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            },
                            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                          },
                          "description": "Match *all* conditions to return results."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "or",
                      "properties": {
                        "or": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "title": "People Filter",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *any* conditions."
                              },
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *all* conditions."
                              },
                              "not": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "title": "and",
                                    "properties": {
                                      "and": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *all* conditions to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "or",
                                    "properties": {
                                      "or": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *any* condition to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "segment": {
                                        "type": "object",
                                        "title": "segment",
                                        "properties": {
                                          "id": {
                                            "type": "integer",
                                            "example": 4,
                                            "description": "The ID of the segment you want to return people from."
                                          }
                                        },
                                        "description": "Provide the `id` of a segment containing people you want to search for."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "attribute",
                                    "properties": {
                                      "attribute": {
                                        "type": "object",
                                        "title": "attribute",
                                        "example": {
                                          "field": "unsubscribed",
                                          "value": true,
                                          "operator": "eq"
                                        },
                                        "required": [
                                          "field",
                                          "operator"
                                        ],
                                        "properties": {
                                          "field": {
                                            "type": "string",
                                            "example": "first_name",
                                            "description": "The name of the attribute you want to filter against."
                                          },
                                          "value": {
                                            "type": "string",
                                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                          },
                                          "operator": {
                                            "enum": [
                                              "eq",
                                              "exists"
                                            ],
                                            "type": "string",
                                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                          }
                                        },
                                        "description": "Filter your audience by attribute."
                                      }
                                    }
                                  }
                                ],
                                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                              },
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              },
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            },
                            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                          },
                          "description": "Match *any* condition to return results."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "attribute",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      }
                    }
                  ],
                  "title": "not",
                  "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                },
                {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "segment": {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 4,
                          "description": "The ID of the segment you want to return people from."
                        }
                      },
                      "description": "Provide the `id` of a segment containing people you want to search for."
                    }
                  },
                  "description": "Filter for people who belong to a segment."
                },
                {
                  "type": "object",
                  "title": "audience",
                  "properties": {
                    "attribute": {
                      "type": "object",
                      "title": "attribute",
                      "example": {
                        "field": "unsubscribed",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "first_name",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your audience by attribute."
                    }
                  },
                  "description": "filter for people who have an attribute or an attribute value."
                }
              ],
              "title": "Audience Filter",
              "description": "A filter defining the group of people that you want send the broadcast to."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Custom recipients",
      "example": {
        "data": {
          "date": 1511315635,
          "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
          "headline": "Roadrunner spotted in Albuquerque!"
        },
        "recipients": {
          "and": [
            {
              "segment": {
                "id": 3
              }
            },
            {
              "or": [
                {
                  "attribute": {
                    "field": "interest",
                    "value": "roadrunners",
                    "operator": "eq"
                  }
                },
                {
                  "attribute": {
                    "field": "state",
                    "value": "NM",
                    "operator": "eq"
                  }
                },
                {
                  "not": {
                    "attribute": {
                      "field": "species",
                      "value": "roadrunners",
                      "operator": "eq"
                    }
                  }
                }
              ]
            }
          ]
        }
      },
      "description": "Send your broadcast to a group of people defined by a set of filters."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "emails"
          ],
          "properties": {
            "emails": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "email"
              },
              "example": [
                "recipient1@example.com",
                "anotherRecipient@example.com"
              ],
              "description": "An array of email addresses you want to send the broadcast to. These addresses must already exist; your request cannot create a new person."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Emails",
      "description": "An array of emails you want to send the broadcast to. These addresses must already exist; your request cannot create a new person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "ids"
          ],
          "properties": {
            "ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "id1",
                "id4"
              ],
              "maxItems": 10000,
              "description": "An array of IDs you want to send a broadcast to. **NOTE**: If your workspace identifies people by `email`, don't use this option. Identify your audience by `emails` instead.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "IDs",
      "description": "An array of customer ids that you want to send the broadcast to. These IDs must already exist; your request cannot create a new person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "per_user_data"
          ],
          "properties": {
            "per_user_data": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "ids",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": 1,
                        "description": "The ID of the recipient."
                      },
                      "data": {
                        "type": "object",
                        "example": {
                          "lastName": "Mann",
                          "purchase": "shoes",
                          "firstName": "Hugh"
                        },
                        "description": "Merge data associated with the recipient.",
                        "additionalProperties": {
                          "description": "Insert key-values that you want to reference in your message here.",
                          "x-additionalPropertiesName": "Liquid merge data"
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "emails",
                    "required": [
                      "email"
                    ],
                    "properties": {
                      "data": {
                        "type": "object",
                        "example": {
                          "lastName": "Mann",
                          "purchase": "shoes",
                          "firstName": "Hugh"
                        },
                        "description": "Merge data associated with the recipient.",
                        "additionalProperties": {
                          "description": "Insert key-values that you want to reference in your message here.",
                          "x-additionalPropertiesName": "Liquid merge data"
                        }
                      },
                      "email": {
                        "type": "string",
                        "example": "recipient1@example.com",
                        "description": "The email address of the recipient. This address must be unique in your workspace. If more than one person has the same `email` attribute, your request will produce an error."
                      }
                    }
                  }
                ]
              },
              "example": [
                {
                  "id": "wiley_coyoteX",
                  "data": {
                    "voucher_code": "FESwYm"
                  }
                },
                {
                  "data": {
                    "voucher_code": "cYm6XJ"
                  },
                  "email": "road@runner.net"
                }
              ],
              "maxItems": 10000,
              "description": "An array of people you want to send a broadcast to and custom data for each person. Each object in the array represents a person, with additional data you want to use to personalize their message. **When you trigger a broadcast, the people in your request must already exist in your workspace.** Requests to trigger a broadcast cannot create new people. \n\n**Remove line-breaks from `per_user_data`**. We've added line breaks in examples to make the code easy to read, but you must remove line breaks (collapsing/uglifying your payload) to prevent errors.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "User Maps",
      "description": "An array of JSON objects containing `id` or `email` keys and a `data` key. Each object represents a person you want to send the broadcast to and data you want to personalize their message with using liquid."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "data_file_url"
          ],
          "properties": {
            "data_file_url": {
              "type": "string",
              "format": "url",
              "example": "https://myFile.example.com",
              "description": "The URL of a data file containing per-user data. Each line is a single object representing a person: either a json map of `id` and `data` or `email` and `data` keys. For example, `{\"email\":\"road@runner.net\",\"data\":{\"voucher_code\": \"coyote\"}}`.\n\nThe IDs or emails in your data file must already exist in your workspace. Your broadcast cannot add new people to your workspace and won't send messages for IDs or email addresses that don't match a person in your workspace.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Data file URL",
      "description": "The URL of a data file containing per-user data, each line containing a json map with either `id` and `data` or `email` and `data` keys. **When you trigger a broadcast, the people represented by `id` and `email` must already exist in your workspace.** Requests to trigger a broadcast cannot create new people.\n"
    }
  ]
}
object SendMessagesTriggerBroadcastResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 3,
      "description": "The `trigger_id` for this operation. You can use this ID to get the status of your broadcast or [check for errors](https://customer.io/docs/api/app/)."
    }
  }
}
object SenderIdentitiesGetSenderInfoResponse
{
  "type": "object",
  "properties": {
    "sender_identity": {
      "type": "object",
      "example": {
        "id": 4534,
        "name": "Cher Ami",
        "email": "test@example.com",
        "address": "Cher Ami <test@example.com>",
        "template_type": "email",
        "auto_generated": false,
        "deduplicate_id": "4534:1478035647"
      },
      "properties": {
        "id": {
          "type": "integer",
          "description": "The identifier of a sender."
        },
        "name": {
          "type": "string",
          "description": "The name of the sender."
        },
        "email": {
          "type": "string",
          "description": "The email address of the sender."
        },
        "address": {
          "type": "string",
          "description": "The sender name and email address in the format `name <name@example.com>`."
        },
        "template_type": {
          "enum": [
            "email",
            "phone"
          ],
          "type": "string",
          "description": "The type of sender."
        },
        "auto_generated": {
          "type": "boolean",
          "description": "If true, the sender is automatically generated by Customer.io."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      },
      "description": "Information about a sender."
    }
  }
}
object SenderIdentitiesGetUsageDataResponse
{
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The campaigns that use the sender."
    },
    "sent_newsletters": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The newsletters you've sent that used the sender."
    },
    "draft_newsletters": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The newsletter drafts that are set up using the sender."
    }
  }
}
object SenderIdentitiesListResponse
{
  "type": "object",
  "properties": {
    "sender_identities": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": 4534,
          "name": "Cher Ami",
          "email": "test@example.com",
          "address": "Cher Ami <test@example.com>",
          "template_type": "email",
          "auto_generated": false,
          "deduplicate_id": "4534:1478035647"
        },
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier of a sender."
          },
          "name": {
            "type": "string",
            "description": "The name of the sender."
          },
          "email": {
            "type": "string",
            "description": "The email address of the sender."
          },
          "address": {
            "type": "string",
            "description": "The sender name and email address in the format `name <name@example.com>`."
          },
          "template_type": {
            "enum": [
              "email",
              "phone"
            ],
            "type": "string",
            "description": "The type of sender."
          },
          "auto_generated": {
            "type": "boolean",
            "description": "If true, the sender is automatically generated by Customer.io."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          }
        },
        "description": "Information about a sender."
      }
    }
  }
}
object SnippetsCreateOrUpdateRequest
{
  "type": "object",
  "example": {
    "name": "address",
    "value": "<strong>My Company</strong></br>1234 Fake St<br/>Fake,NY<br/>10111",
    "updated_at": 1582500000
  },
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the snippet, must be unique."
    },
    "value": {
      "type": "string",
      "description": "The contents of the snippet."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "readOnly": true,
      "description": "The last date-time the snippet was updated."
    }
  },
  "description": "describes a piece of reusable content. You must provide a name for the snippet and the `value`—the content that appears in messages that use the snippet."
}
object SnippetsCreateOrUpdateResponse
{
  "type": "object",
  "properties": {
    "snippet": {
      "type": "object",
      "example": {
        "name": "address",
        "value": "<strong>My Company</strong></br>1234 Fake St<br/>Fake,NY<br/>10111",
        "updated_at": 1582500000
      },
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the snippet, must be unique."
        },
        "value": {
          "type": "string",
          "description": "The contents of the snippet."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "readOnly": true,
          "description": "The last date-time the snippet was updated."
        }
      },
      "description": "describes a piece of reusable content. You must provide a name for the snippet and the `value`—the content that appears in messages that use the snippet."
    }
  }
}
object SnippetsListResponse
{
  "type": "object",
  "properties": {
    "snippets": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "name": "address",
          "value": "<strong>My Company</strong></br>1234 Fake St<br/>Fake,NY<br/>10111",
          "updated_at": 1582500000
        },
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the snippet, must be unique."
          },
          "value": {
            "type": "string",
            "description": "The contents of the snippet."
          },
          "updated_at": {
            "type": "integer",
            "format": "unix timestamp",
            "readOnly": true,
            "description": "The last date-time the snippet was updated."
          }
        },
        "description": "describes a piece of reusable content. You must provide a name for the snippet and the `value`—the content that appears in messages that use the snippet."
      }
    }
  }
}
object SnippetsRemoveSnippetResponse
{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "example": "unable to delete snippet in use",
            "description": "Describes the error."
          },
          "status": {
            "type": "string",
            "example": "400",
            "description": "The HTTP status code."
          }
        }
      },
      "description": "Contains an array of error objects."
    }
  }
}
object SubscriptionCenterListTopicsResponse
{
  "type": "object",
  "properties": {
    "topics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 4,
            "description": "The system-generated id for the subscription topic. Also located on the subscription center landing page. These increment up by 1, starting with 1."
          },
          "name": {
            "type": "string",
            "example": "Product Updates",
            "description": "The name of the subscription topic."
          },
          "identifier": {
            "type": "string",
            "example": "topic_4",
            "description": "The key associated with the subscription topic. The format is `topic_<id>`."
          },
          "description": {
            "type": "string",
            "example": "For people who want updates on product releases.",
            "description": "A description of the topic that you provided when you created the topic in the UI."
          },
          "subscribed_by_default": {
            "type": "boolean",
            "example": false,
            "description": "If false, a person is opted-out by default. If true, a person is opted-in by default."
          }
        }
      }
    }
  }
}
object TransactionalGetMessageDeliveriesResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=X",
          "type": "email",
          "created": 1619137767,
          "metrics": {
            "sent": 1619137768,
            "delivered": 1619137768
          },
          "subject": "Did you get that thing I sent you?",
          "action_id": 215,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": 23,
          "customer_id": null,
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
          "failure_message": null,
          "msg_template_id": 43,
          "parent_action_id": null,
          "trigger_event_id": null
        },
        "properties": {
          "id": {
            "type": "string",
            "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
            "readOnly": true,
            "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "twilio",
              "slack",
              "push"
            ],
            "type": "string",
            "example": "email",
            "readOnly": true,
            "description": "The type of message/action."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "sent": {
                "type": "integer",
                "description": "The timestamp when the message was `sent`."
              },
              "failed": {
                "type": "integer",
                "description": "The timestamp when the message `failed`."
              },
              "opened": {
                "type": "integer",
                "description": "The timestamp when the message was `opened`."
              },
              "bounced": {
                "type": "integer",
                "description": "The timestamp when the message `bounced`."
              },
              "clicked": {
                "type": "integer",
                "description": "The timestamp when the message was `clicked`."
              },
              "created": {
                "type": "integer",
                "description": "The timestamp when the message was `created`."
              },
              "drafted": {
                "type": "integer",
                "description": "The timestamp when the message was `drafted`."
              },
              "dropped": {
                "type": "integer",
                "description": "The timestamp when the message was `dropped`."
              },
              "spammed": {
                "type": "integer",
                "description": "The timestamp when the message was marked as spam."
              },
              "converted": {
                "type": "integer",
                "description": "The timestamp when the message was `converted`."
              },
              "delivered": {
                "type": "integer",
                "description": "The timestamp when the message was `delivered`."
              },
              "unsubscribed": {
                "type": "integer",
                "description": "The timestamp when a person unsubscribed based on this message."
              },
              "undeliverable": {
                "type": "integer",
                "description": "The timestamp when the message became `undeliverable`."
              }
            },
            "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "action_id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "forgotten": {
            "type": "boolean",
            "description": "If true message contents are not retained by Customer.io."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "description": "The recipient address for an action."
          },
          "content_id": {
            "type": "integer",
            "example": 1,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for a newsletter variant."
          },
          "campaign_id": {
            "type": "integer",
            "example": 5,
            "nullable": true,
            "description": "The identifier for a campaign."
          },
          "customer_id": {
            "type": "string",
            "example": "42",
            "nullable": true,
            "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
          },
          "broadcast_id": {
            "type": "integer",
            "example": 2,
            "nullable": true,
            "description": "The identifier for a broadcast."
          },
          "newsletter_id": {
            "type": "integer",
            "example": 10,
            "nullable": true,
            "description": "The identifier for a newsletter."
          },
          "deduplicate_id": {
            "type": "string",
            "example": "15:1492548073",
            "readOnly": true,
            "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
          },
          "failure_message": {
            "type": "string",
            "nullable": true,
            "description": "Explains why a message failed, if applicable."
          },
          "parent_action_id": {
            "type": "integer",
            "example": 1,
            "readOnly": true,
            "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
          },
          "trigger_event_id": {
            "type": "string",
            "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
            "nullable": true,
            "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
          },
          "message_template_id": {
            "type": "integer",
            "readOnly": true,
            "deprecated": true,
            "description": "The identifier of the message template used to create a message."
          },
          "customer_identifiers": {
            "type": "object",
            "required": [
              "email",
              "id",
              "cio_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": 2,
                "nullable": true,
                "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
              },
              "email": {
                "type": "string",
                "format": "email",
                "example": "test@example.com",
                "nullable": true,
                "description": "A person's email address, if set."
              },
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            },
            "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
          }
        },
        "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
      },
      "example": [
        {
          "id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=X",
          "type": "email|push",
          "created": 1609957805,
          "metrics": {
            "sent": 1609957832,
            "delivered": 1609957872
          },
          "subject": "Reset your password",
          "action_id": null,
          "forgotten": false,
          "recipient": "person@example.com",
          "content_id": null,
          "campaign_id": null,
          "customer_id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7d",
          "identifiers": {
            "id": "1a55d8d1-b13d-4f1f-858f-a93ef21e3a7dX",
            "email": "person@example.com",
            "cio_id": 786433
          },
          "broadcast_id": null,
          "newsletter_id": null,
          "deduplicate_id": "dgOq6QWq6QUDAAF22PaOyFVqVxHY3rI5fsg=:1609957872",
          "failure_message": null,
          "msg_template_id": 589
        }
      ]
    }
  }
}
object TransactionalGetMessageInfoResponse
{
  "type": "object",
  "properties": {
    "message": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2,
          "description": "The identifier Customer.io assigned to the transactional message"
        },
        "name": {
          "type": "string",
          "example": "password reset",
          "description": "The name you set for the transactional message."
        },
        "created_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "updated_at": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "description": {
          "type": "string",
          "example": "sends a temporary password and lets the customer reset their password.",
          "description": "A description of the transactional message."
        },
        "queue_drafts": {
          "type": "boolean",
          "description": "If true, messages do not send automatically, and queue as drafts instead. You must send drafts through the *Deliveries & Drafts* page in the user interface."
        },
        "link_tracking": {
          "type": "boolean",
          "description": "If true, link tracking is enabled for this message."
        },
        "open_tracking": {
          "type": "boolean",
          "description": "If true, open-tracking is enabled for this message."
        },
        "hide_message_body": {
          "type": "boolean",
          "description": "If true, message contents are not retained in delivery history—you cannot recall the exact contents of the message."
        },
        "send_to_unsubscribed": {
          "type": "boolean",
          "description": "If true, people with an `unsubscribed` attribute set to `true` can trigger the message."
        }
      },
      "description": "Contains information about a transactional message."
    }
  }
}
object TransactionalGetMessageLinkMetricsResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "link": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "example": 1234,
                "description": "The ID of the link."
              },
              "href": {
                "type": "string",
                "example": "https://customer.io/docs",
                "description": "The link destination—a URL, mailto, etc."
              }
            }
          },
          "metric": {
            "type": "object",
            "properties": {
              "series": {
                "type": "object",
                "properties": {
                  "clicked": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "example": [
                      1,
                      3,
                      5,
                      7
                    ],
                    "description": "An array of results from oldest to newest, where each result indicates a period."
                  }
                }
              }
            },
            "description": "Contains metrics for the link."
          }
        }
      }
    }
  }
}
object TransactionalGetMessageMetricsResponse
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "type": "object",
          "properties": {
            "sent": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of sent messages."
            },
            "failed": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `failed` messages."
            },
            "opened": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `opened` messages."
            },
            "bounced": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `bounced` messages."
            },
            "clicked": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `clicked` messages."
            },
            "created": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `created` messages."
            },
            "drafted": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `drafted` messages."
            },
            "spammed": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of spam complaints."
            },
            "deferred": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `deferred` messages."
            },
            "attempted": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `attempted` messages."
            },
            "converted": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `converted` messages."
            },
            "delivered": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `delivered` messages."
            },
            "suppressed": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `suppressed` messages."
            },
            "unsubscribed": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of unsubscribes attributed to the campaign or message."
            },
            "undeliverable": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of `undeliverable` messages."
            },
            "topic_unsubscribed": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "The number of topic unsubscribes in a given period."
            }
          },
          "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
        }
      }
    }
  }
}
object TransactionalGetMessageTranslationResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "bcc": {
            "type": "string",
            "readOnly": true,
            "description": "The blind-copy address(es) for this action."
          },
          "body": {
            "type": "string",
            "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
          },
          "from": {
            "type": "string",
            "example": "sentFrom@example.com",
            "readOnly": true,
            "description": "The address that the message is from, relevant if the action `type` is `email`."
          },
          "name": {
            "type": "string",
            "example": "Receipt",
            "readOnly": true,
            "description": "The name of the transactional message."
          },
          "type": {
            "enum": [
              "email",
              "push"
            ],
            "type": "string",
            "readOnly": true,
            "description": "The type of message."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "from_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "X-Mailgun-Tag",
                  "description": "name of header"
                },
                "value": {
                  "type": "string",
                  "example": "tag-name-for-tracking",
                  "description": "value of header"
                }
              }
            },
            "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "body_amp": {
            "type": "string",
            "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
          },
          "fake_bcc": {
            "type": "boolean",
            "readOnly": true,
            "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
          },
          "language": {
            "type": "string",
            "example": "fr",
            "readOnly": true,
            "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
          },
          "reply_to": {
            "type": "string",
            "example": "replyto@example.com",
            "readOnly": true,
            "description": "The address that receives replies for the message, if applicable."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "readOnly": true,
            "description": "The recipient address for an action."
          },
          "reply_to_id": {
            "type": "integer",
            "example": 38,
            "nullable": true,
            "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "preprocessor": {
            "enum": [
              "premailer"
            ],
            "type": "string",
            "readOnly": true,
            "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
          },
          "preheader_text": {
            "type": "string",
            "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
          }
        }
      },
      "description": "The object represents a variant."
    }
  }
}
object TransactionalListContentVariants400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Describes the error that caused your request to fail."
        }
      },
      "description": "Contains errors."
    }
  }
}
object TransactionalListContentVariantsResponse
{
  "type": "object",
  "properties": {
    "contents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "bcc": {
            "type": "string",
            "readOnly": true,
            "description": "The blind-copy address(es) for this action."
          },
          "body": {
            "type": "string",
            "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
          },
          "from": {
            "type": "string",
            "example": "sentFrom@example.com",
            "readOnly": true,
            "description": "The address that the message is from, relevant if the action `type` is `email`."
          },
          "name": {
            "type": "string",
            "example": "Receipt",
            "readOnly": true,
            "description": "The name of the transactional message."
          },
          "type": {
            "enum": [
              "email",
              "push"
            ],
            "type": "string",
            "readOnly": true,
            "description": "The type of message."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "from_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "X-Mailgun-Tag",
                  "description": "name of header"
                },
                "value": {
                  "type": "string",
                  "example": "tag-name-for-tracking",
                  "description": "value of header"
                }
              }
            },
            "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "body_amp": {
            "type": "string",
            "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
          },
          "fake_bcc": {
            "type": "boolean",
            "readOnly": true,
            "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
          },
          "language": {
            "type": "string",
            "example": "fr",
            "readOnly": true,
            "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
          },
          "reply_to": {
            "type": "string",
            "example": "replyto@example.com",
            "readOnly": true,
            "description": "The address that receives replies for the message, if applicable."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "readOnly": true,
            "description": "The recipient address for an action."
          },
          "reply_to_id": {
            "type": "integer",
            "example": 38,
            "nullable": true,
            "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "preprocessor": {
            "enum": [
              "premailer"
            ],
            "type": "string",
            "readOnly": true,
            "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
          },
          "preheader_text": {
            "type": "string",
            "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
          }
        }
      },
      "description": "Each object represents one of the variants."
    }
  }
}
object TransactionalListMessagesResponse
{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 2,
            "description": "The identifier Customer.io assigned to the transactional message"
          },
          "name": {
            "type": "string",
            "example": "password reset",
            "description": "The name you set for the transactional message."
          },
          "created_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "updated_at": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "description": {
            "type": "string",
            "example": "sends a temporary password and lets the customer reset their password.",
            "description": "A description of the transactional message."
          },
          "queue_drafts": {
            "type": "boolean",
            "description": "If true, messages do not send automatically, and queue as drafts instead. You must send drafts through the *Deliveries & Drafts* page in the user interface."
          },
          "link_tracking": {
            "type": "boolean",
            "description": "If true, link tracking is enabled for this message."
          },
          "open_tracking": {
            "type": "boolean",
            "description": "If true, open-tracking is enabled for this message."
          },
          "hide_message_body": {
            "type": "boolean",
            "description": "If true, message contents are not retained in delivery history—you cannot recall the exact contents of the message."
          },
          "send_to_unsubscribed": {
            "type": "boolean",
            "description": "If true, people with an `unsubscribed` attribute set to `true` can trigger the message."
          }
        },
        "description": "Contains information about a transactional message."
      }
    }
  }
}
object TransactionalUpdateMessageContent400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Describes the error that caused your request to fail."
        }
      },
      "description": "Contains errors."
    }
  }
}
object TransactionalUpdateMessageContentRequest
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 96,
      "nullable": true,
      "readOnly": true,
      "description": "The identifier for an action."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "Receipt",
      "readOnly": true,
      "description": "The name of the transactional message."
    },
    "type": {
      "enum": [
        "email",
        "push"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The type of message."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "readOnly": true,
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object TransactionalUpdateMessageContentResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "bcc": {
            "type": "string",
            "readOnly": true,
            "description": "The blind-copy address(es) for this action."
          },
          "body": {
            "type": "string",
            "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
          },
          "from": {
            "type": "string",
            "example": "sentFrom@example.com",
            "readOnly": true,
            "description": "The address that the message is from, relevant if the action `type` is `email`."
          },
          "name": {
            "type": "string",
            "example": "Receipt",
            "readOnly": true,
            "description": "The name of the transactional message."
          },
          "type": {
            "enum": [
              "email",
              "push"
            ],
            "type": "string",
            "readOnly": true,
            "description": "The type of message."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "from_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "X-Mailgun-Tag",
                  "description": "name of header"
                },
                "value": {
                  "type": "string",
                  "example": "tag-name-for-tracking",
                  "description": "value of header"
                }
              }
            },
            "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "body_amp": {
            "type": "string",
            "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
          },
          "fake_bcc": {
            "type": "boolean",
            "readOnly": true,
            "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
          },
          "language": {
            "type": "string",
            "example": "fr",
            "readOnly": true,
            "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
          },
          "reply_to": {
            "type": "string",
            "example": "replyto@example.com",
            "readOnly": true,
            "description": "The address that receives replies for the message, if applicable."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "readOnly": true,
            "description": "The recipient address for an action."
          },
          "reply_to_id": {
            "type": "integer",
            "example": 38,
            "nullable": true,
            "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "preprocessor": {
            "enum": [
              "premailer"
            ],
            "type": "string",
            "readOnly": true,
            "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
          },
          "preheader_text": {
            "type": "string",
            "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
          }
        }
      },
      "description": "The object includes the transactional message content and metadata."
    }
  }
}
object TransactionalUpdateTranslation400Response
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Describes the error that caused your request to fail."
        }
      },
      "description": "Contains errors."
    }
  }
}
object TransactionalUpdateTranslationRequest
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 96,
      "nullable": true,
      "readOnly": true,
      "description": "The identifier for an action."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "Receipt",
      "readOnly": true,
      "description": "The name of the transactional message."
    },
    "type": {
      "enum": [
        "email",
        "push"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The type of message."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "readOnly": true,
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object TransactionalUpdateTranslationResponse
{
  "type": "object",
  "properties": {
    "content": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 96,
            "nullable": true,
            "readOnly": true,
            "description": "The identifier for an action."
          },
          "bcc": {
            "type": "string",
            "readOnly": true,
            "description": "The blind-copy address(es) for this action."
          },
          "body": {
            "type": "string",
            "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
          },
          "from": {
            "type": "string",
            "example": "sentFrom@example.com",
            "readOnly": true,
            "description": "The address that the message is from, relevant if the action `type` is `email`."
          },
          "name": {
            "type": "string",
            "example": "Receipt",
            "readOnly": true,
            "description": "The name of the transactional message."
          },
          "type": {
            "enum": [
              "email",
              "push"
            ],
            "type": "string",
            "readOnly": true,
            "description": "The type of message."
          },
          "created": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was created."
          },
          "from_id": {
            "type": "integer",
            "example": 1,
            "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "example": "X-Mailgun-Tag",
                  "description": "name of header"
                },
                "value": {
                  "type": "string",
                  "example": "tag-name-for-tracking",
                  "description": "value of header"
                }
              }
            },
            "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
          },
          "subject": {
            "type": "string",
            "example": "Did you get that thing I sent you?",
            "description": "The subject line for an `email` action."
          },
          "updated": {
            "type": "integer",
            "format": "unix timestamp",
            "example": 1552341937,
            "readOnly": true,
            "description": "The date time when the referenced ID was last updated."
          },
          "body_amp": {
            "type": "string",
            "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
          },
          "fake_bcc": {
            "type": "boolean",
            "readOnly": true,
            "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
          },
          "language": {
            "type": "string",
            "example": "fr",
            "readOnly": true,
            "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
          },
          "reply_to": {
            "type": "string",
            "example": "replyto@example.com",
            "readOnly": true,
            "description": "The address that receives replies for the message, if applicable."
          },
          "recipient": {
            "type": "string",
            "example": "{{customer.email}}",
            "readOnly": true,
            "description": "The recipient address for an action."
          },
          "reply_to_id": {
            "type": "integer",
            "example": 38,
            "nullable": true,
            "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
          },
          "preprocessor": {
            "enum": [
              "premailer"
            ],
            "type": "string",
            "readOnly": true,
            "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
          },
          "preheader_text": {
            "type": "string",
            "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
          }
        }
      },
      "description": "Each object represents one of the variants."
    }
  }
}
object WorkspacesListWorkspacesResponse
{
  "type": "object",
  "properties": {
    "workspaces": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 13,
            "description": "The id of the workspace."
          },
          "name": {
            "type": "string",
            "example": "Workspace 1",
            "description": "The name of the workspace."
          },
          "people": {
            "type": "integer",
            "example": 25666,
            "description": "The current count of people profiles in the workspace. Updates roughly every hour."
          },
          "objects": {
            "type": "integer",
            "example": 10,
            "description": "The current count of object profiles in the workspace. Updates roughly every hour."
          },
          "object_types": {
            "type": "integer",
            "example": 4,
            "description": "The current count of object types in the workspace. Updates roughly every hour."
          },
          "messages_sent": {
            "type": "integer",
            "example": 100202,
            "description": "The count of [messages sent](https://customer.io/docs/api/app/) via any channel (email, SMS, in-app, push, slack) in the current billing period."
          },
          "billable_messages_sent": {
            "type": "integer",
            "example": 75124,
            "description": "The count of [emails sent](https://customer.io/docs/api/app/) that are considered for billing in your current billing period. Ultimately, we only bill for the overages on your plan."
          }
        },
        "description": "Contains workspace properties including the count of messages, people, and objects. Customer.io caches these counts, so your data may be up to two hours old."
      }
    }
  }
}
object actionObject
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. For emails, this is the HTML-body of a message. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "readOnly": true,
          "description": "The identifier for a campaign."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "example": "{\"attribute\":\"cool-webhook\"}",
          "description": "The payload for your webhook."
        },
        "name": {
          "type": "string",
          "example": "Set attribute",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "description": "The identifier for a campaign."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    }
  ]
}
object actionWidget
{
  "type": "object",
  "required": [
    "type",
    "component",
    "action"
  ],
  "properties": {
    "type": {
      "enum": [
        "actionWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "action": {
      "type": "string",
      "description": "The link or place you want to send a person. This is either a deep link in your app, a web address, a `mailto` link, or a way to close the message (`gist://close`)."
    },
    "behaviour": {
      "enum": [
        "push",
        "system",
        "back",
        "retain"
      ],
      "type": "string",
      "description": "* `push`: pushes a new route into the navigation stack.\n* `system`: offloads the action onto the operating system. Actions like `mailto:support@bourbon.sh` will open the default email client.\n* `back`: pops the navigation stack one step back.\n* `retain`: retain replaces the current view with a new route.\n"
    },
    "component": {
      "type": "object",
      "description": "The component a person taps to perform the action defined in this widget."
    }
  },
  "description": "An action is either a link or a way to dismiss your message. The `behaviour` property determines how your app treats the action."
}
integer action_id
{
  "type": "integer",
  "example": 96,
  "nullable": true,
  "readOnly": true,
  "description": "The identifier for an action."
}
integer action_id_webhook
{
  "type": "integer",
  "example": 96,
  "readOnly": true,
  "description": "The identifier for an action."
}
object activityObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "01AK4N8V8G8KVA4HN8Y50CCZ59",
      "description": "The identifier for the action."
    },
    "data": {
      "oneOf": [
        {
          "type": "object",
          "title": "Message delivery",
          "example": {
            "opened": null,
            "delivered": null,
            "delivery_id": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ=="
          },
          "properties": {
            "opened": {
              "type": "boolean",
              "nullable": true,
              "description": "Indicates whether or not a customer opened a message, if the message was delivered."
            },
            "delivered": {
              "type": "integer",
              "format": "unix timestamp",
              "nullable": true,
              "description": "The date-time when the message was delivered, if applicable."
            },
            "delivery_id": {
              "type": "string",
              "description": "The message ID."
            }
          }
        },
        {
          "type": "object",
          "title": "Attribute change",
          "example": {
            "email": {
              "to": "newPerson@customer.io",
              "from": "newPerson@example.com"
            }
          },
          "description": "The name of the object is the attribute that changed.",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "to": {
                "type": "string",
                "description": "The new attribute value."
              },
              "from": {
                "type": "string",
                "description": "The old attribute value. If empty, the customer probably didn't bear the attribute before this action."
              }
            },
            "x-additionalPropertyName": "Attribute Name"
          }
        }
      ]
    },
    "type": {
      "enum": [
        "attempted_action",
        "attribute_change",
        "failed_attribute_change",
        "failed_batch_update",
        "skipped_update",
        "failed_query_collection",
        "event",
        "failed_event",
        "page",
        "drafted_email",
        "attempted_email",
        "sent_email",
        "delivered_email",
        "opened_email",
        "clicked_email",
        "converted_email",
        "bounced_email",
        "failed_email",
        "unsubscribed_email",
        "topic_unsubscribed_email",
        "spammed_email",
        "dropped_email",
        "undeliverable_email",
        "drafted_action",
        "delivered_action",
        "bounced_action",
        "sent_action",
        "opened_action",
        "clicked_action",
        "failed_action",
        "converted_action",
        "device_change",
        "deferred_email",
        "unsubscribed_action",
        "dropped_action",
        "undeliverable_action",
        "deferred_action",
        "profile_create",
        "profile_delete",
        "profile_merge",
        "anon_merge",
        "screen",
        "webhook_event",
        "add_relationship",
        "delete_relationship",
        "_o:<object_type_id>:create",
        "_o:<object_type_id>:attribute_change",
        "_o:<object_type_id>:failed_attribute_change",
        "_o:<object_type_id>:delete",
        "_o:<object_type_id>:add_relationship",
        "_o:<object_type_id>:delete_relationship",
        "_r:<object_type_id>:attribute_change",
        "_r:<object_type_id>:failed_attribute_change",
        "failed_object_journeys"
      ],
      "type": "string",
      "example": "sent_email",
      "description": "The type of activity. Types with `_o:<object_type_id>` are for objects and types with `_r:<object_type_id>` are for relationships."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1397566226,
      "description": "The date and time when the action occurred."
    },
    "customer_id": {
      "type": "string",
      "example": "42",
      "nullable": true,
      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
    },
    "delivery_id": {
      "type": "string",
      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
      "description": "The message ID."
    },
    "delivery_type": {
      "enum": [
        "ios",
        "android",
        "email",
        "phone"
      ],
      "type": "string",
      "example": "email",
      "description": "The recipient device, if applicable."
    },
    "customer_identifiers": {
      "type": "object",
      "required": [
        "email",
        "id",
        "cio_id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": 2,
          "nullable": true,
          "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
        },
        "email": {
          "type": "string",
          "format": "email",
          "example": "test@example.com",
          "nullable": true,
          "description": "A person's email address, if set."
        },
        "cio_id": {
          "type": "string",
          "example": "a3000001",
          "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
        }
      },
      "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
    }
  }
}
string activityTypes
{
  "enum": [
    "attempted_action",
    "attribute_change",
    "failed_attribute_change",
    "failed_batch_update",
    "skipped_update",
    "failed_query_collection",
    "event",
    "failed_event",
    "page",
    "drafted_email",
    "attempted_email",
    "sent_email",
    "delivered_email",
    "opened_email",
    "clicked_email",
    "converted_email",
    "bounced_email",
    "failed_email",
    "unsubscribed_email",
    "topic_unsubscribed_email",
    "spammed_email",
    "dropped_email",
    "undeliverable_email",
    "drafted_action",
    "delivered_action",
    "bounced_action",
    "sent_action",
    "opened_action",
    "clicked_action",
    "failed_action",
    "converted_action",
    "device_change",
    "deferred_email",
    "unsubscribed_action",
    "dropped_action",
    "undeliverable_action",
    "deferred_action",
    "profile_create",
    "profile_delete",
    "profile_merge",
    "anon_merge",
    "screen",
    "webhook_event",
    "add_relationship",
    "delete_relationship",
    "_o:<object_type_id>:create",
    "_o:<object_type_id>:attribute_change",
    "_o:<object_type_id>:failed_attribute_change",
    "_o:<object_type_id>:delete",
    "_o:<object_type_id>:add_relationship",
    "_o:<object_type_id>:delete_relationship",
    "_r:<object_type_id>:attribute_change",
    "_r:<object_type_id>:failed_attribute_change",
    "failed_object_journeys"
  ],
  "type": "string",
  "example": "sent_email",
  "description": "The type of activity. Types with `_o:<object_type_id>` are for objects and types with `_r:<object_type_id>` are for relationships."
}
object allAndroidProps
{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "description": "The body of your push notification."
        },
        "title": {
          "type": "string",
          "description": "The title of your push notification."
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "tag": {
          "type": "string",
          "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
        },
        "icon": {
          "type": "string",
          "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
        },
        "color": {
          "type": "string",
          "description": "The notification's icon color in `#rrggbb` format."
        },
        "sound": {
          "type": "string",
          "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
        },
        "body_loc_arg": {
          "type": "string",
          "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
        },
        "body_loc_key": {
          "type": "string",
          "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
        },
        "click_action": {
          "type": "string",
          "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
        },
        "title_loc_arg": {
          "type": "string",
          "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
        },
        "title_loc_key": {
          "type": "string",
          "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
        }
      },
      "description": "Properties supported specifically by Android on FCM."
    }
  ]
}
object andAudienceFilter
{
  "type": "object",
  "title": "and",
  "properties": {
    "and": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "or": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "segment": {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 4,
                          "description": "The ID of the segment you want to return people from."
                        }
                      },
                      "description": "Provide the `id` of a segment containing people you want to search for."
                    }
                  },
                  "description": "Filter for people who belong to a segment."
                },
                {
                  "type": "object",
                  "title": "audience",
                  "properties": {
                    "attribute": {
                      "type": "object",
                      "title": "attribute",
                      "example": {
                        "field": "unsubscribed",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "first_name",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your audience by attribute."
                    }
                  },
                  "description": "filter for people who have an attribute or an attribute value."
                }
              ]
            },
            "description": "Returns results matching *any* conditions."
          },
          "not": {
            "oneOf": [
              {
                "type": "object",
                "title": "and",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Match *all* conditions to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "or",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Match *any* condition to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "segment",
                "properties": {
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  }
                }
              },
              {
                "type": "object",
                "title": "attribute",
                "properties": {
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              }
            ],
            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
          },
          "segment": {
            "type": "object",
            "title": "segment",
            "properties": {
              "id": {
                "type": "integer",
                "example": 4,
                "description": "The ID of the segment you want to return people from."
              }
            },
            "description": "Provide the `id` of a segment containing people you want to search for."
          },
          "attribute": {
            "type": "object",
            "title": "attribute",
            "example": {
              "field": "unsubscribed",
              "value": true,
              "operator": "eq"
            },
            "required": [
              "field",
              "operator"
            ],
            "properties": {
              "field": {
                "type": "string",
                "example": "first_name",
                "description": "The name of the attribute you want to filter against."
              },
              "value": {
                "type": "string",
                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
              },
              "operator": {
                "enum": [
                  "eq",
                  "exists"
                ],
                "type": "string",
                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
              }
            },
            "description": "Filter your audience by attribute."
          }
        }
      },
      "description": "Match *all* conditions to return results."
    }
  }
}
object anonymousEventsRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Standard anonymous event",
      "example": {
        "data": {
          "video": "intro-to-platform"
        },
        "name": "watched_video",
        "anonymous_id": "abc123"
      },
      "required": [
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "properties": {
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that receives replies for the message, if applicable."
            },
            "from_address": {
              "type": "string",
              "format": "email",
              "description": "The address you want to trigger messages from, overriding the `from` field in emails triggered by the event."
            }
          },
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`). You can include `from_address` and `reply_to`, but the event can only trigger a campaign if it is associated with a person within 72 hours of its timestamp.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in messages or convert to attributes if/when you associate this event with a person.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. This is how you'll reference the event in campaigns or segments."
        },
        "type": {
          "enum": [
            "event",
            "page",
            "screen"
          ],
          "type": "string",
          "description": "Sets the event type. If your event isn't a `page` or `screen` type event, we automatically set this property to `event`."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n"
        },
        "anonymous_id": {
          "type": "string",
          "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
        }
      }
    },
    {
      "type": "object",
      "title": "Page view",
      "example": {
        "data": {
          "first_name": "Person"
        },
        "name": "https://mysite.com/page",
        "type": "page",
        "anonymous_id": "abc123"
      },
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`).",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in messages or convert to attributes if/when you associate this event with a person.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. In general, this should be the URL of the page a person visited, making it easy to segment your audience or trigger campaigns using this event. Make sure you trim leading and trailing spaces from this field."
        },
        "type": {
          "enum": [
            "page"
          ],
          "type": "string",
          "description": "Indicates that the event represents a page view. See [\"page view\" events](https://customer.io/docs/api/app/), for more information."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n"
        },
        "anonymous_id": {
          "type": "string",
          "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
        }
      }
    },
    {
      "type": "object",
      "title": "Mobile screen view",
      "example": {
        "name": "homepage",
        "type": "screen",
        "anonymous_id": "abc123"
      },
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`).",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in messages or convert to attributes if/when you associate this event with a person.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. In general, this should be the name of the screen or deep link path that a person viewed, making it easy to segment your audience or trigger campaigns using this event. Make sure you trim leading and trailing spaces from this field."
        },
        "type": {
          "enum": [
            "screen"
          ],
          "type": "string",
          "description": "Indicates that the event represents a mobile screen view. You can also capture screen events directly with [our iOS SDK](https://customer.io/docs/api/app/)."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n"
        },
        "anonymous_id": {
          "type": "string",
          "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
        }
      }
    }
  ],
  "description": "An event attributed to an unknown person. If you provide an `anonymous_id` with the event, you can associate the event with a person later (using the anonymous ID)."
}
string anonymous_id
{
  "type": "string",
  "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
}
object anyType
{
  "description": "Can be any type of value."
}
object apnsWithSdk
{
  "type": "object",
  "properties": {
    "CIO": {
      "type": "object",
      "required": [
        "push"
      ],
      "properties": {
        "push": {
          "type": "object",
          "properties": {
            "link": {
              "type": "string",
              "description": "A deep link (to a page in your app), or a link to a web page."
            },
            "image": {
              "type": "string",
              "description": "The URL of an HTTPS image that you want to use for your message."
            }
          },
          "description": "Describes push notification options supported by the CIO SDK."
        }
      },
      "description": "Contains options supported by the Customer.io SDK."
    },
    "aps": {
      "type": "object",
      "properties": {
        "alert": {
          "oneOf": [
            {
              "type": "string",
              "title": "Simple alert",
              "description": "A simple alert message."
            },
            {
              "type": "object",
              "title": "Complex alert",
              "properties": {
                "body": {
                  "type": "string",
                  "description": "The body of your push notification."
                },
                "title": {
                  "type": "string",
                  "description": "The title of your push notification."
                },
                "loc-key": {
                  "type": "string",
                  "description": "The key for a localized message string in your app’s Localizable.strings file."
                },
                "loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                },
                "subtitle": {
                  "type": "string",
                  "description": "Additional information that explains the purpose of the notification."
                },
                "launch-image": {
                  "type": "string",
                  "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                },
                "title-loc-key": {
                  "type": "string",
                  "description": "The key for a localized title string in your app’s Localizable.strings files."
                },
                "title-loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                },
                "subtitle-loc-key": {
                  "type": "string",
                  "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                },
                "subtitle-loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                }
              }
            }
          ]
        },
        "badge": {
          "type": "integer",
          "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
        },
        "sound": {
          "oneOf": [
            {
              "type": "string",
              "title": "Regular alert",
              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
            },
            {
              "type": "object",
              "title": "Critical alert",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                },
                "volume": {
                  "type": "number",
                  "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                },
                "critical": {
                  "type": "integer",
                  "description": "1 indicates critical. 0 is not critical."
                }
              }
            }
          ]
        },
        "category": {
          "type": "string",
          "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
        },
        "thread-id": {
          "type": "string",
          "description": "An identifier to group related notifications."
        },
        "mutable-content": {
          "type": "integer",
          "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
        },
        "relevance-score": {
          "type": "number",
          "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
        },
        "content-available": {
          "type": "integer",
          "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
        },
        "target-content-id": {
          "type": "string",
          "description": "The identifier of the window brought forward."
        },
        "interruption-level": {
          "enum": [
            "passive",
            "active",
            "time-sensitive",
            "critical"
          ],
          "type": "string",
          "description": "Indicates the importance and delivery timing of a notification."
        }
      },
      "description": "A push payload intended for an iOS device."
    }
  }
}
object apnsWithoutSdk
{
  "type": "object",
  "properties": {
    "aps": {
      "type": "object",
      "properties": {
        "alert": {
          "oneOf": [
            {
              "type": "string",
              "title": "Simple alert",
              "description": "A simple alert message."
            },
            {
              "type": "object",
              "title": "Complex alert",
              "properties": {
                "body": {
                  "type": "string",
                  "description": "The body of your push notification."
                },
                "title": {
                  "type": "string",
                  "description": "The title of your push notification."
                },
                "loc-key": {
                  "type": "string",
                  "description": "The key for a localized message string in your app’s Localizable.strings file."
                },
                "loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                },
                "subtitle": {
                  "type": "string",
                  "description": "Additional information that explains the purpose of the notification."
                },
                "launch-image": {
                  "type": "string",
                  "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                },
                "title-loc-key": {
                  "type": "string",
                  "description": "The key for a localized title string in your app’s Localizable.strings files."
                },
                "title-loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                },
                "subtitle-loc-key": {
                  "type": "string",
                  "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                },
                "subtitle-loc-args": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                }
              }
            }
          ]
        },
        "badge": {
          "type": "integer",
          "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
        },
        "sound": {
          "oneOf": [
            {
              "type": "string",
              "title": "Regular alert",
              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
            },
            {
              "type": "object",
              "title": "Critical alert",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                },
                "volume": {
                  "type": "number",
                  "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                },
                "critical": {
                  "type": "integer",
                  "description": "1 indicates critical. 0 is not critical."
                }
              }
            }
          ]
        },
        "category": {
          "type": "string",
          "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
        },
        "thread-id": {
          "type": "string",
          "description": "An identifier to group related notifications."
        },
        "mutable-content": {
          "type": "integer",
          "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
        },
        "relevance-score": {
          "type": "number",
          "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
        },
        "content-available": {
          "type": "integer",
          "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
        },
        "target-content-id": {
          "type": "string",
          "description": "The identifier of the window brought forward."
        },
        "interruption-level": {
          "enum": [
            "passive",
            "active",
            "time-sensitive",
            "critical"
          ],
          "type": "string",
          "description": "Indicates the importance and delivery timing of a notification."
        }
      },
      "description": "A push payload intended for an iOS device."
    }
  }
}
object apsBasicPush
{
  "type": "object",
  "required": [
    "aps"
  ],
  "properties": {
    "CIO": {
      "type": "object",
      "required": [
        "push"
      ],
      "properties": {
        "push": {
          "type": "object",
          "properties": {
            "link": {
              "type": "string",
              "description": "A deep link (to a page in your app), or a link to a web page."
            },
            "image": {
              "type": "string",
              "description": "The URL of an HTTPS image that you want to use for your message."
            }
          },
          "description": "Describes push notification options supported by the CIO SDK."
        }
      },
      "description": "Contains options supported by the Customer.io SDK."
    },
    "aps": {
      "type": "object",
      "required": [
        "alert"
      ],
      "properties": {
        "alert": {
          "type": "object",
          "required": [
            "body"
          ],
          "properties": {
            "body": {
              "type": "string",
              "description": "The body of your push notification."
            },
            "title": {
              "type": "string",
              "description": "The title of your push notification."
            }
          },
          "description": "An object containing the push title and body"
        }
      },
      "description": "A push payload intended for an iOS device."
    }
  }
}
object archivedMessageObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
      "readOnly": true,
      "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "url": {
      "type": "string",
      "example": "http://example.com/webhook",
      "description": "The URL of a webhook or action."
    },
    "body": {
      "type": "string",
      "example": "<!DOCTYPE html><html><head>\\n<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=UTF-8\\\"/><h1>Hello World</h1>\\n\\n</body></html>",
      "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "forgotten": {
      "type": "boolean",
      "example": false,
      "description": "If true, Customer.io does not retain the message content."
    },
    "recipient": {
      "type": "string",
      "example": "person@example.com",
      "description": "The recipient address for an action."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    },
    "request_method": {
      "enum": [
        "GET",
        "POST",
        "PUT",
        "DELETE",
        "PATCH"
      ],
      "type": "string",
      "example": "POST",
      "description": "The method used in conjunction with a webhook `url`."
    }
  },
  "description": "An archived message, including a complete message body.\n"
}
array attachments
{
  "type": "array",
  "items": {
    "type": "object",
    "additionalProperties": {
      "type": "string",
      "format": "base64",
      "x-doNotRender": true,
      "x-additionalPropertiesName": "Attachment Names"
    }
  },
  "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
}
object attributeAudienceFilter
{
  "type": "object",
  "title": "attribute",
  "example": {
    "field": "unsubscribed",
    "value": true,
    "operator": "eq"
  },
  "required": [
    "field",
    "operator"
  ],
  "properties": {
    "field": {
      "type": "string",
      "example": "first_name",
      "description": "The name of the attribute you want to filter against."
    },
    "value": {
      "type": "string",
      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
    },
    "operator": {
      "enum": [
        "eq",
        "exists"
      ],
      "type": "string",
      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
    }
  },
  "description": "Filter your audience by attribute."
}
object attributeChangeAction
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "The new attribute value."
    },
    "from": {
      "type": "string",
      "description": "The old attribute value. If empty, the customer probably didn't bear the attribute before this action."
    }
  }
}
object audienceFilter
{
  "oneOf": [
    {
      "type": "object",
      "title": "and",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *any* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "attribute",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              },
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            }
          },
          "description": "Match *all* conditions to return results."
        }
      }
    },
    {
      "type": "object",
      "title": "or",
      "properties": {
        "or": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "and": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *all* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "attribute",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              },
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            }
          },
          "description": "Match *any* condition to return results."
        }
      }
    },
    {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "People Filter",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                },
                "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "People Filter",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *any* conditions."
                  },
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Returns results matching *all* conditions."
                  },
                  "not": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "and",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *all* conditions to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "or",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Match *any* condition to return results."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "attribute",
                        "properties": {
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      }
                    ],
                    "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                  },
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  },
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                },
                "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "segment",
          "properties": {
            "segment": {
              "type": "object",
              "title": "segment",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 4,
                  "description": "The ID of the segment you want to return people from."
                }
              },
              "description": "Provide the `id` of a segment containing people you want to search for."
            }
          }
        },
        {
          "type": "object",
          "title": "attribute",
          "properties": {
            "attribute": {
              "type": "object",
              "title": "attribute",
              "example": {
                "field": "unsubscribed",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "first_name",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your audience by attribute."
            }
          }
        }
      ],
      "title": "not",
      "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
    },
    {
      "type": "object",
      "title": "segment",
      "properties": {
        "segment": {
          "type": "object",
          "title": "segment",
          "properties": {
            "id": {
              "type": "integer",
              "example": 4,
              "description": "The ID of the segment you want to return people from."
            }
          },
          "description": "Provide the `id` of a segment containing people you want to search for."
        }
      },
      "description": "Filter for people who belong to a segment."
    },
    {
      "type": "object",
      "title": "audience",
      "properties": {
        "attribute": {
          "type": "object",
          "title": "attribute",
          "example": {
            "field": "unsubscribed",
            "value": true,
            "operator": "eq"
          },
          "required": [
            "field",
            "operator"
          ],
          "properties": {
            "field": {
              "type": "string",
              "example": "first_name",
              "description": "The name of the attribute you want to filter against."
            },
            "value": {
              "type": "string",
              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
            },
            "operator": {
              "enum": [
                "eq",
                "exists"
              ],
              "type": "string",
              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
            }
          },
          "description": "Filter your audience by attribute."
        }
      },
      "description": "filter for people who have an attribute or an attribute value."
    }
  ],
  "title": "Audience Filter",
  "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for.\n\nThe top level of this object can only contain a single property, but you can nest `and` and `or` properties to produce complex filters.\n"
}
string bcc
{
  "type": "string",
  "readOnly": true,
  "description": "The blind-copy address(es) for this action."
}
object blockWidget
{
  "type": "object",
  "properties": {
    "flex": {
      "type": "integer",
      "description": "The single digit syntax for the CSS `flex` property. The value you use here determines the propotional amount of space the block consumes in a parent container."
    },
    "type": {
      "enum": [
        "blockWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "height": {
      "type": "integer",
      "description": "The height of the component in pixels, if you want to constrain it. If you don't set a height or width, we'll scale your content to fit your message or container."
    },
    "padding": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "The padding label you set under *Branding* > *Padding*."
      },
      "maxItems": 4,
      "description": "Defines padding for the block, based on the values set under *Branding* > *Padding*. As with the CSS `padding` property, values in the array represent top, right, bottom, and left padding."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "An array of child components that you want to make available inside this widget."
    },
    "safeInsets": {
      "type": "boolean",
      "default": false,
      "description": "Based on the env `safe-area-inset-*` CSS properties. Set to true to ensure that the block can't overflow the defined screen or the defined area of your message. Defaults to `false`."
    },
    "borderColor": {
      "type": "string",
      "description": "The border color for your block, if you set a border width greater than 0. You must set a value defined under *Branding* > *Colors*."
    },
    "borderWidth": {
      "type": "integer",
      "description": "The width of the border for this block in pixels."
    },
    "borderRadius": {
      "type": "integer",
      "description": "Sets the radius of corners for an item in pixels, similar to the `border-radius` CSS property."
    },
    "backgroundColor": {
      "type": "string",
      "description": "The background color for your block. You must set a value defined under *Branding* > *Colors*."
    },
    "backgroundImage": {
      "type": "string",
      "example": "$user.backgroundImage,",
      "description": "Set a background image for the block"
    }
  },
  "description": "A widget that provides visual design for one or more child components."
}
string body_amp
{
  "type": "string",
  "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
}
string body_content
{
  "type": "string",
  "description": "If your reporting webhook includes content (the *Body Content* box is checked) and the `metric` is `sent, this contains the body of the messages. If the message is an email, this also contains email headers. For push and in-app messages, this is the stringified payload for your message."
}
string body_plain
{
  "type": "string",
  "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
}
object broadcastActionObject
{
  "oneOf": [
    {
      "type": "object",
      "title": "Email / message",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "bcc": {
          "type": "string",
          "readOnly": true,
          "description": "The blind-copy address(es) for this action."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "from": {
          "type": "string",
          "example": "sentFrom@example.com",
          "readOnly": true,
          "description": "The address that the message is from, relevant if the action `type` is `email`."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "email",
            "in_app",
            "push",
            "twilio",
            "slack"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "from_id": {
          "type": "integer",
          "example": 1,
          "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "subject": {
          "type": "string",
          "example": "Did you get that thing I sent you?",
          "description": "The subject line for an `email` action."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "body_amp": {
          "type": "string",
          "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
        },
        "fake_bcc": {
          "type": "boolean",
          "readOnly": true,
          "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
        },
        "language": {
          "type": "string",
          "example": "fr",
          "readOnly": true,
          "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
        },
        "reply_to": {
          "type": "string",
          "example": "replyto@example.com",
          "readOnly": true,
          "description": "The address that receives replies for the message, if applicable."
        },
        "recipient": {
          "type": "string",
          "example": "{{customer.email}}",
          "description": "The recipient address for an action."
        },
        "reply_to_id": {
          "type": "integer",
          "example": 38,
          "nullable": true,
          "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "readOnly": true,
          "description": "The identifier for a broadcast."
        },
        "preprocessor": {
          "enum": [
            "premailer"
          ],
          "type": "string",
          "readOnly": true,
          "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        },
        "preheader_text": {
          "type": "string",
          "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
        }
      }
    },
    {
      "type": "object",
      "title": "Webhook",
      "properties": {
        "id": {
          "type": "integer",
          "example": 96,
          "nullable": true,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "url": {
          "type": "string",
          "example": "https://my.example.com/webhook",
          "description": "The URL to send a webhook to, applies to `webhook` type actions."
        },
        "body": {
          "type": "string",
          "description": "The body of the action. You cannot modify the body if you created it with our drag-and-drop editor."
        },
        "name": {
          "type": "string",
          "example": "Opening Message",
          "readOnly": true,
          "description": "The name of the action, if it exists."
        },
        "type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The type of action."
        },
        "layout": {
          "type": "string",
          "readOnly": true,
          "description": "The layout used for the action, if it exists."
        },
        "method": {
          "enum": [
            "get",
            "post",
            "put",
            "delete",
            "patch"
          ],
          "type": "string",
          "example": "post",
          "description": "The HTTP method for your webhook."
        },
        "created": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was created."
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "X-Mailgun-Tag",
                "description": "name of header"
              },
              "value": {
                "type": "string",
                "example": "tag-name-for-tracking",
                "description": "value of header"
              }
            }
          },
          "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
        },
        "updated": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1552341937,
          "readOnly": true,
          "description": "The date time when the referenced ID was last updated."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "description": "The identifier for a broadcast."
        },
        "sending_state": {
          "enum": [
            "automatic",
            "draft",
            "off"
          ],
          "type": "string",
          "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
        },
        "deduplicate_id": {
          "type": "string",
          "example": "15:1492548073",
          "readOnly": true,
          "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
        }
      }
    }
  ]
}
object broadcastObject
{
  "type": "object",
  "example": {
    "id": 2,
    "name": "basic",
    "tags": "nil",
    "type": "triggered_broadcast",
    "active": true,
    "actions": [
      {
        "id": 3,
        "type": "email"
      },
      {
        "id": 4
      },
      {
        "type": "webhook"
      }
    ],
    "created": 1520467200,
    "updated": 1520467200,
    "created_by": "ExamplePerson",
    "first_started": 1520467200,
    "deduplicate_id": "2:1520467200"
  },
  "properties": {
    "id": {
      "type": "integer",
      "example": 2,
      "description": "The identifier for a broadcast."
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the broadcast."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of tags you set on this broadcast."
    },
    "active": {
      "type": "boolean",
      "description": "If true, the broadcast is active."
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for the action."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "push",
              "sms",
              "slack"
            ],
            "type": "string",
            "description": "The type of action."
          }
        }
      },
      "description": "A list of actions used by the broadcast."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "msg_template_ids": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for the template."
          },
          "type": {
            "enum": [
              "email",
              "webhook",
              "push",
              "sms",
              "slack"
            ],
            "type": "string",
            "description": "The type of template."
          }
        }
      },
      "deprecated": true,
      "description": "Indicates the message template(s) used in this broadcast."
    }
  }
}
object broadcastTriggerObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The identifier for a broadcast trigger."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "broadcast_id": {
      "type": "integer",
      "example": 2,
      "description": "The identifier for a broadcast."
    },
    "processed_at": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The date-time when Customer.io processed the trigger."
    }
  },
  "description": "You can get triggers to know when you triggered a broadcast and whether or not it's been processed."
}
integer broadcast_id
{
  "type": "integer",
  "example": 2,
  "description": "The identifier for a broadcast."
}
object campaignObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 5,
      "description": "The identifier for a campaign."
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the campaign."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "new",
        "welcome"
      ],
      "description": "An array of tags you set on this campaign."
    },
    "type": {
      "enum": [
        "segment"
      ],
      "type": "string",
      "description": "The type of campaign."
    },
    "active": {
      "type": "boolean",
      "description": "If true, the campaign is active and can still send messages."
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for the action."
          },
          "type": {
            "enum": [
              "email",
              "sms",
              "push",
              "slack",
              "webhook"
            ],
            "type": "string",
            "description": "The message type actions resulting from the campaign."
          }
        }
      },
      "description": "An array of actions contained within the campaign."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "created_by": {
      "type": "string",
      "format": "email",
      "example": "hugh.mann@example.com",
      "description": "The email address of the person who created the campaign."
    },
    "first_started": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "description": "The date and time when you first started the campaign and it first became eligible to be triggered."
    },
    "msg_templates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The identifier for the template."
          },
          "type": {
            "enum": [
              "email",
              "sms",
              "push",
              "slack"
            ],
            "type": "string",
            "description": "The message type the template represents."
          }
        }
      },
      "deprecated": true,
      "description": "Indicates the message templates used in this campaign."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "filter_segment_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        21,
        42
      ],
      "description": "A list of segments used in the campaign filter, returned if the campaign audience was filtered on one or more segments."
    },
    "trigger_segment_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        90
      ],
      "description": "A list of segments used in the campaign trigger, returned if the campaign trigger included one or more segment conditions."
    }
  }
}
object campaignRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Default audience",
      "properties": {
        "data": {
          "type": "object",
          "example": {
            "date": 1511315635,
            "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
            "headline": "Roadrunner spotted in Albuquerque!"
          },
          "description": "Contains information you want to use to populate your broadcast.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "Broadcast liquid data"
          }
        },
        "id_ignore_missing": {
          "type": "boolean",
          "default": false,
          "description": "If false, a missing customer ID is an error."
        },
        "email_add_duplicates": {
          "type": "boolean",
          "default": false,
          "description": "an email address associated with more than one profile id is an error."
        },
        "email_ignore_missing": {
          "type": "boolean",
          "default": false,
          "description": "If false a missing email address is an error."
        }
      },
      "description": "Send your broadcast to the default set of recipients defined in the UI."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "recipients"
          ],
          "properties": {
            "recipients": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "and",
                  "properties": {
                    "and": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "or": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Returns results matching *any* conditions."
                          },
                          "not": {
                            "oneOf": [
                              {
                                "type": "object",
                                "title": "and",
                                "properties": {
                                  "and": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *all* conditions to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "or",
                                "properties": {
                                  "or": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *any* condition to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "segment": {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "example": 4,
                                        "description": "The ID of the segment you want to return people from."
                                      }
                                    },
                                    "description": "Provide the `id` of a segment containing people you want to search for."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "attribute",
                                "properties": {
                                  "attribute": {
                                    "type": "object",
                                    "title": "attribute",
                                    "example": {
                                      "field": "unsubscribed",
                                      "value": true,
                                      "operator": "eq"
                                    },
                                    "required": [
                                      "field",
                                      "operator"
                                    ],
                                    "properties": {
                                      "field": {
                                        "type": "string",
                                        "example": "first_name",
                                        "description": "The name of the attribute you want to filter against."
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                      },
                                      "operator": {
                                        "enum": [
                                          "eq",
                                          "exists"
                                        ],
                                        "type": "string",
                                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                      }
                                    },
                                    "description": "Filter your audience by attribute."
                                  }
                                }
                              }
                            ],
                            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                          },
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          },
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      },
                      "description": "Match *all* conditions to return results."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "or",
                  "properties": {
                    "or": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "and": {
                            "type": "array",
                            "items": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "segment": {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "id": {
                                          "type": "integer",
                                          "example": 4,
                                          "description": "The ID of the segment you want to return people from."
                                        }
                                      },
                                      "description": "Provide the `id` of a segment containing people you want to search for."
                                    }
                                  },
                                  "description": "Filter for people who belong to a segment."
                                },
                                {
                                  "type": "object",
                                  "title": "audience",
                                  "properties": {
                                    "attribute": {
                                      "type": "object",
                                      "title": "attribute",
                                      "example": {
                                        "field": "unsubscribed",
                                        "value": true,
                                        "operator": "eq"
                                      },
                                      "required": [
                                        "field",
                                        "operator"
                                      ],
                                      "properties": {
                                        "field": {
                                          "type": "string",
                                          "example": "first_name",
                                          "description": "The name of the attribute you want to filter against."
                                        },
                                        "value": {
                                          "type": "string",
                                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                        },
                                        "operator": {
                                          "enum": [
                                            "eq",
                                            "exists"
                                          ],
                                          "type": "string",
                                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                        }
                                      },
                                      "description": "Filter your audience by attribute."
                                    }
                                  },
                                  "description": "filter for people who have an attribute or an attribute value."
                                }
                              ]
                            },
                            "description": "Returns results matching *all* conditions."
                          },
                          "not": {
                            "oneOf": [
                              {
                                "type": "object",
                                "title": "and",
                                "properties": {
                                  "and": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *all* conditions to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "or",
                                "properties": {
                                  "or": {
                                    "type": "array",
                                    "items": {
                                      "anyOf": [
                                        {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "segment": {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "id": {
                                                  "type": "integer",
                                                  "example": 4,
                                                  "description": "The ID of the segment you want to return people from."
                                                }
                                              },
                                              "description": "Provide the `id` of a segment containing people you want to search for."
                                            }
                                          },
                                          "description": "Filter for people who belong to a segment."
                                        },
                                        {
                                          "type": "object",
                                          "title": "audience",
                                          "properties": {
                                            "attribute": {
                                              "type": "object",
                                              "title": "attribute",
                                              "example": {
                                                "field": "unsubscribed",
                                                "value": true,
                                                "operator": "eq"
                                              },
                                              "required": [
                                                "field",
                                                "operator"
                                              ],
                                              "properties": {
                                                "field": {
                                                  "type": "string",
                                                  "example": "first_name",
                                                  "description": "The name of the attribute you want to filter against."
                                                },
                                                "value": {
                                                  "type": "string",
                                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                },
                                                "operator": {
                                                  "enum": [
                                                    "eq",
                                                    "exists"
                                                  ],
                                                  "type": "string",
                                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                }
                                              },
                                              "description": "Filter your audience by attribute."
                                            }
                                          },
                                          "description": "filter for people who have an attribute or an attribute value."
                                        }
                                      ]
                                    },
                                    "description": "Match *any* condition to return results."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "segment": {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "example": 4,
                                        "description": "The ID of the segment you want to return people from."
                                      }
                                    },
                                    "description": "Provide the `id` of a segment containing people you want to search for."
                                  }
                                }
                              },
                              {
                                "type": "object",
                                "title": "attribute",
                                "properties": {
                                  "attribute": {
                                    "type": "object",
                                    "title": "attribute",
                                    "example": {
                                      "field": "unsubscribed",
                                      "value": true,
                                      "operator": "eq"
                                    },
                                    "required": [
                                      "field",
                                      "operator"
                                    ],
                                    "properties": {
                                      "field": {
                                        "type": "string",
                                        "example": "first_name",
                                        "description": "The name of the attribute you want to filter against."
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                      },
                                      "operator": {
                                        "enum": [
                                          "eq",
                                          "exists"
                                        ],
                                        "type": "string",
                                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                      }
                                    },
                                    "description": "Filter your audience by attribute."
                                  }
                                }
                              }
                            ],
                            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                          },
                          "segment": {
                            "type": "object",
                            "title": "segment",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "example": 4,
                                "description": "The ID of the segment you want to return people from."
                              }
                            },
                            "description": "Provide the `id` of a segment containing people you want to search for."
                          },
                          "attribute": {
                            "type": "object",
                            "title": "attribute",
                            "example": {
                              "field": "unsubscribed",
                              "value": true,
                              "operator": "eq"
                            },
                            "required": [
                              "field",
                              "operator"
                            ],
                            "properties": {
                              "field": {
                                "type": "string",
                                "example": "first_name",
                                "description": "The name of the attribute you want to filter against."
                              },
                              "value": {
                                "type": "string",
                                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                              },
                              "operator": {
                                "enum": [
                                  "eq",
                                  "exists"
                                ],
                                "type": "string",
                                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                              }
                            },
                            "description": "Filter your audience by attribute."
                          }
                        }
                      },
                      "description": "Match *any* condition to return results."
                    }
                  }
                },
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "and",
                      "properties": {
                        "and": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "title": "People Filter",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *any* conditions."
                              },
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *all* conditions."
                              },
                              "not": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "title": "and",
                                    "properties": {
                                      "and": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *all* conditions to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "or",
                                    "properties": {
                                      "or": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *any* condition to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "segment": {
                                        "type": "object",
                                        "title": "segment",
                                        "properties": {
                                          "id": {
                                            "type": "integer",
                                            "example": 4,
                                            "description": "The ID of the segment you want to return people from."
                                          }
                                        },
                                        "description": "Provide the `id` of a segment containing people you want to search for."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "attribute",
                                    "properties": {
                                      "attribute": {
                                        "type": "object",
                                        "title": "attribute",
                                        "example": {
                                          "field": "unsubscribed",
                                          "value": true,
                                          "operator": "eq"
                                        },
                                        "required": [
                                          "field",
                                          "operator"
                                        ],
                                        "properties": {
                                          "field": {
                                            "type": "string",
                                            "example": "first_name",
                                            "description": "The name of the attribute you want to filter against."
                                          },
                                          "value": {
                                            "type": "string",
                                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                          },
                                          "operator": {
                                            "enum": [
                                              "eq",
                                              "exists"
                                            ],
                                            "type": "string",
                                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                          }
                                        },
                                        "description": "Filter your audience by attribute."
                                      }
                                    }
                                  }
                                ],
                                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                              },
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              },
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            },
                            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                          },
                          "description": "Match *all* conditions to return results."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "or",
                      "properties": {
                        "or": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "title": "People Filter",
                            "properties": {
                              "or": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *any* conditions."
                              },
                              "and": {
                                "type": "array",
                                "items": {
                                  "anyOf": [
                                    {
                                      "type": "object",
                                      "title": "segment",
                                      "properties": {
                                        "segment": {
                                          "type": "object",
                                          "title": "segment",
                                          "properties": {
                                            "id": {
                                              "type": "integer",
                                              "example": 4,
                                              "description": "The ID of the segment you want to return people from."
                                            }
                                          },
                                          "description": "Provide the `id` of a segment containing people you want to search for."
                                        }
                                      },
                                      "description": "Filter for people who belong to a segment."
                                    },
                                    {
                                      "type": "object",
                                      "title": "audience",
                                      "properties": {
                                        "attribute": {
                                          "type": "object",
                                          "title": "attribute",
                                          "example": {
                                            "field": "unsubscribed",
                                            "value": true,
                                            "operator": "eq"
                                          },
                                          "required": [
                                            "field",
                                            "operator"
                                          ],
                                          "properties": {
                                            "field": {
                                              "type": "string",
                                              "example": "first_name",
                                              "description": "The name of the attribute you want to filter against."
                                            },
                                            "value": {
                                              "type": "string",
                                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                            },
                                            "operator": {
                                              "enum": [
                                                "eq",
                                                "exists"
                                              ],
                                              "type": "string",
                                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                            }
                                          },
                                          "description": "Filter your audience by attribute."
                                        }
                                      },
                                      "description": "filter for people who have an attribute or an attribute value."
                                    }
                                  ]
                                },
                                "description": "Returns results matching *all* conditions."
                              },
                              "not": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "title": "and",
                                    "properties": {
                                      "and": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *all* conditions to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "or",
                                    "properties": {
                                      "or": {
                                        "type": "array",
                                        "items": {
                                          "anyOf": [
                                            {
                                              "type": "object",
                                              "title": "segment",
                                              "properties": {
                                                "segment": {
                                                  "type": "object",
                                                  "title": "segment",
                                                  "properties": {
                                                    "id": {
                                                      "type": "integer",
                                                      "example": 4,
                                                      "description": "The ID of the segment you want to return people from."
                                                    }
                                                  },
                                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                                }
                                              },
                                              "description": "Filter for people who belong to a segment."
                                            },
                                            {
                                              "type": "object",
                                              "title": "audience",
                                              "properties": {
                                                "attribute": {
                                                  "type": "object",
                                                  "title": "attribute",
                                                  "example": {
                                                    "field": "unsubscribed",
                                                    "value": true,
                                                    "operator": "eq"
                                                  },
                                                  "required": [
                                                    "field",
                                                    "operator"
                                                  ],
                                                  "properties": {
                                                    "field": {
                                                      "type": "string",
                                                      "example": "first_name",
                                                      "description": "The name of the attribute you want to filter against."
                                                    },
                                                    "value": {
                                                      "type": "string",
                                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                                    },
                                                    "operator": {
                                                      "enum": [
                                                        "eq",
                                                        "exists"
                                                      ],
                                                      "type": "string",
                                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                                    }
                                                  },
                                                  "description": "Filter your audience by attribute."
                                                }
                                              },
                                              "description": "filter for people who have an attribute or an attribute value."
                                            }
                                          ]
                                        },
                                        "description": "Match *any* condition to return results."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "segment",
                                    "properties": {
                                      "segment": {
                                        "type": "object",
                                        "title": "segment",
                                        "properties": {
                                          "id": {
                                            "type": "integer",
                                            "example": 4,
                                            "description": "The ID of the segment you want to return people from."
                                          }
                                        },
                                        "description": "Provide the `id` of a segment containing people you want to search for."
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "title": "attribute",
                                    "properties": {
                                      "attribute": {
                                        "type": "object",
                                        "title": "attribute",
                                        "example": {
                                          "field": "unsubscribed",
                                          "value": true,
                                          "operator": "eq"
                                        },
                                        "required": [
                                          "field",
                                          "operator"
                                        ],
                                        "properties": {
                                          "field": {
                                            "type": "string",
                                            "example": "first_name",
                                            "description": "The name of the attribute you want to filter against."
                                          },
                                          "value": {
                                            "type": "string",
                                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                          },
                                          "operator": {
                                            "enum": [
                                              "eq",
                                              "exists"
                                            ],
                                            "type": "string",
                                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                          }
                                        },
                                        "description": "Filter your audience by attribute."
                                      }
                                    }
                                  }
                                ],
                                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                              },
                              "segment": {
                                "type": "object",
                                "title": "segment",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "example": 4,
                                    "description": "The ID of the segment you want to return people from."
                                  }
                                },
                                "description": "Provide the `id` of a segment containing people you want to search for."
                              },
                              "attribute": {
                                "type": "object",
                                "title": "attribute",
                                "example": {
                                  "field": "unsubscribed",
                                  "value": true,
                                  "operator": "eq"
                                },
                                "required": [
                                  "field",
                                  "operator"
                                ],
                                "properties": {
                                  "field": {
                                    "type": "string",
                                    "example": "first_name",
                                    "description": "The name of the attribute you want to filter against."
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                  },
                                  "operator": {
                                    "enum": [
                                      "eq",
                                      "exists"
                                    ],
                                    "type": "string",
                                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                  }
                                },
                                "description": "Filter your audience by attribute."
                              }
                            },
                            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
                          },
                          "description": "Match *any* condition to return results."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "attribute",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      }
                    }
                  ],
                  "title": "not",
                  "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
                },
                {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "segment": {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 4,
                          "description": "The ID of the segment you want to return people from."
                        }
                      },
                      "description": "Provide the `id` of a segment containing people you want to search for."
                    }
                  },
                  "description": "Filter for people who belong to a segment."
                },
                {
                  "type": "object",
                  "title": "audience",
                  "properties": {
                    "attribute": {
                      "type": "object",
                      "title": "attribute",
                      "example": {
                        "field": "unsubscribed",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "first_name",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your audience by attribute."
                    }
                  },
                  "description": "filter for people who have an attribute or an attribute value."
                }
              ],
              "title": "Audience Filter",
              "description": "A filter defining the group of people that you want send the broadcast to."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Custom recipients",
      "example": {
        "data": {
          "date": 1511315635,
          "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
          "headline": "Roadrunner spotted in Albuquerque!"
        },
        "recipients": {
          "and": [
            {
              "segment": {
                "id": 3
              }
            },
            {
              "or": [
                {
                  "attribute": {
                    "field": "interest",
                    "value": "roadrunners",
                    "operator": "eq"
                  }
                },
                {
                  "attribute": {
                    "field": "state",
                    "value": "NM",
                    "operator": "eq"
                  }
                },
                {
                  "not": {
                    "attribute": {
                      "field": "species",
                      "value": "roadrunners",
                      "operator": "eq"
                    }
                  }
                }
              ]
            }
          ]
        }
      },
      "description": "Send your broadcast to a group of people defined by a set of filters."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "emails"
          ],
          "properties": {
            "emails": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "email"
              },
              "example": [
                "recipient1@example.com",
                "anotherRecipient@example.com"
              ],
              "description": "An array of email addresses you want to send the broadcast to. These addresses must already exist; your request cannot create a new person."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Emails",
      "description": "An array of emails you want to send the broadcast to. These addresses must already exist; your request cannot create a new person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "ids"
          ],
          "properties": {
            "ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "id1",
                "id4"
              ],
              "maxItems": 10000,
              "description": "An array of IDs you want to send a broadcast to. **NOTE**: If your workspace identifies people by `email`, don't use this option. Identify your audience by `emails` instead.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "IDs",
      "description": "An array of customer ids that you want to send the broadcast to. These IDs must already exist; your request cannot create a new person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "per_user_data"
          ],
          "properties": {
            "per_user_data": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "ids",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": 1,
                        "description": "The ID of the recipient."
                      },
                      "data": {
                        "type": "object",
                        "example": {
                          "lastName": "Mann",
                          "purchase": "shoes",
                          "firstName": "Hugh"
                        },
                        "description": "Merge data associated with the recipient.",
                        "additionalProperties": {
                          "description": "Insert key-values that you want to reference in your message here.",
                          "x-additionalPropertiesName": "Liquid merge data"
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "emails",
                    "required": [
                      "email"
                    ],
                    "properties": {
                      "data": {
                        "type": "object",
                        "example": {
                          "lastName": "Mann",
                          "purchase": "shoes",
                          "firstName": "Hugh"
                        },
                        "description": "Merge data associated with the recipient.",
                        "additionalProperties": {
                          "description": "Insert key-values that you want to reference in your message here.",
                          "x-additionalPropertiesName": "Liquid merge data"
                        }
                      },
                      "email": {
                        "type": "string",
                        "example": "recipient1@example.com",
                        "description": "The email address of the recipient. This address must be unique in your workspace. If more than one person has the same `email` attribute, your request will produce an error."
                      }
                    }
                  }
                ]
              },
              "example": [
                {
                  "id": "wiley_coyote",
                  "data": {
                    "voucher_code": "FESwYm"
                  }
                },
                {
                  "data": {
                    "voucher_code": "cYm6XJ"
                  },
                  "email": "road@runner.net"
                }
              ],
              "maxItems": 10000,
              "description": "An array of people you want to send a broadcast to and custom data for each person. Each object in the array represents a person, with additional data you want to use to personalize their message. **When you trigger a broadcast, the people in your request must already exist in your workspace.** Requests to trigger a broadcast cannot create new people. \n\n**Remove line-breaks from `per_user_data`**. We've added line breaks in examples to make the code easy to read, but you must remove line breaks (collapsing/uglifying your payload) to prevent errors.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "User Maps",
      "description": "An array of JSON objects containing `id` or `email` keys and a `data` key. Each object represents a person you want to send the broadcast to and data you want to personalize their message with using liquid."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "data_file_url"
          ],
          "properties": {
            "data_file_url": {
              "type": "string",
              "format": "url",
              "example": "https://myFile.example.com",
              "description": "The URL of a data file containing per-user data. Each line is a single object representing a person: either a json map of `id` and `data` or `email` and `data` keys. For example, `{\"email\":\"road@runner.net\",\"data\":{\"voucher_code\": \"coyote\"}}`.\n\nThe IDs or emails in your data file must already exist in your workspace. Your broadcast cannot add new people to your workspace and won't send messages for IDs or email addresses that don't match a person in your workspace.\n"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "data": {
              "type": "object",
              "example": {
                "date": 1511315635,
                "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
                "headline": "Roadrunner spotted in Albuquerque!"
              },
              "description": "Contains information you want to use to populate your broadcast.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Broadcast liquid data"
              }
            },
            "id_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false, a missing customer ID is an error."
            },
            "email_add_duplicates": {
              "type": "boolean",
              "default": false,
              "description": "an email address associated with more than one profile id is an error."
            },
            "email_ignore_missing": {
              "type": "boolean",
              "default": false,
              "description": "If false a missing email address is an error."
            }
          }
        }
      ],
      "title": "Data file URL",
      "description": "The URL of a data file containing per-user data, each line containing a json map with either `id` and `data` or `email` and `data` keys. **When you trigger a broadcast, the people represented by `id` and `email` must already exist in your workspace.** Requests to trigger a broadcast cannot create new people.\n"
    }
  ]
}
integer campaign_id
{
  "type": "integer",
  "example": 5,
  "description": "The identifier for a campaign."
}
string cio_id
{
  "type": "string",
  "example": "a3000001",
  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
}
object cio_subscription_preferences
{
  "type": "object",
  "example": {
    "topic_1": true,
    "topic_2": false,
    "topic_3": true
  },
  "properties": {
    "topics": {
      "type": "object",
      "description": "Contains active topics in your workspace, named `topic_<id>`.",
      "additionalProperties": {
        "type": "boolean",
        "description": "Each property is a boolean named `topic_<id>`. Topic `id` values begin at `1` and increment for each new topic. You can find your topic ids in [Workspace Settings](https://fly.customer.io/workspaces/last/settings/subscription_center/topics) or by querying our [App API](https://customer.io/docs/api/app/#operation/getTopics). For each boolean, `true` means that a person is subscribed to the topic; false means they are unsubscribed. An empty or missing value reverts to the default preference for the topic (opt-in or opt-out).",
        "x-additionalPropertiesName": "topic_<id>"
      }
    }
  },
  "description": "Stores your audience's subscription preferences if you enable our [subscription center](https://customer.io/docs/api/app/) feature. These items are set automatically when people use the unsubscribe link in your messages, but you can set preferences outside the subscription flow. To update select topic preferences while preserving those set for other topics, use JSON dot notation `\"cio_subscription_preferences.topics.topic_<topic ID>\":<boolean>`."
}
object collectionResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier for the collection. This is how you'll reference the collection from the API."
    },
    "name": {
      "type": "string",
      "example": "upcoming events",
      "description": "The name of the collection. This is how you'll reference the collection in liquid, e.g. `{{collection_name.data_property}}`."
    },
    "rows": {
      "type": "integer",
      "example": 2,
      "description": "Represents the number of objects in the `data` array or CSV rows in your collection schema."
    },
    "bytes": {
      "type": "integer",
      "example": 296,
      "description": "The size of the collection in bytes."
    },
    "schema": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "eventDate",
        "eventName",
        "presents"
      ],
      "description": "Lists the top-level keys that you can reference within this collection. Customer.io does not enforce any of these keys as required from your `data`."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    }
  }
}
object commonTriggerProps
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "example": {
        "date": 1511315635,
        "text": "We received reports of a roadrunner in your immediate area! Head to your dashboard to view more information!",
        "headline": "Roadrunner spotted in Albuquerque!"
      },
      "description": "Contains information you want to use to populate your broadcast.",
      "additionalProperties": {
        "description": "Insert key-values that you want to reference in your message here.",
        "x-additionalPropertiesName": "Broadcast liquid data"
      }
    },
    "id_ignore_missing": {
      "type": "boolean",
      "default": false,
      "description": "If false, a missing customer ID is an error."
    },
    "email_add_duplicates": {
      "type": "boolean",
      "default": false,
      "description": "an email address associated with more than one profile id is an error."
    },
    "email_ignore_missing": {
      "type": "boolean",
      "default": false,
      "description": "If false a missing email address is an error."
    }
  }
}
object complexAudienceFilter
{
  "type": "object",
  "title": "People Filter",
  "properties": {
    "or": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "title": "segment",
            "properties": {
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              }
            },
            "description": "Filter for people who belong to a segment."
          },
          {
            "type": "object",
            "title": "audience",
            "properties": {
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            },
            "description": "filter for people who have an attribute or an attribute value."
          }
        ]
      },
      "description": "Returns results matching *any* conditions."
    },
    "and": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "title": "segment",
            "properties": {
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              }
            },
            "description": "Filter for people who belong to a segment."
          },
          {
            "type": "object",
            "title": "audience",
            "properties": {
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            },
            "description": "filter for people who have an attribute or an attribute value."
          }
        ]
      },
      "description": "Returns results matching *all* conditions."
    },
    "not": {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    },
                    "description": "Filter for people who belong to a segment."
                  },
                  {
                    "type": "object",
                    "title": "audience",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "filter for people who have an attribute or an attribute value."
                  }
                ]
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    },
                    "description": "Filter for people who belong to a segment."
                  },
                  {
                    "type": "object",
                    "title": "audience",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    },
                    "description": "filter for people who have an attribute or an attribute value."
                  }
                ]
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "segment",
          "properties": {
            "segment": {
              "type": "object",
              "title": "segment",
              "properties": {
                "id": {
                  "type": "integer",
                  "example": 4,
                  "description": "The ID of the segment you want to return people from."
                }
              },
              "description": "Provide the `id` of a segment containing people you want to search for."
            }
          }
        },
        {
          "type": "object",
          "title": "attribute",
          "properties": {
            "attribute": {
              "type": "object",
              "title": "attribute",
              "example": {
                "field": "unsubscribed",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "first_name",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your audience by attribute."
            }
          }
        }
      ],
      "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
    },
    "segment": {
      "type": "object",
      "title": "segment",
      "properties": {
        "id": {
          "type": "integer",
          "example": 4,
          "description": "The ID of the segment you want to return people from."
        }
      },
      "description": "Provide the `id` of a segment containing people you want to search for."
    },
    "attribute": {
      "type": "object",
      "title": "attribute",
      "example": {
        "field": "unsubscribed",
        "value": true,
        "operator": "eq"
      },
      "required": [
        "field",
        "operator"
      ],
      "properties": {
        "field": {
          "type": "string",
          "example": "first_name",
          "description": "The name of the attribute you want to filter against."
        },
        "value": {
          "type": "string",
          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
        },
        "operator": {
          "enum": [
            "eq",
            "exists"
          ],
          "type": "string",
          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
        }
      },
      "description": "Filter your audience by attribute."
    }
  },
  "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
}
object complexObjectFilter
{
  "type": "object",
  "title": "Object Filter",
  "properties": {
    "or": {
      "type": "array",
      "items": {
        "type": "object",
        "title": "object attribute",
        "example": {
          "field": "cancelled",
          "value": true,
          "operator": "eq"
        },
        "required": [
          "field",
          "operator"
        ],
        "properties": {
          "field": {
            "type": "string",
            "example": "location",
            "description": "The name of the attribute you want to filter against."
          },
          "value": {
            "type": "string",
            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
          },
          "operator": {
            "enum": [
              "eq",
              "exists"
            ],
            "type": "string",
            "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
          }
        },
        "description": "Filter your objects by their attributes."
      },
      "description": "Returns results matching *any* conditions."
    },
    "and": {
      "type": "array",
      "items": {
        "type": "object",
        "title": "object attribute",
        "example": {
          "field": "cancelled",
          "value": true,
          "operator": "eq"
        },
        "required": [
          "field",
          "operator"
        ],
        "properties": {
          "field": {
            "type": "string",
            "example": "location",
            "description": "The name of the attribute you want to filter against."
          },
          "value": {
            "type": "string",
            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
          },
          "operator": {
            "enum": [
              "eq",
              "exists"
            ],
            "type": "string",
            "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
          }
        },
        "description": "Filter your objects by their attributes."
      },
      "description": "Returns results matching *all* conditions."
    },
    "not": {
      "oneOf": [
        {
          "type": "object",
          "title": "and",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "object attribute",
                "example": {
                  "field": "cancelled",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "location",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your objects by their attributes."
              },
              "description": "Match *all* conditions to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "or",
          "properties": {
            "or": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "object attribute",
                "example": {
                  "field": "cancelled",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "location",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your objects by their attributes."
              },
              "description": "Match *any* condition to return results."
            }
          }
        },
        {
          "type": "object",
          "title": "object attribute",
          "properties": {
            "object_attribute": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "type_id": 1,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator",
                "type_id"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            }
          }
        }
      ],
      "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
    },
    "object_attribute": {
      "type": "object",
      "title": "object attribute",
      "example": {
        "field": "cancelled",
        "value": true,
        "type_id": 1,
        "operator": "eq"
      },
      "required": [
        "field",
        "operator",
        "type_id"
      ],
      "properties": {
        "field": {
          "type": "string",
          "example": "location",
          "description": "The name of the attribute you want to filter against."
        },
        "value": {
          "type": "string",
          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
        },
        "type_id": {
          "type": "string",
          "example": "1",
          "nullable": false,
          "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
        },
        "operator": {
          "enum": [
            "eq",
            "exists"
          ],
          "type": "string",
          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
        }
      },
      "description": "Filter your objects by their attributes."
    }
  },
  "description": "When filtering for objects, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false."
}
object conditionalWidget
{
  "type": "object",
  "properties": {
    "true": {
      "type": "object",
      "description": "The component you want to show when your condition is true."
    },
    "type": {
      "enum": [
        "conditionalWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "false": {
      "type": "object",
      "description": "The component you want to show when your condition is false."
    },
    "condition": {
      "type": "string",
      "description": "The condition you want to evaluate. You can evaluate a condition using `>`, `<`, `==` & `in` operators. If you don't use an operator, the condition checks if the property is null."
    }
  },
  "description": "Set a true/false condition determining which content to show. Use a variable in your condition to populate the condition when you set up your message in Customer.io."
}
object contentObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "example": "<strong>Hello from the API</strong>",
      "description": "The body of the variant. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "newsletter variant A",
      "readOnly": true,
      "description": "The name of the variant, if it exists."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push"
      ],
      "type": "string",
      "example": "email",
      "readOnly": true,
      "description": "The type of message/action."
    },
    "layout": {
      "type": "string",
      "example": "<html><body>{{ content }}</body></html>",
      "readOnly": true,
      "description": "The layout used for the variant, if it exists."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "newsletter_id": {
      "type": "integer",
      "example": 10,
      "readOnly": true,
      "description": "The identifier for a newsletter."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
integer content_id
{
  "type": "integer",
  "example": 1,
  "nullable": true,
  "readOnly": true,
  "description": "The identifier for a newsletter variant."
}
integer content_id_event
{
  "type": "integer",
  "example": 3,
  "description": "The identifier for a newsletter variant."
}
integer created
{
  "type": "integer",
  "format": "unix timestamp",
  "example": 1552341937,
  "readOnly": true,
  "description": "The date time when the referenced ID was created."
}
object customAndroidProps
{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string",
      "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
    },
    "icon": {
      "type": "string",
      "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
    },
    "color": {
      "type": "string",
      "description": "The notification's icon color in `#rrggbb` format."
    },
    "sound": {
      "type": "string",
      "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
    },
    "body_loc_arg": {
      "type": "string",
      "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
    },
    "body_loc_key": {
      "type": "string",
      "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
    },
    "click_action": {
      "type": "string",
      "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
    },
    "title_loc_arg": {
      "type": "string",
      "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
    },
    "title_loc_key": {
      "type": "string",
      "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
    }
  },
  "description": "Properties supported specifically by Android on FCM."
}
object customerAttributesObject
{
  "type": "object",
  "example": {
    "customer": {
      "id": "1X",
      "devices": [
        {
          "id": "my_android_device_id",
          "platform": "android",
          "last_used": 1514764800
        },
        {
          "id": "my_ios_device_id",
          "platform": "ios",
          "last_used": 1514764800
        }
      ],
      "attributes": {
        "id": "1X",
        "email": "test@example.com",
        "title": "tester",
        "cio_id": "03000001",
        "created_at": "1489014595",
        "department": "qa",
        "_last_emailed": "1528932553",
        "cio_subscription_preferences": "{\"topics\":{\"topic_7\":false,\"topic_8\":false}}",
        "_cio_subscription_preferences_computed": "{\"topics\":{\"topic_6\":false,\"topic_7\":false,\"topic_8\":false}}"
      },
      "timestamps": {
        "id": 1489014595,
        "email": 1508932553,
        "title": 1508932553,
        "cio_id": 1489014595,
        "created_at": 1489014595,
        "department": 1508932553,
        "_last_emailed": 1528932553,
        "cio_subscription_preferences": 1673987303,
        "_cio_subscription_preferences_computed": 0
      },
      "unsubscribed": false
    }
  },
  "properties": {
    "customer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The customer ID referenced in the request."
        },
        "devices": {
          "type": "array",
          "items": {
            "allOf": [
              {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The device token."
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "platform"
                ],
                "properties": {
                  "platform": {
                    "enum": [
                      "ios",
                      "android"
                    ],
                    "type": "string",
                    "description": "The device/messaging platform."
                  },
                  "last_used": {
                    "type": "integer",
                    "format": "unix timestamp",
                    "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                  },
                  "attributes": {
                    "type": "object",
                    "properties": {
                      "device_os": {
                        "type": "string",
                        "description": "The operating system, including the version, on the device."
                      },
                      "app_version": {
                        "type": "string",
                        "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                      },
                      "_last_status": {
                        "enum": [
                          "",
                          "bounced",
                          "sent",
                          "suppressed"
                        ],
                        "type": "string",
                        "readOnly": true,
                        "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                      },
                      "device_model": {
                        "type": "string",
                        "description": "The model of the device a person uses."
                      },
                      "push_enabled": {
                        "enum": [
                          "true",
                          "false"
                        ],
                        "type": "string",
                        "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                      },
                      "device_locale": {
                        "type": "string",
                        "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                      },
                      "cio_sdk_version": {
                        "type": "string",
                        "description": "The version of the Customer.io SDK in the app."
                      }
                    },
                    "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                    "additionalProperties": {
                      "type": "string",
                      "description": "Custom properties that you want to associate with the device.",
                      "x-additionalPropertiesName": "Custom Device Attributes"
                    }
                  }
                },
                "description": "Device information common to the v1 and v2 APIs."
              }
            ],
            "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments or in Liquid."
          },
          "description": "Lists the devices associated with the customer profile."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            },
            "cio_subscription_preferences": {
              "type": "string",
              "description": "A person's stringified subscription preferences. These are preferences that a person set through the subscription center or attributes that you set on a person. A person who hasn't set their subscription preferences has computed preferences based on the nature of your topics (opt-in or opt-out). See the `_cio_subscription_preferences_computed` attribute for computed preferences.\n"
            },
            "_cio_subscription_preferences_computed": {
              "type": "string",
              "description": "Returns the computed subscription preferences for a person—any subscription preferences set on a person and the defaults for any subscription preferences _not_ set on a person—as stringified JSON. For example, if you have an \"opt-in\" topic that a person hasn't set a preference for, that topic would show `false`—even though a person doesn't have that attribute on their profile. [Learn more about topics](https://customer.io/docs/api/app/).  \n"
            }
          },
          "description": "Contains attributes assigned to this profile, including your workspace's people-identifiers (by default, these are `id`, `email`, and `cio_id`). Attributes are all stored as strings.",
          "additionalProperties": {
            "type": "string",
            "description": "Non-identifier attributes assigned to this person.",
            "x-additionalPropertiesName": "additional attributes"
          }
        },
        "timestamps": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person's ID was generated."
            },
            "email": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person's email address was added."
            },
            "cio_id": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when `cio_id` was assigned."
            },
            "unsubscribed": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when the person unsubscribed."
            },
            "_last_emailed": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The date-time when you last emailed a person."
            },
            "additionalProperties": {
              "format": "unix timestamp",
              "description": "Timestamps when attributes assigned to the person were set.",
              "x-additionalPropertiesName": "additional attribute timestamps"
            },
            "cio_subscription_preferences": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The datetime when a person's subscription preferences were last updated."
            },
            "_cio_subscription_preferences_computed": {
              "type": "integer",
              "description": "Because this value is computed and not actually set on a person, this value is always 0"
            }
          },
          "description": "The epoch timestamps when corresponding attributes were set on the customer profile."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "email",
            "id",
            "cio_id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": 2,
              "nullable": true,
              "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
            },
            "email": {
              "type": "string",
              "format": "email",
              "example": "test@example.com",
              "nullable": true,
              "description": "A person's email address, if set."
            },
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          },
          "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
        },
        "unsubscribed": {
          "type": "boolean",
          "description": "If true, the person is unsubscribed from messages."
        }
      },
      "description": "The profile you referenced by ID in the request."
    }
  }
}
object customer_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "metric"
          ],
          "properties": {
            "metric": {
              "enum": [
                "subscribed"
              ],
              "type": "string",
              "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp",
            "data"
          ],
          "properties": {
            "data": {
              "type": "object",
              "required": [
                "identifiers",
                "customer_id",
                "email_address"
              ],
              "properties": {
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "email_address": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                }
              },
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "customer"
              ],
              "type": "string",
              "example": "customer",
              "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
            }
          }
        }
      ],
      "title": "subscribed",
      "description": "A person subscribed to messages from you—their `unsubscribed` attribute was set to `false`."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "metric"
          ],
          "properties": {
            "metric": {
              "enum": [
                "unsubscribed"
              ],
              "type": "string",
              "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp",
            "data"
          ],
          "properties": {
            "data": {
              "type": "object",
              "required": [
                "identifiers",
                "customer_id",
                "email_address"
              ],
              "properties": {
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "email_address": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                }
              },
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "customer"
              ],
              "type": "string",
              "example": "customer",
              "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
            }
          }
        }
      ],
      "title": "unsubscribed",
      "description": "A person unsubscribed to messages from you—their `unsubscribed` attribute was set to `true`."
    },
    {
      "type": "object",
      "title": "changed subscription preferences",
      "required": [
        "metric",
        "event_id",
        "data",
        "timestamp"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers",
                "customer_id",
                "email_address",
                "content"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "example": "{\"topics\":{\"topic_1\":true}}",
                  "description": "Contains the subscription preferences that a person changed in a stringified object format. The `topic_1` key refers to a topic with an ID of `1`; you can get more information about each topic from our [App API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "email_address": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                }
              },
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            }
          ]
        },
        "metric": {
          "enum": [
            "cio_subscription_preferences_changed"
          ],
          "type": "string",
          "description": "The event we're reporting to your webhook endpoint. In this case, a person changed their subscription preferences."
        },
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "delivery_type": {
          "enum": [
            "email",
            "sms",
            "push",
            "in_app",
            "slack",
            "webhook"
          ],
          "type": "string",
          "example": "email",
          "description": "The type of delivery that resulted in a change to preferences."
        }
      },
      "description": "A person changed their subscription preferences through our subscription center or you changed their `cio_subscription_preferences` attribute values.\n\nSome fields in the `data` object change based on whether the message that resulted in the change originated from a broadcast, campaign, or newsletter.\n"
    }
  ],
  "title": "Customer",
  "description": "Events that occur when a customer subscribes or unsubscribes from your messages."
}
object customer_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp",
    "data"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "identifiers",
        "customer_id",
        "email_address"
      ],
      "properties": {
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "identifiers": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "d9c106000001",
              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
            }
          },
          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
        },
        "email_address": {
          "type": "string",
          "example": "test@example.com",
          "nullable": true,
          "description": "The email address of the customer."
        }
      },
      "description": "Contains information about the event, specific to the `object_type` and `metric`."
    },
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "customer"
      ],
      "type": "string",
      "example": "customer",
      "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
    }
  }
}
object customer_events
{
  "type": "object",
  "properties": {
    "customer_subscribed": {
      "type": "boolean",
      "description": "A person's `unsubscribed` attribute was explicitly set to `false`. Set to true to report `subscribed` events."
    },
    "customer_unsubscribed": {
      "type": "boolean",
      "description": "A person's `unsubscribed` attribute was explicitly set to `true`. Set to true to report `unsubscribed` events."
    },
    "cio_subscription_preferences_changed": {
      "type": "boolean",
      "description": "A person's subscription preferences changed. [Learn more about the subscription center](https://customer.io/docs/api/app/)."
    }
  },
  "description": "Describes the customer events reported from Customer.io to a webhook."
}
string customer_id
{
  "type": "string",
  "example": "42",
  "nullable": true,
  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
}
object customer_identifiers
{
  "type": "object",
  "required": [
    "email",
    "id",
    "cio_id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": 2,
      "nullable": true,
      "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
    },
    "email": {
      "type": "string",
      "format": "email",
      "example": "test@example.com",
      "nullable": true,
      "description": "A person's email address, if set."
    },
    "cio_id": {
      "type": "string",
      "example": "a3000001",
      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
    }
  },
  "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
}
string data_to_process
{
  "enum": [
    "all",
    "only_new",
    "only_existing"
  ],
  "type": "string",
  "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
}
string dedupe_id
{
  "type": "string",
  "format": "ulid",
  "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
}
string deduplicate_id
{
  "type": "string",
  "example": "15:1492548073",
  "readOnly": true,
  "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
}
string delivery_id
{
  "type": "string",
  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
  "description": "The instance of a message sent to a person."
}
object delivery_operations
{
  "type": "object",
  "title": "Delivery",
  "required": [
    "type",
    "action",
    "identifiers",
    "name",
    "attributes"
  ],
  "properties": {
    "name": {
      "enum": [
        "opened",
        "converted",
        "delivered"
      ],
      "type": "string",
      "description": "The name of the metric you want to attribute to this \"delivery\"."
    },
    "type": {
      "enum": [
        "delivery"
      ],
      "type": "string",
      "description": "The \"delivery\" type lets you attribute metrics to messages that don't self-report back to Customer.io, like push and in-app notifications."
    },
    "action": {
      "enum": [
        "event"
      ],
      "type": "string",
      "description": "An `event` action indicates a delivery event. Use the `name` to determine the specific metric that you want to attribute to this delivery."
    },
    "attributes": {
      "type": "object",
      "required": [
        "device_token"
      ],
      "properties": {
        "device_token": {
          "type": "string",
          "description": "The device that received the message."
        }
      },
      "description": "Contains information about the delivery and the individual who received the message."
    },
    "identifiers": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The `delivery_id` for the delivery that you want to attribute metrics to."
        }
      },
      "description": "Contains identifiers for the delivery itself."
    }
  },
  "description": "The \"delivery\" type lets you attribute metrics to messages that don't self-report back to Customer.io, like push and in-app notifications."
}
string device_id
{
  "type": "string",
  "description": "The identifier for a person's device—typically a device token."
}
object device_object
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The device token."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "platform"
      ],
      "properties": {
        "platform": {
          "enum": [
            "ios",
            "android"
          ],
          "type": "string",
          "description": "The device/messaging platform."
        },
        "last_used": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "device_os": {
              "type": "string",
              "description": "The operating system, including the version, on the device."
            },
            "app_version": {
              "type": "string",
              "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
            },
            "_last_status": {
              "enum": [
                "",
                "bounced",
                "sent",
                "suppressed"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
            },
            "device_model": {
              "type": "string",
              "description": "The model of the device a person uses."
            },
            "push_enabled": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string",
              "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
            },
            "device_locale": {
              "type": "string",
              "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
            },
            "cio_sdk_version": {
              "type": "string",
              "description": "The version of the Customer.io SDK in the app."
            }
          },
          "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
          "additionalProperties": {
            "type": "string",
            "description": "Custom properties that you want to associate with the device.",
            "x-additionalPropertiesName": "Custom Device Attributes"
          }
        }
      },
      "description": "Device information common to the v1 and v2 APIs."
    }
  ],
  "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments or in Liquid."
}
object device_object_cdp
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The device token."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "platform"
      ],
      "properties": {
        "platform": {
          "enum": [
            "ios",
            "android"
          ],
          "type": "string",
          "description": "The device/messaging platform."
        },
        "last_used": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "timezone": {
              "type": "string",
              "description": "The timezone of the device."
            },
            "device_os": {
              "type": "string",
              "description": "The operating system, including the version, on the device."
            },
            "app_version": {
              "type": "string",
              "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
            },
            "_last_status": {
              "enum": [
                "",
                "bounced",
                "sent",
                "suppressed"
              ],
              "type": "string",
              "readOnly": true,
              "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
            },
            "device_model": {
              "type": "string",
              "description": "The model of the device a person uses."
            },
            "network_wifi": {
              "type": "boolean",
              "description": "If `true`, the device's WiFi connection is on."
            },
            "push_enabled": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string",
              "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
            },
            "screen_width": {
              "type": "integer",
              "description": "The width of the device's screen in pixels."
            },
            "device_locale": {
              "type": "string",
              "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
            },
            "screen_height": {
              "type": "integer",
              "description": "The height of the device's screen in pixels."
            },
            "cio_sdk_version": {
              "type": "string",
              "description": "The version of the Customer.io SDK in the app."
            },
            "network_cellular": {
              "type": "boolean",
              "description": "If `true`, the device's cellular connection is on."
            },
            "network_bluetooth": {
              "type": "boolean",
              "description": "If `true`, the device's bluetooth connection is on."
            }
          },
          "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
          "additionalProperties": {
            "type": "string",
            "description": "Custom properties that you want to associate with the device.",
            "x-additionalPropertiesName": "Custom Device Attributes"
          }
        }
      },
      "description": "Device information common to the v1 and v2 APIs."
    }
  ],
  "description": "The properties representing an individual device in Journeys when sent from a Customer.io SDK that natively supports Data Pipelines (like iOS 3.x or later). [Our CDP-enabled SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting."
}
object device_object_cdp_common
{
  "type": "object",
  "required": [
    "platform"
  ],
  "properties": {
    "platform": {
      "enum": [
        "ios",
        "android"
      ],
      "type": "string",
      "description": "The device/messaging platform."
    },
    "last_used": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
    },
    "attributes": {
      "type": "object",
      "properties": {
        "timezone": {
          "type": "string",
          "description": "The timezone of the device."
        },
        "device_os": {
          "type": "string",
          "description": "The operating system, including the version, on the device."
        },
        "app_version": {
          "type": "string",
          "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
        },
        "_last_status": {
          "enum": [
            "",
            "bounced",
            "sent",
            "suppressed"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
        },
        "device_model": {
          "type": "string",
          "description": "The model of the device a person uses."
        },
        "network_wifi": {
          "type": "boolean",
          "description": "If `true`, the device's WiFi connection is on."
        },
        "push_enabled": {
          "enum": [
            "true",
            "false"
          ],
          "type": "string",
          "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
        },
        "screen_width": {
          "type": "integer",
          "description": "The width of the device's screen in pixels."
        },
        "device_locale": {
          "type": "string",
          "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
        },
        "screen_height": {
          "type": "integer",
          "description": "The height of the device's screen in pixels."
        },
        "cio_sdk_version": {
          "type": "string",
          "description": "The version of the Customer.io SDK in the app."
        },
        "network_cellular": {
          "type": "boolean",
          "description": "If `true`, the device's cellular connection is on."
        },
        "network_bluetooth": {
          "type": "boolean",
          "description": "If `true`, the device's bluetooth connection is on."
        }
      },
      "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
      "additionalProperties": {
        "type": "string",
        "description": "Custom properties that you want to associate with the device.",
        "x-additionalPropertiesName": "Custom Device Attributes"
      }
    }
  },
  "description": "Device information common to the v1 and v2 APIs."
}
object device_object_common
{
  "type": "object",
  "required": [
    "platform"
  ],
  "properties": {
    "platform": {
      "enum": [
        "ios",
        "android"
      ],
      "type": "string",
      "description": "The device/messaging platform."
    },
    "last_used": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
    },
    "attributes": {
      "type": "object",
      "properties": {
        "device_os": {
          "type": "string",
          "description": "The operating system, including the version, on the device."
        },
        "app_version": {
          "type": "string",
          "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
        },
        "_last_status": {
          "enum": [
            "",
            "bounced",
            "sent",
            "suppressed"
          ],
          "type": "string",
          "readOnly": true,
          "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
        },
        "device_model": {
          "type": "string",
          "description": "The model of the device a person uses."
        },
        "push_enabled": {
          "enum": [
            "true",
            "false"
          ],
          "type": "string",
          "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
        },
        "device_locale": {
          "type": "string",
          "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
        },
        "cio_sdk_version": {
          "type": "string",
          "description": "The version of the Customer.io SDK in the app."
        }
      },
      "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
      "additionalProperties": {
        "type": "string",
        "description": "Custom properties that you want to associate with the device.",
        "x-additionalPropertiesName": "Custom Device Attributes"
      }
    }
  },
  "description": "Device information common to the v1 and v2 APIs."
}
string device_platform
{
  "enum": [
    "android",
    "ios"
  ],
  "type": "string",
  "example": "ios",
  "description": "The device's operating system."
}
boolean disable_message_retention
{
  "type": "boolean",
  "default": false,
  "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
}
boolean drafts
{
  "type": "boolean",
  "description": "If true, your request returns both drafts and active/sent messages."
}
string email_address
{
  "type": "string",
  "example": "test@example.com",
  "nullable": true,
  "description": "The email address of the customer."
}
object email_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "An email could not be sent to the delivery provider and will be retried. The `failure_message` provides the reason for the failure."
        }
      }
    }
  ],
  "title": "attempted"
}
object email_bounced
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject",
                "failure_message"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                },
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "bounced"
          ],
          "type": "string",
          "description": "The delivery provider could not deliver an email."
        }
      }
    }
  ],
  "title": "bounced"
}
object email_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject",
                "href",
                "link_id"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "The recipient clicked a tracked link in the email."
        }
      }
    }
  ],
  "title": "clicked"
}
object email_converted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "converted"
          ],
          "type": "string",
          "description": "A person matched a conversion goal attributed to an email."
        }
      }
    }
  ],
  "title": "converted"
}
object email_delivered
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "delivered"
          ],
          "type": "string",
          "description": "A message was successfully delivered to a recipient."
        }
      }
    }
  ],
  "title": "delivered"
}
object email_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "drafted"
          ],
          "type": "string",
          "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
        }
      }
    }
  ],
  "title": "drafted"
}
object email_dropped
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject",
                "failure_message"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                },
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "dropped"
          ],
          "type": "string",
          "description": "Customer.io did not send an email because it was addressed to a person who was suppressed."
        }
      }
    }
  ],
  "title": "dropped"
}
object email_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "drafted"
              ],
              "type": "string",
              "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "An email could not be sent to the delivery provider and will be retried. The `failure_message` provides the reason for the failure."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The body content of your email. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "A message was successfully sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "delivered"
              ],
              "type": "string",
              "description": "A message was successfully delivered to a recipient."
            }
          }
        }
      ],
      "title": "delivered"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "opened"
              ],
              "type": "string",
              "description": "The recipient opened a message."
            }
          }
        }
      ],
      "title": "opened"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject",
                    "href",
                    "link_id"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "The recipient clicked a tracked link in the email."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "converted"
              ],
              "type": "string",
              "description": "A person matched a conversion goal attributed to an email."
            }
          }
        }
      ],
      "title": "converted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "unsubscribed"
              ],
              "type": "string",
              "description": "The recipient unsubscribed based on a particular message."
            }
          }
        }
      ],
      "title": "unsubscribed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject",
                    "failure_message"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    },
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "bounced"
              ],
              "type": "string",
              "description": "The delivery provider could not deliver an email."
            }
          }
        }
      ],
      "title": "bounced"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject",
                    "failure_message"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    },
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "dropped"
              ],
              "type": "string",
              "description": "Customer.io did not send an email because it was addressed to a person who was suppressed."
            }
          }
        }
      ],
      "title": "dropped"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "spammed"
              ],
              "type": "string",
              "description": "A recipient marked an email as spam."
            }
          }
        }
      ],
      "title": "spammed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject",
                    "failure_message"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    },
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "An email couldn't be sent to the delivery provider."
            }
          }
        }
      ],
      "title": "failed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "email"
              ],
              "type": "string",
              "description": "The event relates to an email action."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "subject",
                    "failure_message"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "The subject of the email."
                    },
                    "recipient": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The recipient address for an action."
                    },
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "undeliverable"
              ],
              "type": "string",
              "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
            }
          }
        }
      ],
      "title": "failed"
    }
  ],
  "title": "Email",
  "description": "Events representing an email.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/email_sent",
      "failed": "#/components/schemas/email_failed",
      "opened": "#/components/schemas/email_opened",
      "bounced": "#/components/schemas/email_bounced",
      "clicked": "#/components/schemas/email_clicked",
      "drafted": "#/components/schemas/email_drafted",
      "dropped": "#/components/schemas/email_dropped",
      "spammed": "#/components/schemas/email_spammed",
      "attempted": "#/components/schemas/email_attempted",
      "converted": "#/components/schemas/email_converted",
      "delivered": "#/components/schemas/email_delivered",
      "unsubscribed": "#/components/schemas/email_unsubscribed",
      "undeliverable": "#/components/schemas/email_undeliverable"
    },
    "propertyName": "metric"
  }
}
object email_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "email"
      ],
      "type": "string",
      "description": "The event relates to an email action."
    }
  }
}
object email_events
{
  "type": "object",
  "properties": {
    "email_sent": {
      "type": "boolean",
      "description": "Reports when a message is sent from Customer.io to the delivery provider. Set to true to report this event type."
    },
    "email_failed": {
      "type": "boolean",
      "description": "Reports when an email couldn't be sent to the delivery provider. Set to true to report this event type."
    },
    "email_opened": {
      "type": "boolean",
      "description": "Reports when a recipient opens a message. Set to true to report this event type."
    },
    "email_bounced": {
      "type": "boolean",
      "description": "Reports when the delivery provider is unable to deliver a message. Set to true to report this event type."
    },
    "email_clicked": {
      "type": "boolean",
      "description": "Reports when a person clicks a tracked link in a message. Set to true to report this event type."
    },
    "email_drafted": {
      "type": "boolean",
      "description": "Reports when a message draft is created. Set to true to report this event type."
    },
    "email_dropped": {
      "type": "boolean",
      "description": "Reports when a message isn't sent because the recipient is suppressed. Set to true to report this event type."
    },
    "email_spammed": {
      "type": "boolean",
      "description": "Reports a recipient marks a message as spam. Set to true to report this even type."
    },
    "email_deferred": {
      "type": "boolean",
      "description": "Reports when the delivery provider couldn't send a message and will retry. Set to true to report this event type."
    },
    "email_attempted": {
      "type": "boolean",
      "description": "Reports when a message cannot be sent to the delivery provider and will retry. Set to true to report this event type."
    },
    "email_converted": {
      "type": "boolean",
      "description": "Reports a conversion. Set to true to report this event type."
    },
    "email_delivered": {
      "type": "boolean",
      "description": "Reports when the delivery provider reports that a message is delivered to an inbox. Set to true to report this event type."
    },
    "email_unsubscribed": {
      "type": "boolean",
      "description": "Reports when a person unsubscribes through a particular email. Set to true to report this event type."
    }
  },
  "description": "Describes the email events reported from Customer.io to a webhook."
}
object email_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject",
                "failure_message"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                },
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "An email couldn't be sent to the delivery provider."
        }
      }
    }
  ],
  "title": "failed"
}
object email_opened
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "opened"
          ],
          "type": "string",
          "description": "The recipient opened a message."
        }
      }
    }
  ],
  "title": "opened"
}
object email_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The body content of your email. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "A message was successfully sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
        }
      }
    }
  ],
  "title": "sent"
}
object email_spammed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "spammed"
          ],
          "type": "string",
          "description": "A recipient marked an email as spam."
        }
      }
    }
  ],
  "title": "spammed"
}
object email_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject",
                "failure_message"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                },
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "failed"
}
object email_unsubscribed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "email"
          ],
          "type": "string",
          "description": "The event relates to an email action."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "subject"
              ],
              "properties": {
                "subject": {
                  "type": "string",
                  "description": "The subject of the email."
                },
                "recipient": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The recipient address for an action."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "unsubscribed"
          ],
          "type": "string",
          "description": "The recipient unsubscribed based on a particular message."
        }
      }
    }
  ],
  "title": "unsubscribed"
}
integer end
{
  "type": "integer",
  "format": "unix timestamp",
  "example": 1517702400,
  "description": "The unix timestamp representing the end of the export."
}
array errors
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "field": {
        "type": "string",
        "description": "The field containing the error."
      },
      "reason": {
        "type": "string",
        "description": "The reason for the error."
      },
      "message": {
        "type": "string",
        "description": "A detailed description of the error in the offending field."
      }
    }
  },
  "description": "An array of errors, where each object represents a different error."
}
object esp_suppression
{
  "type": "object",
  "properties": {
    "category": {
      "enum": [
        "bounces",
        "blocks",
        "spam",
        "invalid"
      ],
      "type": "string",
      "example": "bounces",
      "description": "The reason the addresses are suppressed."
    },
    "suppressions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "bounced.person@example.com",
            "description": "The email address that the ESP suppressed."
          },
          "reason": {
            "type": "string",
            "example": "Uploaded manually via api.customer.io",
            "description": "The reason for the suppression, as [recorded by Mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html)."
          },
          "status": {
            "type": "string",
            "example": "550",
            "description": "The status code for the suppression, as [recorded by mailgun](https://documentation.mailgun.com/en/latest/api-suppressions.html). This is normally `550`."
          },
          "created": {
            "type": "integer",
            "format": "Unix timestamp",
            "example": 1650895738,
            "description": "The timestamp (in seconds), when the ESP suppressed the address."
          }
        }
      },
      "description": "The addresses suppressed in this category."
    }
  }
}
object event_common_data
{
  "oneOf": [
    {
      "type": "object",
      "title": "API triggered broadcast",
      "required": [
        "trigger_id",
        "broadcast_id",
        "delivery_id",
        "action_id",
        "identifiers"
      ],
      "properties": {
        "action_id": {
          "type": "integer",
          "example": 96,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "journey_id": {
          "type": "string",
          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
        },
        "trigger_id": {
          "type": "integer",
          "example": 1,
          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "d9c106000001",
              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
            }
          },
          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "nullable": true,
          "description": "The identifier for a broadcast."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    },
    {
      "type": "object",
      "title": "Campaign",
      "required": [
        "campaign_id",
        "delivery_id",
        "action_id",
        "identifiers"
      ],
      "properties": {
        "action_id": {
          "type": "integer",
          "example": 96,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "journey_id": {
          "type": "string",
          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "nullable": true,
          "description": "The identifier for a campaign."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "d9c106000001",
              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
            }
          },
          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        },
        "trigger_event_id": {
          "type": "string",
          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
          "nullable": true,
          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
        }
      }
    },
    {
      "type": "object",
      "title": "Newsletter",
      "required": [
        "newsletter_id",
        "delivery_id",
        "identifiers"
      ],
      "properties": {
        "content_id": {
          "type": "integer",
          "example": 3,
          "description": "The identifier for a newsletter variant."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "identifiers": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "nullable": true,
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
            },
            "email": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            },
            "cio_id": {
              "type": "string",
              "example": "d9c106000001",
              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
            }
          },
          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "nullable": true,
          "description": "The identifier for a newsletter."
        }
      }
    }
  ]
}
string event_id
{
  "type": "string",
  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
  "description": "The unique ID of the reporting webhook event being sent."
}
object eventsRequest
{
  "oneOf": [
    {
      "type": "object",
      "title": "Standard event",
      "example": {
        "data": {
          "price": 23.45,
          "product": "socks"
        },
        "name": "purchase"
      },
      "required": [
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "properties": {
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that receives replies for the message, if applicable."
            },
            "recipient": {
              "type": "string",
              "example": "{{customer.email}}",
              "description": "The recipient address for an action."
            },
            "from_address": {
              "type": "string",
              "format": "email",
              "description": "The address you want to trigger messages from, overriding the `from` field in emails triggered by the event."
            }
          },
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`).",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. This is how you'll reference the event in campaigns or segments."
        },
        "type": {
          "enum": [
            "event"
          ],
          "type": "string",
          "description": "Sets the event type. If your event isn't a `page` or `screen` type event, we automatically set this property to `event`."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n\n**NOTE**: Events with a timestamp in the past 72 hours can trigger campaigns.\n"
        }
      }
    },
    {
      "type": "object",
      "title": "Page view",
      "example": {
        "data": {
          "last_name": "Person",
          "first_name": "Cool"
        },
        "name": "https://mysite.com/page",
        "type": "page"
      },
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`).",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in messages or convert to attributes if/when you associate this event with a person.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. This is how you'll reference the event in campaigns or segments."
        },
        "type": {
          "enum": [
            "page"
          ],
          "type": "string",
          "description": "Indicates that the event represents a page view. See [\"page view\" events](https://customer.io/docs/api/app/), for more information."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n"
        }
      }
    },
    {
      "type": "object",
      "title": "Mobile screen view",
      "example": {
        "data": {
          "from": "push-notification"
        },
        "name": "homepage",
        "type": "screen"
      },
      "required": [
        "anonymous_id",
        "name",
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ulid",
          "description": "An identifier used to deduplicate events. This value must be a [ULID](https://github.com/ulid/spec). If an event has the same value as an event we previously received, we won't show or process the duplicate. Note - our Python and Ruby libraries do not pass this id."
        },
        "data": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on your customer (referenced by `customer_id`).",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in messages or convert to attributes if/when you associate this event with a person.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the event. In general, this should be the name of the screen or deep link path that a person viewed, making it easy to segment your audience or trigger campaigns from these events. Make sure you trim leading and trailing spaces from this field."
        },
        "type": {
          "enum": [
            "screen"
          ],
          "type": "string",
          "description": "Indicates that the event represents a mobile screen view. You can also capture screen events directly with [our iOS SDK](https://customer.io/docs/api/app/)."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "description": "The unix timestamp when the event took place. If you don't provide this value, we use the date-time when we receive the event.\n"
        },
        "anonymous_id": {
          "type": "string",
          "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
        }
      }
    }
  ]
}
object exportObject
{
  "type": "object",
  "example": {
    "id": 110,
    "type": "customers",
    "total": 1234,
    "failed": false,
    "status": "done",
    "user_id": 0,
    "downloads": 2,
    "created_at": 1530296738,
    "updated_at": 1530296738,
    "user_email": "person@email.com",
    "description": "Customers with segment filters—in \\Purchased Flowers\\",
    "deduplicate_id": "110:1530296738"
  },
  "properties": {
    "id": {
      "type": "integer",
      "example": 110,
      "description": "The identifier for the export."
    },
    "type": {
      "enum": [
        "customers",
        "deliveries"
      ],
      "type": "string",
      "example": "customers",
      "description": "The type of information contained in the export."
    },
    "total": {
      "type": "integer",
      "description": "The number of entries in the export. Exports report 0 until done."
    },
    "failed": {
      "type": "boolean",
      "example": false,
      "description": "If true, the export was unsuccessful."
    },
    "status": {
      "enum": [
        "done",
        "pending",
        "failed"
      ],
      "type": "string",
      "description": "The state of your export where `done` indicates an export that you can download, `pending`, indicates that your export is not ready to download, and `failed` indicates an export that has failed and will not be downloadable."
    },
    "user_id": {
      "type": "integer",
      "description": "The user who created the export."
    },
    "downloads": {
      "type": "integer",
      "example": 2,
      "description": "Counts the total number of times the export has been downloaded."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "user_email": {
      "type": "string",
      "description": "The email of the user who created the export."
    },
    "description": {
      "type": "string",
      "example": "Customers with segment filters—in Purchased Flowers",
      "description": "A description of the export."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    }
  },
  "description": "Metadata about an export."
}
object exportSharedProps
{
  "type": "object",
  "properties": {
    "end": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1517702400,
      "description": "The unix timestamp representing the end of the export."
    },
    "start": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1517529600,
      "description": "The unix timestamp representing the beginning of the export."
    },
    "drafts": {
      "type": "boolean",
      "description": "If true, your request returns both drafts and active/sent messages."
    },
    "metric": {
      "enum": [
        "created",
        "attempted",
        "sent",
        "delivered",
        "opened",
        "clicked",
        "converted",
        "bounced",
        "spammed",
        "unsubscribed",
        "dropped",
        "failed",
        "undeliverable"
      ],
      "type": "string",
      "description": "Determines the metric(s) you want to return."
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The names of attributes you want to include in your export; each attribute name is an additional column in the export. If your message included liquid, you may add the attribute names used in your message so you can see the values populated for each delivery."
    }
  },
  "description": "Contains properties shared by export filters."
}
string export_description
{
  "type": "string",
  "example": "Customers with segment filters—in Purchased Flowers",
  "description": "A description of the export."
}
integer export_downloads
{
  "type": "integer",
  "example": 2,
  "description": "Counts the total number of times the export has been downloaded."
}
boolean export_failed
{
  "type": "boolean",
  "example": false,
  "description": "If true, the export was unsuccessful."
}
integer export_id
{
  "type": "integer",
  "example": 110,
  "description": "The identifier for the export."
}
string export_type
{
  "enum": [
    "customers",
    "deliveries"
  ],
  "type": "string",
  "example": "customers",
  "description": "The type of information contained in the export."
}
string failure_message
{
  "type": "string",
  "example": "Something went wrong!",
  "description": "Indicates the reason that an attempted message failed."
}
boolean fake_bcc
{
  "type": "boolean",
  "readOnly": true,
  "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
}
object fcmAndroid
{
  "oneOf": [
    {
      "type": "object",
      "title": "SDK Integration",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "object",
          "required": [
            "message"
          ],
          "properties": {
            "message": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "Data object only",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string",
                          "description": "The body of your push notification."
                        },
                        "link": {
                          "type": "string",
                          "description": "A deep link (to a page in your app), or a link to a web page."
                        },
                        "image": {
                          "type": "string",
                          "description": "The URL of an HTTPS image that you want to use for your message."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of your push notification."
                        }
                      },
                      "description": "Contains all properties interpreted by the SDK."
                    },
                    "android": {
                      "type": "object",
                      "properties": {
                        "notification": {
                          "type": "object",
                          "properties": {
                            "tag": {
                              "type": "string",
                              "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                            },
                            "icon": {
                              "type": "string",
                              "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                            },
                            "color": {
                              "type": "string",
                              "description": "The notification's icon color in `#rrggbb` format."
                            },
                            "sound": {
                              "type": "string",
                              "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                            },
                            "body_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "body_loc_key": {
                              "type": "string",
                              "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            },
                            "click_action": {
                              "type": "string",
                              "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                            },
                            "title_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "title_loc_key": {
                              "type": "string",
                              "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            }
                          },
                          "description": "Properties supported specifically by Android on FCM."
                        }
                      },
                      "description": "Contains properties that are **not** interpreted by the SDK but are defined by FCM. You need to write your own code to handle these Android push features."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Notification and data object",
                  "required": [
                    "notification"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "link": {
                          "type": "string",
                          "description": "A deep link (to a page in your app), or a link to a web page."
                        }
                      },
                      "description": "Contains the `link` property (interpreted by the SDK) and additional properties that you want to pass to your app."
                    },
                    "android": {
                      "type": "object",
                      "properties": {
                        "notification": {
                          "type": "object",
                          "properties": {
                            "tag": {
                              "type": "string",
                              "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                            },
                            "icon": {
                              "type": "string",
                              "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                            },
                            "color": {
                              "type": "string",
                              "description": "The notification's icon color in `#rrggbb` format."
                            },
                            "sound": {
                              "type": "string",
                              "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                            },
                            "body_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "body_loc_key": {
                              "type": "string",
                              "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            },
                            "click_action": {
                              "type": "string",
                              "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                            },
                            "title_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "title_loc_key": {
                              "type": "string",
                              "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            }
                          },
                          "description": "Properties supported specifically by Android on FCM."
                        }
                      },
                      "description": "Contains properties that are **not** interpreted by the SDK but are defined by FCM. You need to write your own code to handle these Android push features."
                    },
                    "notification": {
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string",
                          "description": "The body of your push notification."
                        },
                        "image": {
                          "type": "string",
                          "description": "The URL of an HTTPS image that you want to use for your message."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of your push notification."
                        }
                      },
                      "description": "Contains properties interpreted by the SDK except for the `link`."
                    }
                  }
                }
              ],
              "description": "The parent object for all push payloads."
            }
          }
        }
      }
    },
    {
      "type": "object",
      "title": "Custom Integration",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "object",
          "required": [
            "message"
          ],
          "properties": {
            "message": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "description": "Contains key-value pairs that your app interprets.",
                  "additionalProperties": {
                    "type": "string",
                    "x-doNotRender": true,
                    "x-additionalPropertiesName": "Attachment Names"
                  }
                },
                "android": {
                  "type": "object",
                  "properties": {
                    "notification": {
                      "type": "object",
                      "properties": {
                        "tag": {
                          "type": "string",
                          "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                        },
                        "icon": {
                          "type": "string",
                          "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                        },
                        "color": {
                          "type": "string",
                          "description": "The notification's icon color in `#rrggbb` format."
                        },
                        "sound": {
                          "type": "string",
                          "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                        },
                        "body_loc_arg": {
                          "type": "string",
                          "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                        },
                        "body_loc_key": {
                          "type": "string",
                          "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                        },
                        "click_action": {
                          "type": "string",
                          "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                        },
                        "title_loc_arg": {
                          "type": "string",
                          "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                        },
                        "title_loc_key": {
                          "type": "string",
                          "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                        }
                      },
                      "description": "Properties supported specifically by Android on FCM."
                    }
                  },
                  "description": "Contains custom push options for your notification."
                },
                "notification": {
                  "type": "object",
                  "properties": {
                    "body": {
                      "type": "string",
                      "description": "The body of your push notification."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of your push notification."
                    }
                  },
                  "description": "Contains the push body and title."
                }
              },
              "description": "The parent object for Android custom push payloads."
            }
          },
          "description": "A custom push payload for Android devices."
        }
      }
    }
  ]
}
object fcmAndroidWithSdk
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "oneOf": [
        {
          "type": "object",
          "title": "Data object only",
          "required": [
            "data"
          ],
          "properties": {
            "data": {
              "type": "object",
              "properties": {
                "body": {
                  "type": "string",
                  "description": "The body of your push notification."
                },
                "link": {
                  "type": "string",
                  "description": "A deep link (to a page in your app), or a link to a web page."
                },
                "image": {
                  "type": "string",
                  "description": "The URL of an HTTPS image that you want to use for your message."
                },
                "title": {
                  "type": "string",
                  "description": "The title of your push notification."
                }
              },
              "description": "Contains all properties interpreted by the SDK."
            },
            "android": {
              "type": "object",
              "properties": {
                "notification": {
                  "type": "object",
                  "properties": {
                    "tag": {
                      "type": "string",
                      "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                    },
                    "icon": {
                      "type": "string",
                      "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                    },
                    "color": {
                      "type": "string",
                      "description": "The notification's icon color in `#rrggbb` format."
                    },
                    "sound": {
                      "type": "string",
                      "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                    },
                    "body_loc_arg": {
                      "type": "string",
                      "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                    },
                    "body_loc_key": {
                      "type": "string",
                      "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                    },
                    "click_action": {
                      "type": "string",
                      "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                    },
                    "title_loc_arg": {
                      "type": "string",
                      "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                    },
                    "title_loc_key": {
                      "type": "string",
                      "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                    }
                  },
                  "description": "Properties supported specifically by Android on FCM."
                }
              },
              "description": "Contains properties that are **not** interpreted by the SDK but are defined by FCM. You need to write your own code to handle these Android push features."
            }
          }
        },
        {
          "type": "object",
          "title": "Notification and data object",
          "required": [
            "notification"
          ],
          "properties": {
            "data": {
              "type": "object",
              "properties": {
                "link": {
                  "type": "string",
                  "description": "A deep link (to a page in your app), or a link to a web page."
                }
              },
              "description": "Contains the `link` property (interpreted by the SDK) and additional properties that you want to pass to your app."
            },
            "android": {
              "type": "object",
              "properties": {
                "notification": {
                  "type": "object",
                  "properties": {
                    "tag": {
                      "type": "string",
                      "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                    },
                    "icon": {
                      "type": "string",
                      "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                    },
                    "color": {
                      "type": "string",
                      "description": "The notification's icon color in `#rrggbb` format."
                    },
                    "sound": {
                      "type": "string",
                      "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                    },
                    "body_loc_arg": {
                      "type": "string",
                      "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                    },
                    "body_loc_key": {
                      "type": "string",
                      "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                    },
                    "click_action": {
                      "type": "string",
                      "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                    },
                    "title_loc_arg": {
                      "type": "string",
                      "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                    },
                    "title_loc_key": {
                      "type": "string",
                      "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                    }
                  },
                  "description": "Properties supported specifically by Android on FCM."
                }
              },
              "description": "Contains properties that are **not** interpreted by the SDK but are defined by FCM. You need to write your own code to handle these Android push features."
            },
            "notification": {
              "type": "object",
              "properties": {
                "body": {
                  "type": "string",
                  "description": "The body of your push notification."
                },
                "image": {
                  "type": "string",
                  "description": "The URL of an HTTPS image that you want to use for your message."
                },
                "title": {
                  "type": "string",
                  "description": "The title of your push notification."
                }
              },
              "description": "Contains properties interpreted by the SDK except for the `link`."
            }
          }
        }
      ],
      "description": "The parent object for all push payloads."
    }
  }
}
object fcmAndroidWithoutSdk
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "description": "Contains key-value pairs that your app interprets.",
          "additionalProperties": {
            "type": "string",
            "x-doNotRender": true,
            "x-additionalPropertiesName": "Attachment Names"
          }
        },
        "android": {
          "type": "object",
          "properties": {
            "notification": {
              "type": "object",
              "properties": {
                "tag": {
                  "type": "string",
                  "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                },
                "icon": {
                  "type": "string",
                  "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                },
                "color": {
                  "type": "string",
                  "description": "The notification's icon color in `#rrggbb` format."
                },
                "sound": {
                  "type": "string",
                  "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                },
                "body_loc_arg": {
                  "type": "string",
                  "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                },
                "body_loc_key": {
                  "type": "string",
                  "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                },
                "click_action": {
                  "type": "string",
                  "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                },
                "title_loc_arg": {
                  "type": "string",
                  "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                },
                "title_loc_key": {
                  "type": "string",
                  "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                }
              },
              "description": "Properties supported specifically by Android on FCM."
            }
          },
          "description": "Contains custom push options for your notification."
        },
        "notification": {
          "type": "object",
          "properties": {
            "body": {
              "type": "string",
              "description": "The body of your push notification."
            },
            "title": {
              "type": "string",
              "description": "The title of your push notification."
            }
          },
          "description": "Contains the push body and title."
        }
      },
      "description": "The parent object for Android custom push payloads."
    }
  },
  "description": "A custom push payload for Android devices."
}
object fcmBasicPush
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "object",
      "required": [
        "notification"
      ],
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "link": {
              "type": "string",
              "description": "A deep link (to a page in your app), or a link to a web page."
            }
          },
          "description": "Contains the `link` property (interpreted by the SDK) and additional properties that you want to pass to your app."
        },
        "notification": {
          "type": "object",
          "required": [
            "body"
          ],
          "properties": {
            "body": {
              "type": "string",
              "description": "The body of your push notification."
            },
            "image": {
              "type": "string",
              "description": "The URL of an HTTPS image that you want to use for your message."
            },
            "title": {
              "type": "string",
              "description": "The title of your push notification."
            }
          },
          "description": "Contains properties interpreted by the SDK except for the `link`."
        }
      },
      "description": "The parent object for all custom push payloads."
    }
  }
}
object fcmIosWithSdk
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "object",
      "required": [
        "apns"
      ],
      "properties": {
        "apns": {
          "type": "object",
          "required": [
            "payload"
          ],
          "properties": {
            "headers": {
              "type": "object",
              "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
            },
            "payload": {
              "type": "object",
              "properties": {
                "CIO": {
                  "type": "object",
                  "required": [
                    "push"
                  ],
                  "properties": {
                    "push": {
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string",
                          "description": "The body of your push notification."
                        },
                        "link": {
                          "type": "string",
                          "description": "A deep link (to a page in your app), or a link to a web page."
                        },
                        "image": {
                          "type": "string",
                          "description": "The URL of an HTTPS image that you want to use for your message."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of your push notification."
                        }
                      },
                      "description": "A push payload for the iOS SDK."
                    }
                  },
                  "description": "Contains properties interpreted by the Customer.io iOS SDK."
                },
                "aps": {
                  "type": "object",
                  "properties": {
                    "alert": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Simple alert",
                          "description": "A simple alert message."
                        },
                        {
                          "type": "object",
                          "title": "Complex alert",
                          "properties": {
                            "body": {
                              "type": "string",
                              "description": "The body of your push notification."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of your push notification."
                            },
                            "loc-key": {
                              "type": "string",
                              "description": "The key for a localized message string in your app’s Localizable.strings file."
                            },
                            "loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                            },
                            "subtitle": {
                              "type": "string",
                              "description": "Additional information that explains the purpose of the notification."
                            },
                            "launch-image": {
                              "type": "string",
                              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                            },
                            "title-loc-key": {
                              "type": "string",
                              "description": "The key for a localized title string in your app’s Localizable.strings files."
                            },
                            "title-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                            },
                            "subtitle-loc-key": {
                              "type": "string",
                              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                            },
                            "subtitle-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                            }
                          }
                        }
                      ]
                    },
                    "badge": {
                      "type": "integer",
                      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                    },
                    "sound": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Regular alert",
                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                        },
                        {
                          "type": "object",
                          "title": "Critical alert",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                            },
                            "volume": {
                              "type": "number",
                              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                            },
                            "critical": {
                              "type": "integer",
                              "description": "1 indicates critical. 0 is not critical."
                            }
                          }
                        }
                      ]
                    },
                    "category": {
                      "type": "string",
                      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                    },
                    "thread-id": {
                      "type": "string",
                      "description": "An identifier to group related notifications."
                    },
                    "mutable-content": {
                      "type": "integer",
                      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                    },
                    "relevance-score": {
                      "type": "number",
                      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                    },
                    "content-available": {
                      "type": "integer",
                      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                    },
                    "target-content-id": {
                      "type": "string",
                      "description": "The identifier of the window brought forward."
                    },
                    "interruption-level": {
                      "enum": [
                        "passive",
                        "active",
                        "time-sensitive",
                        "critical"
                      ],
                      "type": "string",
                      "description": "Indicates the importance and delivery timing of a notification."
                    }
                  },
                  "description": "A push payload intended for an iOS device."
                }
              },
              "description": "Contains a push payload.",
              "additionalProperties": {
                "description": "Additional properties that you've set up your app to interpret outside of the Customer.io SDK.",
                "x-additionalPropertiesName": "Custom key-value pairs"
              }
            }
          },
          "description": "Defines a payload for iOS devices sent through Firebase Cloud Messaging (FCM)."
        }
      },
      "description": "The base object for all FCM payloads."
    }
  }
}
object fcmIosWithoutSdk
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "object",
      "required": [
        "apns"
      ],
      "properties": {
        "apns": {
          "type": "object",
          "required": [
            "payload"
          ],
          "properties": {
            "headers": {
              "type": "object",
              "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
            },
            "payload": {
              "type": "object",
              "properties": {
                "aps": {
                  "type": "object",
                  "properties": {
                    "alert": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Simple alert",
                          "description": "A simple alert message."
                        },
                        {
                          "type": "object",
                          "title": "Complex alert",
                          "properties": {
                            "body": {
                              "type": "string",
                              "description": "The body of your push notification."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of your push notification."
                            },
                            "loc-key": {
                              "type": "string",
                              "description": "The key for a localized message string in your app’s Localizable.strings file."
                            },
                            "loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                            },
                            "subtitle": {
                              "type": "string",
                              "description": "Additional information that explains the purpose of the notification."
                            },
                            "launch-image": {
                              "type": "string",
                              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                            },
                            "title-loc-key": {
                              "type": "string",
                              "description": "The key for a localized title string in your app’s Localizable.strings files."
                            },
                            "title-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                            },
                            "subtitle-loc-key": {
                              "type": "string",
                              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                            },
                            "subtitle-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                            }
                          }
                        }
                      ]
                    },
                    "badge": {
                      "type": "integer",
                      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                    },
                    "sound": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Regular alert",
                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                        },
                        {
                          "type": "object",
                          "title": "Critical alert",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                            },
                            "volume": {
                              "type": "number",
                              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                            },
                            "critical": {
                              "type": "integer",
                              "description": "1 indicates critical. 0 is not critical."
                            }
                          }
                        }
                      ]
                    },
                    "category": {
                      "type": "string",
                      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                    },
                    "thread-id": {
                      "type": "string",
                      "description": "An identifier to group related notifications."
                    },
                    "mutable-content": {
                      "type": "integer",
                      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                    },
                    "relevance-score": {
                      "type": "number",
                      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                    },
                    "content-available": {
                      "type": "integer",
                      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                    },
                    "target-content-id": {
                      "type": "string",
                      "description": "The identifier of the window brought forward."
                    },
                    "interruption-level": {
                      "enum": [
                        "passive",
                        "active",
                        "time-sensitive",
                        "critical"
                      ],
                      "type": "string",
                      "description": "Indicates the importance and delivery timing of a notification."
                    }
                  },
                  "description": "A push payload intended for an iOS device."
                }
              }
            }
          },
          "description": "Defines a push notification for iOS devices."
        }
      },
      "description": "The base object for all Firebase payloads."
    }
  }
}
object fixedGridWidget
{
  "type": "object",
  "required": [
    "type",
    "components",
    "columns"
  ],
  "properties": {
    "type": {
      "enum": [
        "fixedGridWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "columns": {
      "type": "integer",
      "description": "The number of columns in your grid."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "An array of child components that you want to make available inside this widget."
    },
    "itemPadding": {
      "type": "string",
      "description": "The padding between items in your grid."
    },
    "childAspectRatio": {
      "type": "number",
      "description": "The aspect ratio for items in the grid. Defaults to 1.0"
    }
  },
  "description": "Used to layout an in-app message in a fixed grid."
}
object fixedHorizontalListWidget
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "fixedHorizontalListWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "An array of child components that you want to make available inside this widget."
    },
    "mainAxisAlignment": {
      "enum": [
        "start",
        "end",
        "spaceBetween",
        "spaceAround",
        "spaceEvenly"
      ],
      "type": "string",
      "description": "The mainAxisAlignment property supports the following options."
    },
    "crossAxisAlignment": {
      "enum": [
        "center",
        "start",
        "end",
        "stretch",
        "baseline"
      ],
      "type": "string",
      "description": "The crossAxisAlignment property supports the following options"
    }
  },
  "description": "Displays a series of components in a horizontal list, like if you want to put an image and text next to each other."
}
object fixedHorizontalScrollWidget
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "fixedHorizontalListScrollWidget"
      ],
      "type": "string",
      "description": "Defines the widget type"
    },
    "height": {
      "type": "integer",
      "description": "The height of the widget in pixels."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "An array of child components that you want to make available inside this widget."
    }
  },
  "description": "A series of components that you can scroll through, like a carousel."
}
object fixedListWidget
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "fixedListWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "An array of child components that you want to make available inside this widget."
    },
    "mainAxisAlignment": {
      "enum": [
        "start",
        "end",
        "spaceBetween",
        "spaceAround",
        "spaceEvenly"
      ],
      "type": "string",
      "description": "The mainAxisAlignment property supports the following options."
    },
    "crossAxisAlignment": {
      "enum": [
        "center",
        "start",
        "end",
        "stretch",
        "baseline"
      ],
      "type": "string",
      "description": "The crossAxisAlignment property supports the following options"
    }
  },
  "description": "Displays a series of components in a vertical list."
}
boolean forgotten
{
  "type": "boolean",
  "example": false,
  "description": "If true, Customer.io does not retain the message content."
}
string from
{
  "type": "string",
  "example": "sentFrom@example.com",
  "readOnly": true,
  "description": "The address that the message is from, relevant if the action `type` is `email`."
}
string from_address
{
  "type": "string",
  "format": "email",
  "description": "The address you want to trigger messages from, overriding the `from` field in emails triggered by the event."
}
integer from_id
{
  "type": "integer",
  "example": 1,
  "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
}
array headers
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "example": "X-Mailgun-Tag",
        "description": "name of header"
      },
      "value": {
        "type": "string",
        "example": "tag-name-for-tracking",
        "description": "value of header"
      }
    }
  },
  "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
}
string href
{
  "type": "string",
  "example": "https://www.customer.io/docs",
  "description": "The URL of the link that a person clicked."
}
object iconWidget
{
  "type": "object",
  "required": [
    "type",
    "color",
    "value"
  ],
  "properties": {
    "font": {
      "description": "The icon font you want to use."
    },
    "size": {
      "type": "integer",
      "description": "The pixel size of the icon."
    },
    "type": {
      "enum": [
        "iconWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "color": {
      "type": "string",
      "description": "The color you want to use for this content. You can only set values here that are defined under [**Content** > **In-App Messages**](https://fly.customer.io/env/last/in-app-messages)."
    },
    "value": {
      "type": "string",
      "description": "The value of the icon that you want to use. For example, for font-awesome, you'd use the name of the icon."
    }
  },
  "description": "Displays an icon from an icon font that you've loaded into your app or project. You must load your icon font in the assets section of your app configuration."
}
object identify_person
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "identify"
          ],
          "type": "string",
          "description": "Indicates that the operation will `identify` the the item of the specified `type`."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "cio_subscription_preferences": {
              "type": "object",
              "example": {
                "topic_1": true,
                "topic_2": false,
                "topic_3": true
              },
              "properties": {
                "topics": {
                  "type": "object",
                  "description": "Contains active topics in your workspace, named `topic_<id>`.",
                  "additionalProperties": {
                    "type": "boolean",
                    "description": "Each property is a boolean named `topic_<id>`. Topic `id` values begin at `1` and increment for each new topic. You can find your topic ids in [Workspace Settings](https://fly.customer.io/workspaces/last/settings/subscription_center/topics) or by querying our [App API](https://customer.io/docs/api/app/#operation/getTopics). For each boolean, `true` means that a person is subscribed to the topic; false means they are unsubscribed. An empty or missing value reverts to the default preference for the topic (opt-in or opt-out).",
                    "x-additionalPropertiesName": "topic_<id>"
                  }
                }
              },
              "description": "Stores your audience's subscription preferences if you enable our [subscription center](https://customer.io/docs/api/app/) feature. These items are set automatically when people use the unsubscribe link in your messages, but you can set preferences outside the subscription flow. To update select topic preferences while preserving those set for other topics, use JSON dot notation `\"cio_subscription_preferences.topics.topic_<topic ID>\":<boolean>`."
            }
          },
          "description": "Attributes that you want to add or update for this person."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "allOf": [
              {
                "type": "object",
                "required": [
                  "identifiers"
                ],
                "properties": {
                  "identifiers": {
                    "type": "object",
                    "required": [
                      "object_type_id",
                      "object_id"
                    ],
                    "properties": {
                      "object_id": {
                        "type": "string",
                        "example": "acme",
                        "nullable": false,
                        "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                      },
                      "object_type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      }
                    },
                    "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                  }
                }
              },
              {
                "type": "object",
                "properties": {
                  "relationship_attributes": {
                    "type": "object",
                    "example": {
                      "role": "admin"
                    },
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              }
            ]
          },
          "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
        }
      }
    }
  ],
  "title": "identify",
  "description": "Add or update a person."
}
object imageWidget
{
  "type": "object",
  "required": [
    "type",
    "image"
  ],
  "properties": {
    "fit": {
      "enum": [
        "none",
        "fitWidth",
        "cover",
        "contain",
        "scaleDown",
        "fill",
        "fitHeight"
      ],
      "type": "string",
      "description": "Determines how the image fits your message. Defaults to `cover`."
    },
    "type": {
      "enum": [
        "imageWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "image": {
      "example": "$person.imageUrl",
      "description": "The URL of the image that you want ot use in your message."
    },
    "width": {
      "type": "integer",
      "description": "The width of the component in pixels, if you want to constrain it. If you don't set a height or width, we'll scale your content to fit your message or container."
    },
    "height": {
      "type": "integer",
      "description": "The height of the component in pixels, if you want to constrain it. If you don't set a height or width, we'll scale your content to fit your message or container."
    },
    "cornerRadius": {
      "type": "integer",
      "description": "Sets the radius of corners for an item in pixels, similar to the `border-radius` CSS property."
    },
    "fadeInDuration": {
      "type": "integer",
      "description": "The durration for the image to fade in, in milliseconds, similar to the `fadeIn` CSS transition property."
    }
  },
  "description": "Displays an image. You can provide the URL of an image. Or, if you use the template designer, you can upload an image and host it directly."
}
string import_description
{
  "type": "string",
  "description": "A helpful description that can help you find and recognize your import operation."
}
string import_identifier
{
  "enum": [
    "id",
    "email"
  ],
  "type": "string",
  "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
}
string import_name
{
  "type": "string",
  "description": "A friendly name for your import. This helps you identify your import."
}
object import_object
{
  "type": "object",
  "example": {
    "id": 30,
    "name": "account-object-import",
    "type": "object",
    "error": "possible error - The specified Object Type does not exist.",
    "state": "imported",
    "created_at": 1706081641,
    "updated_at": 1706081645,
    "description": "importing accounts",
    "rows_imported": 3,
    "object_type_id": 1,
    "rows_to_import": 3,
    "data_to_process": "all",
    "people_to_process": "all"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "This is the `import_id` you'll use if you want to [lookup your import operation](https://customer.io/docs/api/app/)."
    },
    "name": {
      "type": "string",
      "description": "A friendly name for your import. This helps you identify your import."
    },
    "type": {
      "enum": [
        "people",
        "event",
        "object",
        "relationship"
      ],
      "type": "string",
      "description": "The type of import."
    },
    "error": {
      "type": "string",
      "description": "If your import fails, this helps you understand why."
    },
    "state": {
      "enum": [
        "preprocessing",
        "preprocessed",
        "validating",
        "validated",
        "importing",
        "imported",
        "failed",
        "canceled"
      ],
      "type": "string",
      "description": "The state of the import—whether your import is being processed, fully completed (`imported`), or if it failed."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "identifier": {
      "enum": [
        "id",
        "email"
      ],
      "type": "string",
      "description": "The type of identifier you used to identify people in your CSV. Not applicable for object imports."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "description": {
      "type": "string",
      "description": "A helpful description that can help you find and recognize your import operation."
    },
    "rows_imported": {
      "type": "integer",
      "description": "The number of rows we imported from the CSV."
    },
    "object_type_id": {
      "type": "string",
      "example": "1",
      "nullable": false,
      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Only applies to object imports."
    },
    "rows_to_import": {
      "type": "integer",
      "description": "The total number of importable rows we found in the CSV."
    },
    "data_to_process": {
      "enum": [
        "all",
        "only_new",
        "only_existing"
      ],
      "type": "string",
      "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
    },
    "people_to_process": {
      "enum": [
        "all",
        "only_new",
        "only_existing"
      ],
      "type": "string",
      "description": "Returned for people and event imports, even if you imported using the field `data_to_process`. This field will be deprecated soon.\n"
    }
  },
  "description": "Represents an import operation."
}
object import_request
{
  "oneOf": [
    {
      "type": "object",
      "title": "people",
      "required": [
        "data_file_url",
        "name",
        "type",
        "identifier"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "A friendly name for your import. This helps you identify your import."
        },
        "type": {
          "enum": [
            "people"
          ],
          "type": "string",
          "description": "The type of import."
        },
        "identifier": {
          "enum": [
            "id",
            "email"
          ],
          "type": "string",
          "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
        },
        "description": {
          "type": "string",
          "description": "A helpful description that can help you find and recognize your import operation."
        },
        "data_file_url": {
          "type": "string",
          "description": "The URL or path to the CSV file you want to import."
        },
        "data_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
        }
      },
      "description": "Contains your import parameters."
    },
    {
      "type": "object",
      "title": "event",
      "required": [
        "data_file_url",
        "name",
        "type",
        "identifier"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "A friendly name for your import. This helps you identify your import."
        },
        "type": {
          "enum": [
            "event"
          ],
          "type": "string",
          "description": "The type of import."
        },
        "identifier": {
          "enum": [
            "id",
            "email"
          ],
          "type": "string",
          "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
        },
        "description": {
          "type": "string",
          "description": "A helpful description that can help you find and recognize your import operation."
        },
        "data_file_url": {
          "type": "string",
          "description": "The URL or path to the CSV file you want to import."
        },
        "data_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
        }
      },
      "description": "Contains your import parameters."
    },
    {
      "type": "object",
      "title": "relationship",
      "required": [
        "data_file_url",
        "name",
        "type",
        "identifier",
        "object_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "A friendly name for your import. This helps you identify your import."
        },
        "type": {
          "enum": [
            "relationship"
          ],
          "type": "string",
          "description": "The type of import."
        },
        "identifier": {
          "enum": [
            "id",
            "email"
          ],
          "type": "string",
          "description": "The type of identifier you want to use to identify people in your sheet—`id` or `email`. At least one column in the CSV must contain an identifier."
        },
        "description": {
          "type": "string",
          "description": "A helpful description that can help you find and recognize your import operation."
        },
        "data_file_url": {
          "type": "string",
          "description": "The URL or path to the CSV file you want to import."
        },
        "data_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
        }
      },
      "description": "Contains your import parameters."
    },
    {
      "type": "object",
      "title": "object",
      "required": [
        "data_file_url",
        "name",
        "type",
        "object_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "A friendly name for your import. This helps you identify your import."
        },
        "type": {
          "enum": [
            "object"
          ],
          "type": "string",
          "description": "The type of import."
        },
        "description": {
          "type": "string",
          "description": "A helpful description that can help you find and recognize your import operation."
        },
        "data_file_url": {
          "type": "string",
          "description": "The URL or path to the CSV file you want to import."
        },
        "object_type_id": {
          "type": "string",
          "example": "1",
          "nullable": false,
          "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
        },
        "data_to_process": {
          "enum": [
            "all",
            "only_new",
            "only_existing"
          ],
          "type": "string",
          "description": "Determines whether your import operation performs `all` add/update operations, only adds items (`only_new`), or only updates existing items (`only_existing`). Defaults to `all`. If `import_type` is `event`, you can only use `all` or `only_existing`. \n\nThis field was previously called `people_to_process` - we still support it but will deprecate it soon.\n"
        }
      },
      "description": "Contains your import parameters."
    }
  ]
}
string import_state
{
  "enum": [
    "preprocessing",
    "preprocessed",
    "validating",
    "validated",
    "importing",
    "imported",
    "failed",
    "canceled"
  ],
  "type": "string",
  "description": "The state of the import—whether your import is being processed, fully completed (`imported`), or if it failed."
}
string import_type
{
  "enum": [
    "people",
    "event",
    "object",
    "relationship"
  ],
  "type": "string",
  "description": "The type of import."
}
object inAppMessageActionEvent
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "in-app:message-action"
      ],
      "type": "string",
      "description": "Defines the event type."
    },
    "detail": {
      "type": "object",
      "properties": {
        "messageId": {
          "type": "string",
          "description": "Identifier string of the in-app message."
        },
        "actionName": {
          "type": "string",
          "description": "The name of the action specified when building the in-app message."
        },
        "deliveryId": {
          "type": "string",
          "description": "Delivery Id for the corresponding in-app message (not present in test message)."
        },
        "actionValue": {
          "type": "string",
          "description": "The type of action that triggered the event."
        }
      }
    }
  },
  "description": "Event object passed to the listener function when user performs an action in the in-app message."
}
object inAppMessageDismissedEvent
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "in-app:message-dismissed"
      ],
      "type": "string",
      "description": "Defines the event type."
    },
    "detail": {
      "type": "object",
      "properties": {
        "messageId": {
          "type": "string",
          "description": "Identifier string of the in-app message."
        },
        "deliveryId": {
          "type": "string",
          "description": "Delivery Id for the corresponding in-app message (not present in test message)."
        }
      },
      "description": "An object containing message specific data depending on the event type."
    }
  },
  "description": "Event object passed to the listener function when user dismisses an in-app message."
}
object inAppMessageErrorEvent
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "in-app:message-error"
      ],
      "type": "string",
      "description": "Defines the event type."
    },
    "detail": {
      "type": "object",
      "properties": {
        "messageId": {
          "type": "string",
          "description": "Identifier string of the in-app message."
        },
        "deliveryId": {
          "type": "string",
          "description": "Delivery Id for the corresponding in-app message (not present in test message)."
        }
      },
      "description": "An object containing message specific data depending on the event type."
    }
  },
  "description": "Event object passed to the listener function when an error occurs."
}
object inAppMessageEventDetail
{
  "type": "object",
  "properties": {
    "messageId": {
      "type": "string",
      "description": "Identifier string of the in-app message."
    },
    "deliveryId": {
      "type": "string",
      "description": "Delivery Id for the corresponding in-app message (not present in test message)."
    }
  },
  "description": "An object containing message specific data depending on the event type."
}
object inAppMessageOpenedEvent
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "in-app:message-opened"
      ],
      "type": "string",
      "description": "Defines the event type."
    },
    "detail": {
      "type": "object",
      "properties": {
        "messageId": {
          "type": "string",
          "description": "Identifier string of the in-app message."
        },
        "deliveryId": {
          "type": "string",
          "description": "Delivery Id for the corresponding in-app message (not present in test message)."
        }
      },
      "description": "An object containing message specific data depending on the event type."
    }
  },
  "description": "Event object passed to the listener function when user is shown an in-app message."
}
object in_app_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "An in-app message failed to send, but will be retried."
        }
      }
    }
  ],
  "title": "attempted"
}
object in_app_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "link_id",
                "href"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "recipient": {
                  "type": "string",
                  "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                },
                "tracked_response": {
                  "type": "string",
                  "description": "The *Action Name* of the action a person clicked/tapped in the message. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "The in-app message recipient clicked/tapped a component in a message with **Track Clicks** enabled. The *Track Clicks* setting is enabled by default for in-app messages. The payload includes a `tracked_response` key containing the *Action Name* of the component the person clicked/tapped. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
        }
      }
    }
  ],
  "title": "clicked"
}
object in_app_converted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "recipient": {
                  "type": "string",
                  "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "converted"
          ],
          "type": "string",
          "description": "A person matched a conversion goal attributed to an in-app notification."
        }
      }
    }
  ],
  "title": "converted"
}
object in_app_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "drafted"
          ],
          "type": "string",
          "description": "An in-app message draft was created."
        }
      }
    }
  ],
  "title": "drafted"
}
object in_app_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "drafted"
              ],
              "type": "string",
              "description": "An in-app message draft was created."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "An in-app message failed to send, but will be retried."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "An in-app message was sent from Customer.io. Because in-app messages are only delivered when a person's app is open, there may be a significant delay between when a message is sent and when it's \"opened\". If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "opened"
              ],
              "type": "string",
              "description": "A device opened an in-app message. Because messages appear automatically when a person opens your app (to the right page if using page rules), \"opened\" is essentially an \"impression\"—a person saw your message."
            }
          }
        }
      ],
      "title": "opened"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "link_id",
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                    },
                    "tracked_response": {
                      "type": "string",
                      "description": "The *Action Name* of the action a person clicked/tapped in the message. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "The in-app message recipient clicked/tapped a component in a message with **Track Clicks** enabled. The *Track Clicks* setting is enabled by default for in-app messages. The payload includes a `tracked_response` key containing the *Action Name* of the component the person clicked/tapped. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "recipient": {
                      "type": "string",
                      "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "converted"
              ],
              "type": "string",
              "description": "A person matched a conversion goal attributed to an in-app notification."
            }
          }
        }
      ],
      "title": "converted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "An in-app message failed to send."
            }
          }
        }
      ],
      "title": "failed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "in_app"
              ],
              "type": "string",
              "description": "The event relates to an in-app message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "undeliverable"
              ],
              "type": "string",
              "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
            }
          }
        }
      ],
      "title": "undeliverable"
    }
  ],
  "title": "In-App Messages",
  "description": "Events pertaining to in-app messages.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/in_app_sent",
      "failed": "#/components/schemas/in_app_failed",
      "opened": "#/components/schemas/in_app_opened",
      "clicked": "#/components/schemas/in_app_clicked",
      "drafted": "#/components/schemas/in_app_drafted",
      "attempted": "#/components/schemas/in_app_attempted",
      "converted": "#/components/schemas/in_app_converted",
      "undeliverable": "#/components/schemas/in_app_undeliverable"
    },
    "propertyName": "metric"
  }
}
object in_app_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "in_app"
      ],
      "type": "string",
      "description": "The event relates to an in-app message."
    }
  }
}
object in_app_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "An in-app message failed to send."
        }
      }
    }
  ],
  "title": "failed"
}
object in_app_opened
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "opened"
          ],
          "type": "string",
          "description": "A device opened an in-app message. Because messages appear automatically when a person opens your app (to the right page if using page rules), \"opened\" is essentially an \"impression\"—a person saw your message."
        }
      }
    }
  ],
  "title": "opened"
}
object in_app_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "recipient": {
                  "type": "string",
                  "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "An in-app message was sent from Customer.io. Because in-app messages are only delivered when a person's app is open, there may be a significant delay between when a message is sent and when it's \"opened\". If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
        }
      }
    }
  ],
  "title": "sent"
}
object in_app_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "in_app"
          ],
          "type": "string",
          "description": "The event relates to an in-app message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "undeliverable"
}
object iosFcmAndApns
{
  "oneOf": [
    {
      "type": "object",
      "title": "FCM",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "object",
          "required": [
            "apns"
          ],
          "properties": {
            "apns": {
              "type": "object",
              "required": [
                "payload"
              ],
              "properties": {
                "headers": {
                  "type": "object",
                  "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
                },
                "payload": {
                  "type": "object",
                  "properties": {
                    "CIO": {
                      "type": "object",
                      "required": [
                        "push"
                      ],
                      "properties": {
                        "push": {
                          "type": "object",
                          "properties": {
                            "body": {
                              "type": "string",
                              "description": "The body of your push notification."
                            },
                            "link": {
                              "type": "string",
                              "description": "A deep link (to a page in your app), or a link to a web page."
                            },
                            "image": {
                              "type": "string",
                              "description": "The URL of an HTTPS image that you want to use for your message."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of your push notification."
                            }
                          },
                          "description": "A push payload for the iOS SDK."
                        }
                      },
                      "description": "Contains properties interpreted by the Customer.io iOS SDK."
                    },
                    "aps": {
                      "type": "object",
                      "properties": {
                        "alert": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Simple alert",
                              "description": "A simple alert message."
                            },
                            {
                              "type": "object",
                              "title": "Complex alert",
                              "properties": {
                                "body": {
                                  "type": "string",
                                  "description": "The body of your push notification."
                                },
                                "title": {
                                  "type": "string",
                                  "description": "The title of your push notification."
                                },
                                "loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized message string in your app’s Localizable.strings file."
                                },
                                "loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                },
                                "subtitle": {
                                  "type": "string",
                                  "description": "Additional information that explains the purpose of the notification."
                                },
                                "launch-image": {
                                  "type": "string",
                                  "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                },
                                "title-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized title string in your app’s Localizable.strings files."
                                },
                                "title-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                },
                                "subtitle-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                },
                                "subtitle-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                }
                              }
                            }
                          ]
                        },
                        "badge": {
                          "type": "integer",
                          "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                        },
                        "sound": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Regular alert",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                            },
                            {
                              "type": "object",
                              "title": "Critical alert",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                },
                                "volume": {
                                  "type": "number",
                                  "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                },
                                "critical": {
                                  "type": "integer",
                                  "description": "1 indicates critical. 0 is not critical."
                                }
                              }
                            }
                          ]
                        },
                        "category": {
                          "type": "string",
                          "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                        },
                        "thread-id": {
                          "type": "string",
                          "description": "An identifier to group related notifications."
                        },
                        "mutable-content": {
                          "type": "integer",
                          "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                        },
                        "relevance-score": {
                          "type": "number",
                          "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                        },
                        "content-available": {
                          "type": "integer",
                          "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                        },
                        "target-content-id": {
                          "type": "string",
                          "description": "The identifier of the window brought forward."
                        },
                        "interruption-level": {
                          "enum": [
                            "passive",
                            "active",
                            "time-sensitive",
                            "critical"
                          ],
                          "type": "string",
                          "description": "Indicates the importance and delivery timing of a notification."
                        }
                      },
                      "description": "A push payload intended for an iOS device."
                    }
                  },
                  "description": "Contains a push payload.",
                  "additionalProperties": {
                    "description": "Additional properties that you've set up your app to interpret outside of the Customer.io SDK.",
                    "x-additionalPropertiesName": "Custom key-value pairs"
                  }
                }
              },
              "description": "Defines a payload for iOS devices sent through Firebase Cloud Messaging (FCM)."
            }
          },
          "description": "The base object for all FCM payloads."
        }
      }
    },
    {
      "type": "object",
      "title": "APNS",
      "properties": {
        "CIO": {
          "type": "object",
          "required": [
            "push"
          ],
          "properties": {
            "push": {
              "type": "object",
              "properties": {
                "link": {
                  "type": "string",
                  "description": "A deep link (to a page in your app), or a link to a web page."
                },
                "image": {
                  "type": "string",
                  "description": "The URL of an HTTPS image that you want to use for your message."
                }
              },
              "description": "Describes push notification options supported by the CIO SDK."
            }
          },
          "description": "Contains options supported by the Customer.io SDK."
        },
        "aps": {
          "type": "object",
          "properties": {
            "alert": {
              "oneOf": [
                {
                  "type": "string",
                  "title": "Simple alert",
                  "description": "A simple alert message."
                },
                {
                  "type": "object",
                  "title": "Complex alert",
                  "properties": {
                    "body": {
                      "type": "string",
                      "description": "The body of your push notification."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of your push notification."
                    },
                    "loc-key": {
                      "type": "string",
                      "description": "The key for a localized message string in your app’s Localizable.strings file."
                    },
                    "loc-args": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                    },
                    "subtitle": {
                      "type": "string",
                      "description": "Additional information that explains the purpose of the notification."
                    },
                    "launch-image": {
                      "type": "string",
                      "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                    },
                    "title-loc-key": {
                      "type": "string",
                      "description": "The key for a localized title string in your app’s Localizable.strings files."
                    },
                    "title-loc-args": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                    },
                    "subtitle-loc-key": {
                      "type": "string",
                      "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                    },
                    "subtitle-loc-args": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                    }
                  }
                }
              ]
            },
            "badge": {
              "type": "integer",
              "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
            },
            "sound": {
              "oneOf": [
                {
                  "type": "string",
                  "title": "Regular alert",
                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                },
                {
                  "type": "object",
                  "title": "Critical alert",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                    },
                    "volume": {
                      "type": "number",
                      "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                    },
                    "critical": {
                      "type": "integer",
                      "description": "1 indicates critical. 0 is not critical."
                    }
                  }
                }
              ]
            },
            "category": {
              "type": "string",
              "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
            },
            "thread-id": {
              "type": "string",
              "description": "An identifier to group related notifications."
            },
            "mutable-content": {
              "type": "integer",
              "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
            },
            "relevance-score": {
              "type": "number",
              "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
            },
            "content-available": {
              "type": "integer",
              "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
            },
            "target-content-id": {
              "type": "string",
              "description": "The identifier of the window brought forward."
            },
            "interruption-level": {
              "enum": [
                "passive",
                "active",
                "time-sensitive",
                "critical"
              ],
              "type": "string",
              "description": "Indicates the importance and delivery timing of a notification."
            }
          },
          "description": "A push payload intended for an iOS device."
        }
      }
    }
  ],
  "description": "Your payload changes depending on whether you send to iOS devices through Google's Firebase Cloud Messaging (FCM) or Apple's Push Notification service (APNs)."
}
object iosSharedOptions
{
  "type": "object",
  "properties": {
    "alert": {
      "oneOf": [
        {
          "type": "string",
          "title": "Simple alert",
          "description": "A simple alert message."
        },
        {
          "type": "object",
          "title": "Complex alert",
          "properties": {
            "body": {
              "type": "string",
              "description": "The body of your push notification."
            },
            "title": {
              "type": "string",
              "description": "The title of your push notification."
            },
            "loc-key": {
              "type": "string",
              "description": "The key for a localized message string in your app’s Localizable.strings file."
            },
            "loc-args": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
            },
            "subtitle": {
              "type": "string",
              "description": "Additional information that explains the purpose of the notification."
            },
            "launch-image": {
              "type": "string",
              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
            },
            "title-loc-key": {
              "type": "string",
              "description": "The key for a localized title string in your app’s Localizable.strings files."
            },
            "title-loc-args": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
            },
            "subtitle-loc-key": {
              "type": "string",
              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
            },
            "subtitle-loc-args": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
            }
          }
        }
      ]
    },
    "badge": {
      "type": "integer",
      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
    },
    "sound": {
      "oneOf": [
        {
          "type": "string",
          "title": "Regular alert",
          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
        },
        {
          "type": "object",
          "title": "Critical alert",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
            },
            "volume": {
              "type": "number",
              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
            },
            "critical": {
              "type": "integer",
              "description": "1 indicates critical. 0 is not critical."
            }
          }
        }
      ]
    },
    "category": {
      "type": "string",
      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
    },
    "thread-id": {
      "type": "string",
      "description": "An identifier to group related notifications."
    },
    "mutable-content": {
      "type": "integer",
      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
    },
    "relevance-score": {
      "type": "number",
      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
    },
    "content-available": {
      "type": "integer",
      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
    },
    "target-content-id": {
      "type": "string",
      "description": "The identifier of the window brought forward."
    },
    "interruption-level": {
      "enum": [
        "passive",
        "active",
        "time-sensitive",
        "critical"
      ],
      "type": "string",
      "description": "Indicates the importance and delivery timing of a notification."
    }
  },
  "description": "A push payload intended for an iOS device."
}
string journey_id
{
  "type": "string",
  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
}
string language
{
  "type": "string",
  "example": "fr",
  "readOnly": true,
  "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
}
object linkMetrics
{
  "type": "object",
  "properties": {
    "link": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1234,
          "description": "The ID of the link."
        },
        "href": {
          "type": "string",
          "example": "https://customer.io/docs",
          "description": "The link destination—a URL, mailto, etc."
        }
      }
    },
    "metric": {
      "type": "object",
      "properties": {
        "series": {
          "type": "object",
          "properties": {
            "clicked": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "example": [
                1,
                3,
                5,
                7
              ],
              "description": "An array of results from oldest to newest, where each result indicates a period."
            }
          }
        }
      },
      "description": "Contains metrics for the link."
    }
  }
}
integer link_id
{
  "type": "integer",
  "example": 1,
  "description": "The identifier for the tracked link that a person clicked or tapped."
}
object messageMetrics
{
  "type": "object",
  "properties": {
    "sent": {
      "type": "integer",
      "description": "The timestamp when the message was `sent`."
    },
    "failed": {
      "type": "integer",
      "description": "The timestamp when the message `failed`."
    },
    "opened": {
      "type": "integer",
      "description": "The timestamp when the message was `opened`."
    },
    "bounced": {
      "type": "integer",
      "description": "The timestamp when the message `bounced`."
    },
    "clicked": {
      "type": "integer",
      "description": "The timestamp when the message was `clicked`."
    },
    "created": {
      "type": "integer",
      "description": "The timestamp when the message was `created`."
    },
    "drafted": {
      "type": "integer",
      "description": "The timestamp when the message was `drafted`."
    },
    "dropped": {
      "type": "integer",
      "description": "The timestamp when the message was `dropped`."
    },
    "spammed": {
      "type": "integer",
      "description": "The timestamp when the message was marked as spam."
    },
    "converted": {
      "type": "integer",
      "description": "The timestamp when the message was `converted`."
    },
    "delivered": {
      "type": "integer",
      "description": "The timestamp when the message was `delivered`."
    },
    "unsubscribed": {
      "type": "integer",
      "description": "The timestamp when a person unsubscribed based on this message."
    },
    "undeliverable": {
      "type": "integer",
      "description": "The timestamp when the message became `undeliverable`."
    }
  },
  "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
}
object messageObject
{
  "type": "object",
  "example": {
    "id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
    "type": "email",
    "created": 1619137767,
    "metrics": {
      "sent": 1619137768,
      "delivered": 1619137768
    },
    "subject": "Did you get that thing I sent you?",
    "action_id": 215,
    "forgotten": false,
    "recipient": "person@example.com",
    "content_id": null,
    "campaign_id": 23,
    "customer_id": null,
    "broadcast_id": null,
    "newsletter_id": null,
    "deduplicate_id": "ag1q6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=:1619137768",
    "failure_message": null,
    "msg_template_id": 43,
    "parent_action_id": null,
    "trigger_event_id": null
  },
  "properties": {
    "id": {
      "type": "string",
      "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
      "readOnly": true,
      "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push"
      ],
      "type": "string",
      "example": "email",
      "readOnly": true,
      "description": "The type of message/action."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "metrics": {
      "type": "object",
      "properties": {
        "sent": {
          "type": "integer",
          "description": "The timestamp when the message was `sent`."
        },
        "failed": {
          "type": "integer",
          "description": "The timestamp when the message `failed`."
        },
        "opened": {
          "type": "integer",
          "description": "The timestamp when the message was `opened`."
        },
        "bounced": {
          "type": "integer",
          "description": "The timestamp when the message `bounced`."
        },
        "clicked": {
          "type": "integer",
          "description": "The timestamp when the message was `clicked`."
        },
        "created": {
          "type": "integer",
          "description": "The timestamp when the message was `created`."
        },
        "drafted": {
          "type": "integer",
          "description": "The timestamp when the message was `drafted`."
        },
        "dropped": {
          "type": "integer",
          "description": "The timestamp when the message was `dropped`."
        },
        "spammed": {
          "type": "integer",
          "description": "The timestamp when the message was marked as spam."
        },
        "converted": {
          "type": "integer",
          "description": "The timestamp when the message was `converted`."
        },
        "delivered": {
          "type": "integer",
          "description": "The timestamp when the message was `delivered`."
        },
        "unsubscribed": {
          "type": "integer",
          "description": "The timestamp when a person unsubscribed based on this message."
        },
        "undeliverable": {
          "type": "integer",
          "description": "The timestamp when the message became `undeliverable`."
        }
      },
      "description": "Metrics for an individual instance of a message; each item in the object represents the timestamp when a message achieved a particular metric. This object only contains metrics that have been recorded."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "action_id": {
      "type": "integer",
      "example": 96,
      "nullable": true,
      "readOnly": true,
      "description": "The identifier for an action."
    },
    "forgotten": {
      "type": "boolean",
      "description": "If true message contents are not retained by Customer.io."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "description": "The recipient address for an action."
    },
    "content_id": {
      "type": "integer",
      "example": 1,
      "nullable": true,
      "readOnly": true,
      "description": "The identifier for a newsletter variant."
    },
    "campaign_id": {
      "type": "integer",
      "example": 5,
      "nullable": true,
      "description": "The identifier for a campaign."
    },
    "customer_id": {
      "type": "string",
      "example": "42",
      "nullable": true,
      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
    },
    "broadcast_id": {
      "type": "integer",
      "example": 2,
      "nullable": true,
      "description": "The identifier for a broadcast."
    },
    "newsletter_id": {
      "type": "integer",
      "example": 10,
      "nullable": true,
      "description": "The identifier for a newsletter."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "failure_message": {
      "type": "string",
      "nullable": true,
      "description": "Explains why a message failed, if applicable."
    },
    "parent_action_id": {
      "type": "integer",
      "example": 1,
      "readOnly": true,
      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
    },
    "trigger_event_id": {
      "type": "string",
      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
      "nullable": true,
      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
    },
    "message_template_id": {
      "type": "integer",
      "readOnly": true,
      "deprecated": true,
      "description": "The identifier of the message template used to create a message."
    },
    "customer_identifiers": {
      "type": "object",
      "required": [
        "email",
        "id",
        "cio_id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": 2,
          "nullable": true,
          "description": "A person's unique ID, if set. This is the same as the `customer_id` if present."
        },
        "email": {
          "type": "string",
          "format": "email",
          "example": "test@example.com",
          "nullable": true,
          "description": "A person's email address, if set."
        },
        "cio_id": {
          "type": "string",
          "example": "a3000001",
          "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
        }
      },
      "description": "Contains identifiers for the person represented in a response—`id`, `cio_id`, and `email` (if your workspace uses the *Email or ID* setting). If the person's `id` or `email` is not set, the value will be null.\n\nWe recommend that you use this object rather than the less descriptive `customer_id`.\n"
    }
  },
  "description": "Describes an individual message delivery. The object contains keys for all possible parents of the message (`newsletter_id`, `broadcast_id`, etc) but only the parents of the delivery are populated. Other parent IDs are null."
}
object messageTotalMetrics
{
  "type": "object",
  "properties": {
    "sent": {
      "type": "integer",
      "description": "The number of `sent` messages"
    },
    "failed": {
      "type": "integer",
      "description": "The number of `failed` messages."
    },
    "opened": {
      "type": "integer",
      "description": "The number of `opened` messages"
    },
    "bounced": {
      "type": "integer",
      "description": "The number of `bounced` messages."
    },
    "clicked": {
      "type": "integer",
      "description": "The number of `clicked` messages."
    },
    "created": {
      "type": "integer",
      "description": "The number of `created` messages."
    },
    "drafted": {
      "type": "integer",
      "description": "The number of `drafted` messages."
    },
    "dropped": {
      "type": "integer",
      "description": "The number of `dropped` messages."
    },
    "spammed": {
      "type": "integer",
      "description": "The number of messages marked as spam."
    },
    "converted": {
      "type": "integer",
      "description": "The number of `converted` messages."
    },
    "delivered": {
      "type": "integer",
      "description": "The number of `delivered` messages."
    },
    "unsubscribed": {
      "type": "integer",
      "description": "The number of unsubscribes attributed to messages."
    },
    "undeliverable": {
      "type": "integer",
      "description": "The number of `undeliverable` messages."
    }
  },
  "description": "Total metrics over the lifespan of the requested item."
}
string messageType
{
  "enum": [
    "email",
    "webhook",
    "twilio",
    "slack",
    "push"
  ],
  "type": "string",
  "example": "email",
  "readOnly": true,
  "description": "The type of message/action."
}
string message_id
{
  "type": "string",
  "example": "dgOq6QWq6QUBAAF4_CGoeVX7mFkDbRFu7ek=",
  "readOnly": true,
  "description": "The identifier for a delivery—the instance of a message intended for an individual recipient."
}
integer message_template_id
{
  "type": "integer",
  "readOnly": true,
  "deprecated": true,
  "description": "The identifier of the message template used to create a message."
}
string metric
{
  "enum": [
    "created",
    "attempted",
    "sent",
    "delivered",
    "opened",
    "clicked",
    "converted",
    "bounced",
    "spammed",
    "unsubscribed",
    "dropped",
    "failed",
    "undeliverable"
  ],
  "type": "string",
  "description": "Determines the metric(s) you want to return."
}
array msg_template_ids
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "integer",
        "description": "The identifier for the template."
      },
      "type": {
        "enum": [
          "email",
          "webhook",
          "push",
          "sms",
          "slack"
        ],
        "type": "string",
        "description": "The type of template."
      }
    }
  },
  "deprecated": true,
  "description": "Indicates the message template(s) used in this broadcast."
}
object newsletterObject
{
  "type": "object",
  "example": {
    "id": 128275,
    "name": "Example Newsletter",
    "tags": [
      "Example Tag"
    ],
    "type": "email",
    "created": 1481653929,
    "sent_at": null,
    "updated": 1484870424,
    "content_ids": [
      45,
      90
    ],
    "deduplicate_id": "128275:1484870424",
    "recipient_segment_ids": [
      10
    ],
    "subscription_topic_id": 1
  },
  "properties": {
    "id": {
      "type": "integer",
      "example": 10,
      "description": "The identifier for a newsletter."
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the newsletter."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of tags you set on this newsletter."
    },
    "type": {
      "enum": [
        "email",
        "webhook",
        "twilio",
        "slack",
        "push",
        "in_app"
      ],
      "type": "string",
      "description": "The type of newsletter—`email`, `twilio`, etc."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "sent_at": {
      "type": "integer",
      "format": "unix timestamp",
      "description": "The last time the newsletter was sent."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "content_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "A list of languages in a multi-language newsletter and/or A/B test variants for this message. [Look up a newsletter variant](https://customer.io/docs/api/app/) to get more information about an individual content ID."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    },
    "recipient_segment_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "A list of segments used in a newsletter's recipient filter, returned if newsletter recipients were filtered by one or more segments."
    },
    "subscription_topic_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of a subscription topic. Remember, subscription topics are assigned an incrementing number, starting at 1."
    }
  }
}
integer newsletter_id
{
  "type": "integer",
  "example": 10,
  "description": "The identifier for a newsletter."
}
string next
{
  "type": "string",
  "description": "Indicates the next page of results. Add `?start=<next_value>` to the request to get the next page of results."
}
object notAudienceFilter
{
  "oneOf": [
    {
      "type": "object",
      "title": "and",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "type": "object",
            "title": "People Filter",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *any* conditions."
              },
              "and": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *all* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "attribute",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              },
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            },
            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
          },
          "description": "Match *all* conditions to return results."
        }
      }
    },
    {
      "type": "object",
      "title": "or",
      "properties": {
        "or": {
          "type": "array",
          "items": {
            "type": "object",
            "title": "People Filter",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *any* conditions."
              },
              "and": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "segment": {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "example": 4,
                              "description": "The ID of the segment you want to return people from."
                            }
                          },
                          "description": "Provide the `id` of a segment containing people you want to search for."
                        }
                      },
                      "description": "Filter for people who belong to a segment."
                    },
                    {
                      "type": "object",
                      "title": "audience",
                      "properties": {
                        "attribute": {
                          "type": "object",
                          "title": "attribute",
                          "example": {
                            "field": "unsubscribed",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "first_name",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your audience by attribute."
                        }
                      },
                      "description": "filter for people who have an attribute or an attribute value."
                    }
                  ]
                },
                "description": "Returns results matching *all* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "segment": {
                                  "type": "object",
                                  "title": "segment",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "example": 4,
                                      "description": "The ID of the segment you want to return people from."
                                    }
                                  },
                                  "description": "Provide the `id` of a segment containing people you want to search for."
                                }
                              },
                              "description": "Filter for people who belong to a segment."
                            },
                            {
                              "type": "object",
                              "title": "audience",
                              "properties": {
                                "attribute": {
                                  "type": "object",
                                  "title": "attribute",
                                  "example": {
                                    "field": "unsubscribed",
                                    "value": true,
                                    "operator": "eq"
                                  },
                                  "required": [
                                    "field",
                                    "operator"
                                  ],
                                  "properties": {
                                    "field": {
                                      "type": "string",
                                      "example": "first_name",
                                      "description": "The name of the attribute you want to filter against."
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                    },
                                    "operator": {
                                      "enum": [
                                        "eq",
                                        "exists"
                                      ],
                                      "type": "string",
                                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                    }
                                  },
                                  "description": "Filter your audience by attribute."
                                }
                              },
                              "description": "filter for people who have an attribute or an attribute value."
                            }
                          ]
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "segment": {
                        "type": "object",
                        "title": "segment",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 4,
                            "description": "The ID of the segment you want to return people from."
                          }
                        },
                        "description": "Provide the `id` of a segment containing people you want to search for."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "attribute",
                    "properties": {
                      "attribute": {
                        "type": "object",
                        "title": "attribute",
                        "example": {
                          "field": "unsubscribed",
                          "value": true,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "first_name",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your audience by attribute."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "segment": {
                "type": "object",
                "title": "segment",
                "properties": {
                  "id": {
                    "type": "integer",
                    "example": 4,
                    "description": "The ID of the segment you want to return people from."
                  }
                },
                "description": "Provide the `id` of a segment containing people you want to search for."
              },
              "attribute": {
                "type": "object",
                "title": "attribute",
                "example": {
                  "field": "unsubscribed",
                  "value": true,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "first_name",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your audience by attribute."
              }
            },
            "description": "When filtering for people, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `segment` and `attribute` represent the individual conditions you can filter a group of people for."
          },
          "description": "Match *any* condition to return results."
        }
      }
    },
    {
      "type": "object",
      "title": "segment",
      "properties": {
        "segment": {
          "type": "object",
          "title": "segment",
          "properties": {
            "id": {
              "type": "integer",
              "example": 4,
              "description": "The ID of the segment you want to return people from."
            }
          },
          "description": "Provide the `id` of a segment containing people you want to search for."
        }
      }
    },
    {
      "type": "object",
      "title": "attribute",
      "properties": {
        "attribute": {
          "type": "object",
          "title": "attribute",
          "example": {
            "field": "unsubscribed",
            "value": true,
            "operator": "eq"
          },
          "required": [
            "field",
            "operator"
          ],
          "properties": {
            "field": {
              "type": "string",
              "example": "first_name",
              "description": "The name of the attribute you want to filter against."
            },
            "value": {
              "type": "string",
              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
            },
            "operator": {
              "enum": [
                "eq",
                "exists"
              ],
              "type": "string",
              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
            }
          },
          "description": "Filter your audience by attribute."
        }
      }
    }
  ],
  "title": "not",
  "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
}
string not_nullable_customer_id
{
  "type": "string",
  "example": "42",
  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
}
string not_nullable_email_address
{
  "type": "string",
  "example": "test@example.com",
  "description": "The email address of the customer."
}
object objectFilter
{
  "oneOf": [
    {
      "type": "object",
      "title": "and",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "object attribute",
                  "example": {
                    "field": "cancelled",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "location",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your objects by their attributes."
                },
                "description": "Returns results matching *any* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "title": "object attribute",
                          "example": {
                            "field": "cancelled",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "location",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your objects by their attributes."
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "title": "object attribute",
                          "example": {
                            "field": "cancelled",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "location",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your objects by their attributes."
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "object attribute",
                    "properties": {
                      "object_attribute": {
                        "type": "object",
                        "title": "object attribute",
                        "example": {
                          "field": "cancelled",
                          "value": true,
                          "type_id": 1,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator",
                          "type_id"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "location",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "type_id": {
                            "type": "string",
                            "example": "1",
                            "nullable": false,
                            "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your objects by their attributes."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "object_attribute": {
                "type": "object",
                "title": "object attribute",
                "example": {
                  "field": "cancelled",
                  "value": true,
                  "type_id": 1,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator",
                  "type_id"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "location",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "type_id": {
                    "type": "string",
                    "example": "1",
                    "nullable": false,
                    "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your objects by their attributes."
              }
            }
          },
          "description": "Match *all* conditions to return results."
        }
      }
    },
    {
      "type": "object",
      "title": "or",
      "properties": {
        "or": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "and": {
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "object attribute",
                  "example": {
                    "field": "cancelled",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "location",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your objects by their attributes."
                },
                "description": "Returns results matching *all* conditions."
              },
              "not": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "and",
                    "properties": {
                      "and": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "title": "object attribute",
                          "example": {
                            "field": "cancelled",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "location",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your objects by their attributes."
                        },
                        "description": "Match *all* conditions to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "or",
                    "properties": {
                      "or": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "title": "object attribute",
                          "example": {
                            "field": "cancelled",
                            "value": true,
                            "operator": "eq"
                          },
                          "required": [
                            "field",
                            "operator"
                          ],
                          "properties": {
                            "field": {
                              "type": "string",
                              "example": "location",
                              "description": "The name of the attribute you want to filter against."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                            },
                            "operator": {
                              "enum": [
                                "eq",
                                "exists"
                              ],
                              "type": "string",
                              "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                            }
                          },
                          "description": "Filter your objects by their attributes."
                        },
                        "description": "Match *any* condition to return results."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "object attribute",
                    "properties": {
                      "object_attribute": {
                        "type": "object",
                        "title": "object attribute",
                        "example": {
                          "field": "cancelled",
                          "value": true,
                          "type_id": 1,
                          "operator": "eq"
                        },
                        "required": [
                          "field",
                          "operator",
                          "type_id"
                        ],
                        "properties": {
                          "field": {
                            "type": "string",
                            "example": "location",
                            "description": "The name of the attribute you want to filter against."
                          },
                          "value": {
                            "type": "string",
                            "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                          },
                          "type_id": {
                            "type": "string",
                            "example": "1",
                            "nullable": false,
                            "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                          },
                          "operator": {
                            "enum": [
                              "eq",
                              "exists"
                            ],
                            "type": "string",
                            "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                          }
                        },
                        "description": "Filter your objects by their attributes."
                      }
                    }
                  }
                ],
                "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
              },
              "object_attribute": {
                "type": "object",
                "title": "object attribute",
                "example": {
                  "field": "cancelled",
                  "value": true,
                  "type_id": 1,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator",
                  "type_id"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "location",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "type_id": {
                    "type": "string",
                    "example": "1",
                    "nullable": false,
                    "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your objects by their attributes."
              }
            }
          },
          "description": "Match *any* condition to return results."
        }
      }
    },
    {
      "type": "object",
      "title": "not",
      "properties": {
        "not": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "object attribute",
                  "example": {
                    "field": "cancelled",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "location",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your objects by their attributes."
                },
                "description": "Returns results matching *any* conditions."
              },
              "and": {
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "object attribute",
                  "example": {
                    "field": "cancelled",
                    "value": true,
                    "operator": "eq"
                  },
                  "required": [
                    "field",
                    "operator"
                  ],
                  "properties": {
                    "field": {
                      "type": "string",
                      "example": "location",
                      "description": "The name of the attribute you want to filter against."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                    },
                    "operator": {
                      "enum": [
                        "eq",
                        "exists"
                      ],
                      "type": "string",
                      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                    }
                  },
                  "description": "Filter your objects by their attributes."
                },
                "description": "Returns results matching *all* conditions."
              },
              "object_attribute": {
                "type": "object",
                "title": "object attribute",
                "example": {
                  "field": "cancelled",
                  "value": true,
                  "type_id": 1,
                  "operator": "eq"
                },
                "required": [
                  "field",
                  "operator",
                  "type_id"
                ],
                "properties": {
                  "field": {
                    "type": "string",
                    "example": "location",
                    "description": "The name of the attribute you want to filter against."
                  },
                  "value": {
                    "type": "string",
                    "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                  },
                  "type_id": {
                    "type": "string",
                    "example": "1",
                    "nullable": false,
                    "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                  },
                  "operator": {
                    "enum": [
                      "eq",
                      "exists"
                    ],
                    "type": "string",
                    "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                  }
                },
                "description": "Filter your objects by their attributes."
              }
            }
          },
          "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
        }
      },
      "description": null
    },
    {
      "type": "object",
      "title": "object attribute",
      "properties": {
        "object_attribute": {
          "type": "object",
          "title": "object attribute",
          "example": {
            "field": "cancelled",
            "value": true,
            "type_id": 1,
            "operator": "eq"
          },
          "required": [
            "field",
            "operator",
            "type_id"
          ],
          "properties": {
            "field": {
              "type": "string",
              "example": "location",
              "description": "The name of the attribute you want to filter against."
            },
            "value": {
              "type": "string",
              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
            },
            "type_id": {
              "type": "string",
              "example": "1",
              "nullable": false,
              "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
            },
            "operator": {
              "enum": [
                "eq",
                "exists"
              ],
              "type": "string",
              "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
            }
          },
          "description": "Filter your objects by their attributes."
        }
      },
      "description": "A simple filter to find objects matching an attribute condition."
    }
  ],
  "title": "Object Filter",
  "description": "When filtering for objects, you can use `and` and `or` arrays to determine the logic for a group of filter conditions. `not` reverses the filter condition and matches when the condition is false. `object_attribute` represents the individual conditions you can filter a group of people for.\n\nThe top level of this object can only contain a single property, but you can nest `and` and `or` properties to produce complex filters.\n"
}
object objectFilter-2
{
  "type": "object",
  "title": "object attribute",
  "example": {
    "field": "cancelled",
    "value": true,
    "operator": "eq"
  },
  "required": [
    "field",
    "operator"
  ],
  "properties": {
    "field": {
      "type": "string",
      "example": "location",
      "description": "The name of the attribute you want to filter against."
    },
    "value": {
      "type": "string",
      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
    },
    "operator": {
      "enum": [
        "eq",
        "exists"
      ],
      "type": "string",
      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
    }
  },
  "description": "Filter your objects by their attributes."
}
object objectFilterAnd
{
  "type": "object",
  "title": "and",
  "properties": {
    "and": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "or": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            },
            "description": "Returns results matching *any* conditions."
          },
          "not": {
            "oneOf": [
              {
                "type": "object",
                "title": "and",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Match *all* conditions to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "or",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Match *any* condition to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "object attribute",
                "properties": {
                  "object_attribute": {
                    "type": "object",
                    "title": "object attribute",
                    "example": {
                      "field": "cancelled",
                      "value": true,
                      "type_id": 1,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator",
                      "type_id"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "location",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your objects by their attributes."
                  }
                }
              }
            ],
            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
          },
          "object_attribute": {
            "type": "object",
            "title": "object attribute",
            "example": {
              "field": "cancelled",
              "value": true,
              "type_id": 1,
              "operator": "eq"
            },
            "required": [
              "field",
              "operator",
              "type_id"
            ],
            "properties": {
              "field": {
                "type": "string",
                "example": "location",
                "description": "The name of the attribute you want to filter against."
              },
              "value": {
                "type": "string",
                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
              },
              "type_id": {
                "type": "string",
                "example": "1",
                "nullable": false,
                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
              },
              "operator": {
                "enum": [
                  "eq",
                  "exists"
                ],
                "type": "string",
                "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
              }
            },
            "description": "Filter your objects by their attributes."
          }
        }
      },
      "description": "Match *all* conditions to return results."
    }
  }
}
object objectFilterNot
{
  "type": "object",
  "title": "not",
  "properties": {
    "not": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "or": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            },
            "description": "Returns results matching *any* conditions."
          },
          "and": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            },
            "description": "Returns results matching *all* conditions."
          },
          "object_attribute": {
            "type": "object",
            "title": "object attribute",
            "example": {
              "field": "cancelled",
              "value": true,
              "type_id": 1,
              "operator": "eq"
            },
            "required": [
              "field",
              "operator",
              "type_id"
            ],
            "properties": {
              "field": {
                "type": "string",
                "example": "location",
                "description": "The name of the attribute you want to filter against."
              },
              "value": {
                "type": "string",
                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
              },
              "type_id": {
                "type": "string",
                "example": "1",
                "nullable": false,
                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
              },
              "operator": {
                "enum": [
                  "eq",
                  "exists"
                ],
                "type": "string",
                "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
              }
            },
            "description": "Filter your objects by their attributes."
          }
        }
      },
      "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
    }
  },
  "description": null
}
object objectFilterOr
{
  "type": "object",
  "title": "or",
  "properties": {
    "or": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "object attribute",
              "example": {
                "field": "cancelled",
                "value": true,
                "operator": "eq"
              },
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "example": "location",
                  "description": "The name of the attribute you want to filter against."
                },
                "value": {
                  "type": "string",
                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                },
                "operator": {
                  "enum": [
                    "eq",
                    "exists"
                  ],
                  "type": "string",
                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                }
              },
              "description": "Filter your objects by their attributes."
            },
            "description": "Returns results matching *all* conditions."
          },
          "not": {
            "oneOf": [
              {
                "type": "object",
                "title": "and",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Match *all* conditions to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "or",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "title": "object attribute",
                      "example": {
                        "field": "cancelled",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "location",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your objects by their attributes."
                    },
                    "description": "Match *any* condition to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "object attribute",
                "properties": {
                  "object_attribute": {
                    "type": "object",
                    "title": "object attribute",
                    "example": {
                      "field": "cancelled",
                      "value": true,
                      "type_id": 1,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator",
                      "type_id"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "location",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your objects by their attributes."
                  }
                }
              }
            ],
            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
          },
          "object_attribute": {
            "type": "object",
            "title": "object attribute",
            "example": {
              "field": "cancelled",
              "value": true,
              "type_id": 1,
              "operator": "eq"
            },
            "required": [
              "field",
              "operator",
              "type_id"
            ],
            "properties": {
              "field": {
                "type": "string",
                "example": "location",
                "description": "The name of the attribute you want to filter against."
              },
              "value": {
                "type": "string",
                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
              },
              "type_id": {
                "type": "string",
                "example": "1",
                "nullable": false,
                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
              },
              "operator": {
                "enum": [
                  "eq",
                  "exists"
                ],
                "type": "string",
                "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
              }
            },
            "description": "Filter your objects by their attributes."
          }
        }
      },
      "description": "Match *any* condition to return results."
    }
  }
}
object object_add_relationships
{
  "allOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers"
          ],
          "properties": {
            "identifiers": {
              "type": "object",
              "required": [
                "object_type_id",
                "object_id"
              ],
              "properties": {
                "object_id": {
                  "type": "string",
                  "example": "acme",
                  "nullable": false,
                  "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                },
                "object_type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                }
              },
              "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The operation modifies a single object—non person data."
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "required": [
        "action",
        "cio_relationships"
      ],
      "properties": {
        "action": {
          "enum": [
            "add_relationships"
          ],
          "type": "string",
          "description": "This operation associates an object with one or more people."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "type": "object",
            "example": {
              "identifiers": {
                "id": "42X"
              },
              "relationship_attributes": {
                "role": "admin",
                "date_created": 1702480414
              }
            },
            "properties": {
              "identifiers": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "id",
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": "42",
                        "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "email",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "test@example.com",
                        "description": "The email address of the customer."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "cio_id",
                    "properties": {
                      "cio_id": {
                        "type": "string",
                        "example": "a3000001",
                        "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                      }
                    }
                  }
                ]
              },
              "relationship_attributes": {
                "type": "object",
                "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                "additionalProperties": {
                  "x-additionalPropertiesName": "Relationship Attributes"
                }
              }
            }
          },
          "description": "The people you want to associate with an object. Each object in the array represents a person."
        }
      }
    }
  ],
  "title": "add_relationships",
  "description": "Add relationships between an object and one or more people."
}
object object_attributes
{
  "type": "object",
  "description": "The data that belongs to the object. This is information you might want to associate with people later (through `cio_relationships`). Passing `null` or an empty string removes the attribute from the object."
}
object object_common
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "identifiers"
      ],
      "properties": {
        "identifiers": {
          "type": "object",
          "required": [
            "object_type_id",
            "object_id"
          ],
          "properties": {
            "object_id": {
              "type": "string",
              "example": "acme",
              "nullable": false,
              "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
            },
            "object_type_id": {
              "type": "string",
              "example": "1",
              "nullable": false,
              "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
            }
          },
          "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "enum": [
            "object"
          ],
          "type": "string",
          "description": "The operation modifies a single object—non person data."
        }
      }
    }
  ]
}
object object_delete
{
  "allOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers"
          ],
          "properties": {
            "identifiers": {
              "type": "object",
              "required": [
                "object_type_id",
                "object_id"
              ],
              "properties": {
                "object_id": {
                  "type": "string",
                  "example": "acme",
                  "nullable": false,
                  "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                },
                "object_type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                }
              },
              "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The operation modifies a single object—non person data."
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "delete"
          ],
          "type": "string",
          "description": "Indicates that the operation will `delete` the the item of the specified `type`."
        }
      }
    }
  ],
  "title": "delete",
  "description": "Delete an object. This also removes relationships from people.\n"
}
object object_delete_relationships
{
  "allOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers"
          ],
          "properties": {
            "identifiers": {
              "type": "object",
              "required": [
                "object_type_id",
                "object_id"
              ],
              "properties": {
                "object_id": {
                  "type": "string",
                  "example": "acme",
                  "nullable": false,
                  "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                },
                "object_type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                }
              },
              "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The operation modifies a single object—non person data."
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "required": [
        "action",
        "cio_relationships"
      ],
      "properties": {
        "action": {
          "enum": [
            "delete_relationships"
          ],
          "type": "string",
          "description": "This operation deletes an object relationship from one or more people."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "type": "object",
            "example": {
              "identifiers": {
                "id": "42X"
              },
              "relationship_attributes": {
                "role": "admin",
                "date_created": 1702480414
              }
            },
            "properties": {
              "identifiers": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "id",
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": "42",
                        "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "email",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "test@example.com",
                        "description": "The email address of the customer."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "cio_id",
                    "properties": {
                      "cio_id": {
                        "type": "string",
                        "example": "a3000001",
                        "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                      }
                    }
                  }
                ]
              },
              "relationship_attributes": {
                "type": "object",
                "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                "additionalProperties": {
                  "x-additionalPropertiesName": "Relationship Attributes"
                }
              }
            }
          },
          "description": "The people you want to associate with an object. Each object in the array represents a person."
        }
      }
    }
  ],
  "title": "delete_relationships",
  "description": "Delete relationships between an object and one or more people."
}
object object_identifiers
{
  "type": "object",
  "required": [
    "identifiers"
  ],
  "properties": {
    "identifiers": {
      "type": "object",
      "required": [
        "object_type_id",
        "object_id"
      ],
      "properties": {
        "object_id": {
          "type": "string",
          "example": "acme",
          "nullable": false,
          "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
        },
        "object_type_id": {
          "type": "string",
          "example": "1",
          "nullable": false,
          "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
        }
      },
      "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
    }
  }
}
object object_identify
{
  "type": "object",
  "allOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers"
          ],
          "properties": {
            "identifiers": {
              "type": "object",
              "required": [
                "object_type_id",
                "object_id"
              ],
              "properties": {
                "object_id": {
                  "type": "string",
                  "example": "acme",
                  "nullable": false,
                  "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                },
                "object_type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                }
              },
              "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The operation modifies a single object—non person data."
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "identify"
          ],
          "type": "string",
          "description": "Indicates that the operation will `identify` the the item of the specified `type`."
        },
        "attributes": {
          "type": "object",
          "description": "The data that belongs to the object. This is information you might want to associate with people later (through `cio_relationships`). Passing `null` or an empty string removes the attribute from the object."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "type": "object",
            "example": {
              "identifiers": {
                "id": "42X"
              },
              "relationship_attributes": {
                "role": "admin",
                "date_created": 1702480414
              }
            },
            "properties": {
              "identifiers": {
                "oneOf": [
                  {
                    "type": "object",
                    "title": "id",
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": "42",
                        "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "email",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "test@example.com",
                        "description": "The email address of the customer."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "title": "cio_id",
                    "properties": {
                      "cio_id": {
                        "type": "string",
                        "example": "a3000001",
                        "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                      }
                    }
                  }
                ]
              },
              "relationship_attributes": {
                "type": "object",
                "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                "additionalProperties": {
                  "x-additionalPropertiesName": "Relationship Attributes"
                }
              }
            }
          },
          "description": "The people you want to associate with an object. Each object in the array represents a person."
        }
      }
    }
  ],
  "title": "identify",
  "description": "The `action` determines the type of operation you want to perform with an object. If `identifiers.object_id` does not exist, we'll create a new object; if it exists, we'll update the object accordingly.\n"
}
object object_identify_anonymous
{
  "allOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers"
          ],
          "properties": {
            "identifiers": {
              "type": "object",
              "required": [
                "object_type_id",
                "object_id"
              ],
              "properties": {
                "object_id": {
                  "type": "string",
                  "example": "acme",
                  "nullable": false,
                  "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                },
                "object_type_id": {
                  "type": "string",
                  "example": "1",
                  "nullable": false,
                  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                }
              },
              "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "enum": [
                "object"
              ],
              "type": "string",
              "description": "The operation modifies a single object—non person data."
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "identify_anonymous"
          ],
          "type": "string",
          "description": "Indicates that the operation will `identify` the item of the specified `type` and relate it to an `anonymous_id`."
        },
        "attributes": {
          "type": "object",
          "description": "The data that belongs to the object. This is information you might want to associate with people later (through `cio_relationships`). Passing `null` or an empty string removes the attribute from the object."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "identifiers": {
                "type": "object",
                "properties": {
                  "anonymous_id": {
                    "type": "string",
                    "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
                  }
                }
              },
              "relationship_attributes": {
                "type": "object",
                "description": "Coming October 2023 - The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship."
              }
            }
          },
          "description": "The anonymous people you want to associate with an object. Each object in the array contains an `anonymous_id` representing a person you haven't yet identified by `id` or `email`."
        }
      }
    }
  ],
  "title": "identify_anonymous",
  "description": "The `identify_anonymous` action lets you relate an object to a person who hasn't yet identified themselves by anonymous_id. When you identify the person, their anonymous relationship will carry over to the identified profile."
}
object object_operations
{
  "oneOf": [
    {
      "type": "object",
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers"
              ],
              "properties": {
                "identifiers": {
                  "type": "object",
                  "required": [
                    "object_type_id",
                    "object_id"
                  ],
                  "properties": {
                    "object_id": {
                      "type": "string",
                      "example": "acme",
                      "nullable": false,
                      "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                    },
                    "object_type_id": {
                      "type": "string",
                      "example": "1",
                      "nullable": false,
                      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                    }
                  },
                  "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "object"
                  ],
                  "type": "string",
                  "description": "The operation modifies a single object—non person data."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "identify"
              ],
              "type": "string",
              "description": "Indicates that the operation will `identify` the the item of the specified `type`."
            },
            "attributes": {
              "type": "object",
              "description": "The data that belongs to the object. This is information you might want to associate with people later (through `cio_relationships`). Passing `null` or an empty string removes the attribute from the object."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "type": "object",
                "example": {
                  "identifiers": {
                    "id": "42"
                  },
                  "relationship_attributes": {
                    "role": "admin",
                    "date_created": 1702480414
                  }
                },
                "properties": {
                  "identifiers": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "id",
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "42",
                            "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "email",
                        "properties": {
                          "email": {
                            "type": "string",
                            "example": "test@example.com",
                            "description": "The email address of the customer."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "cio_id",
                        "properties": {
                          "cio_id": {
                            "type": "string",
                            "example": "a3000001",
                            "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                          }
                        }
                      }
                    ]
                  },
                  "relationship_attributes": {
                    "type": "object",
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              },
              "description": "The people you want to associate with an object. Each object in the array represents a person."
            }
          }
        }
      ],
      "title": "identify",
      "description": "The `action` determines the type of operation you want to perform with an object. If `identifiers.object_id` does not exist, we'll create a new object; if it exists, we'll update the object accordingly.\n"
    },
    {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers"
              ],
              "properties": {
                "identifiers": {
                  "type": "object",
                  "required": [
                    "object_type_id",
                    "object_id"
                  ],
                  "properties": {
                    "object_id": {
                      "type": "string",
                      "example": "acme",
                      "nullable": false,
                      "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                    },
                    "object_type_id": {
                      "type": "string",
                      "example": "1",
                      "nullable": false,
                      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                    }
                  },
                  "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "object"
                  ],
                  "type": "string",
                  "description": "The operation modifies a single object—non person data."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "identify_anonymous"
              ],
              "type": "string",
              "description": "Indicates that the operation will `identify` the item of the specified `type` and relate it to an `anonymous_id`."
            },
            "attributes": {
              "type": "object",
              "description": "The data that belongs to the object. This is information you might want to associate with people later (through `cio_relationships`). Passing `null` or an empty string removes the attribute from the object."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "identifiers": {
                    "type": "object",
                    "properties": {
                      "anonymous_id": {
                        "type": "string",
                        "description": "An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this person. This value must be unique and is not reusable."
                      }
                    }
                  },
                  "relationship_attributes": {
                    "type": "object",
                    "description": "Coming October 2023 - The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship."
                  }
                }
              },
              "description": "The anonymous people you want to associate with an object. Each object in the array contains an `anonymous_id` representing a person you haven't yet identified by `id` or `email`."
            }
          }
        }
      ],
      "title": "identify_anonymous",
      "description": "The `identify_anonymous` action lets you relate an object to a person who hasn't yet identified themselves by anonymous_id. When you identify the person, their anonymous relationship will carry over to the identified profile."
    },
    {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers"
              ],
              "properties": {
                "identifiers": {
                  "type": "object",
                  "required": [
                    "object_type_id",
                    "object_id"
                  ],
                  "properties": {
                    "object_id": {
                      "type": "string",
                      "example": "acme",
                      "nullable": false,
                      "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                    },
                    "object_type_id": {
                      "type": "string",
                      "example": "1",
                      "nullable": false,
                      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                    }
                  },
                  "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "object"
                  ],
                  "type": "string",
                  "description": "The operation modifies a single object—non person data."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "delete"
              ],
              "type": "string",
              "description": "Indicates that the operation will `delete` the the item of the specified `type`."
            }
          }
        }
      ],
      "title": "delete",
      "description": "Delete an object. This also removes relationships from people.\n"
    },
    {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers"
              ],
              "properties": {
                "identifiers": {
                  "type": "object",
                  "required": [
                    "object_type_id",
                    "object_id"
                  ],
                  "properties": {
                    "object_id": {
                      "type": "string",
                      "example": "acme",
                      "nullable": false,
                      "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                    },
                    "object_type_id": {
                      "type": "string",
                      "example": "1",
                      "nullable": false,
                      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                    }
                  },
                  "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "object"
                  ],
                  "type": "string",
                  "description": "The operation modifies a single object—non person data."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "required": [
            "action",
            "cio_relationships"
          ],
          "properties": {
            "action": {
              "enum": [
                "add_relationships"
              ],
              "type": "string",
              "description": "This operation associates an object with one or more people."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "type": "object",
                "example": {
                  "identifiers": {
                    "id": "42X"
                  },
                  "relationship_attributes": {
                    "role": "admin",
                    "date_created": 1702480414
                  }
                },
                "properties": {
                  "identifiers": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "id",
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "42",
                            "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "email",
                        "properties": {
                          "email": {
                            "type": "string",
                            "example": "test@example.com",
                            "description": "The email address of the customer."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "cio_id",
                        "properties": {
                          "cio_id": {
                            "type": "string",
                            "example": "a3000001",
                            "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                          }
                        }
                      }
                    ]
                  },
                  "relationship_attributes": {
                    "type": "object",
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              },
              "description": "The people you want to associate with an object. Each object in the array represents a person."
            }
          }
        }
      ],
      "title": "add_relationships",
      "description": "Add relationships between an object and one or more people."
    },
    {
      "allOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "identifiers"
              ],
              "properties": {
                "identifiers": {
                  "type": "object",
                  "required": [
                    "object_type_id",
                    "object_id"
                  ],
                  "properties": {
                    "object_id": {
                      "type": "string",
                      "example": "acme",
                      "nullable": false,
                      "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                    },
                    "object_type_id": {
                      "type": "string",
                      "example": "1",
                      "nullable": false,
                      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                    }
                  },
                  "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "object"
                  ],
                  "type": "string",
                  "description": "The operation modifies a single object—non person data."
                }
              }
            }
          ]
        },
        {
          "type": "object",
          "required": [
            "action",
            "cio_relationships"
          ],
          "properties": {
            "action": {
              "enum": [
                "delete_relationships"
              ],
              "type": "string",
              "description": "This operation deletes an object relationship from one or more people."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "type": "object",
                "example": {
                  "identifiers": {
                    "id": "42X"
                  },
                  "relationship_attributes": {
                    "role": "admin",
                    "date_created": 1702480414
                  }
                },
                "properties": {
                  "identifiers": {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "id",
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "42",
                            "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "email",
                        "properties": {
                          "email": {
                            "type": "string",
                            "example": "test@example.com",
                            "description": "The email address of the customer."
                          }
                        }
                      },
                      {
                        "type": "object",
                        "title": "cio_id",
                        "properties": {
                          "cio_id": {
                            "type": "string",
                            "example": "a3000001",
                            "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                          }
                        }
                      }
                    ]
                  },
                  "relationship_attributes": {
                    "type": "object",
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              },
              "description": "The people you want to associate with an object. Each object in the array represents a person."
            }
          }
        }
      ],
      "title": "delete_relationships",
      "description": "Delete relationships between an object and one or more people."
    }
  ],
  "title": "Object",
  "discriminator": {
    "mapping": {
      "delete": "#/components/schemas/object_delete",
      "identify": "#/components/schemas/object_identify",
      "add_relationships": "#/components/schemas/object_add_relationships",
      "identify_anonymous": "#/components/schemas/object_identify_anonymous",
      "delete_relationships": "#/components/schemas/object_delete_relationships"
    },
    "propertyName": "action"
  }
}
array object_relationships
{
  "type": "array",
  "items": {
    "allOf": [
      {
        "type": "object",
        "required": [
          "identifiers"
        ],
        "properties": {
          "identifiers": {
            "type": "object",
            "required": [
              "object_type_id",
              "object_id"
            ],
            "properties": {
              "object_id": {
                "type": "string",
                "example": "acme",
                "nullable": false,
                "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
              },
              "object_type_id": {
                "type": "string",
                "example": "1",
                "nullable": false,
                "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
              }
            },
            "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
          }
        }
      },
      {
        "type": "object",
        "properties": {
          "relationship_attributes": {
            "type": "object",
            "example": {
              "role": "admin"
            },
            "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
            "additionalProperties": {
              "x-additionalPropertiesName": "Relationship Attributes"
            }
          }
        }
      }
    ]
  },
  "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
}
string object_type_id
{
  "type": "string",
  "example": "1",
  "nullable": false,
  "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
}
object objectattributeFilter
{
  "type": "object",
  "title": "object attribute",
  "example": {
    "field": "cancelled",
    "value": true,
    "type_id": 1,
    "operator": "eq"
  },
  "required": [
    "field",
    "operator",
    "type_id"
  ],
  "properties": {
    "field": {
      "type": "string",
      "example": "location",
      "description": "The name of the attribute you want to filter against."
    },
    "value": {
      "type": "string",
      "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
    },
    "type_id": {
      "type": "string",
      "example": "1",
      "nullable": false,
      "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
    },
    "operator": {
      "enum": [
        "eq",
        "exists"
      ],
      "type": "string",
      "description": "Determine how to evaluate criteria against the field—`exists` returns results if an object has the attribute; `eq` returns results an object's attribute exists and the attribute has the `value` you specify."
    }
  },
  "description": "Filter your objects by their attributes."
}
object orAudienceFilter
{
  "type": "object",
  "title": "or",
  "properties": {
    "or": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "title": "segment",
                  "properties": {
                    "segment": {
                      "type": "object",
                      "title": "segment",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 4,
                          "description": "The ID of the segment you want to return people from."
                        }
                      },
                      "description": "Provide the `id` of a segment containing people you want to search for."
                    }
                  },
                  "description": "Filter for people who belong to a segment."
                },
                {
                  "type": "object",
                  "title": "audience",
                  "properties": {
                    "attribute": {
                      "type": "object",
                      "title": "attribute",
                      "example": {
                        "field": "unsubscribed",
                        "value": true,
                        "operator": "eq"
                      },
                      "required": [
                        "field",
                        "operator"
                      ],
                      "properties": {
                        "field": {
                          "type": "string",
                          "example": "first_name",
                          "description": "The name of the attribute you want to filter against."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "exists"
                          ],
                          "type": "string",
                          "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                        }
                      },
                      "description": "Filter your audience by attribute."
                    }
                  },
                  "description": "filter for people who have an attribute or an attribute value."
                }
              ]
            },
            "description": "Returns results matching *all* conditions."
          },
          "not": {
            "oneOf": [
              {
                "type": "object",
                "title": "and",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Match *all* conditions to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "or",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "title": "segment",
                          "properties": {
                            "segment": {
                              "type": "object",
                              "title": "segment",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "example": 4,
                                  "description": "The ID of the segment you want to return people from."
                                }
                              },
                              "description": "Provide the `id` of a segment containing people you want to search for."
                            }
                          },
                          "description": "Filter for people who belong to a segment."
                        },
                        {
                          "type": "object",
                          "title": "audience",
                          "properties": {
                            "attribute": {
                              "type": "object",
                              "title": "attribute",
                              "example": {
                                "field": "unsubscribed",
                                "value": true,
                                "operator": "eq"
                              },
                              "required": [
                                "field",
                                "operator"
                              ],
                              "properties": {
                                "field": {
                                  "type": "string",
                                  "example": "first_name",
                                  "description": "The name of the attribute you want to filter against."
                                },
                                "value": {
                                  "type": "string",
                                  "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                                },
                                "operator": {
                                  "enum": [
                                    "eq",
                                    "exists"
                                  ],
                                  "type": "string",
                                  "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                                }
                              },
                              "description": "Filter your audience by attribute."
                            }
                          },
                          "description": "filter for people who have an attribute or an attribute value."
                        }
                      ]
                    },
                    "description": "Match *any* condition to return results."
                  }
                }
              },
              {
                "type": "object",
                "title": "segment",
                "properties": {
                  "segment": {
                    "type": "object",
                    "title": "segment",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 4,
                        "description": "The ID of the segment you want to return people from."
                      }
                    },
                    "description": "Provide the `id` of a segment containing people you want to search for."
                  }
                }
              },
              {
                "type": "object",
                "title": "attribute",
                "properties": {
                  "attribute": {
                    "type": "object",
                    "title": "attribute",
                    "example": {
                      "field": "unsubscribed",
                      "value": true,
                      "operator": "eq"
                    },
                    "required": [
                      "field",
                      "operator"
                    ],
                    "properties": {
                      "field": {
                        "type": "string",
                        "example": "first_name",
                        "description": "The name of the attribute you want to filter against."
                      },
                      "value": {
                        "type": "string",
                        "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
                      },
                      "operator": {
                        "enum": [
                          "eq",
                          "exists"
                        ],
                        "type": "string",
                        "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
                      }
                    },
                    "description": "Filter your audience by attribute."
                  }
                }
              }
            ],
            "description": "Returns results if a condition is false. While and/or support an array of items, `not` supports a single filter object."
          },
          "segment": {
            "type": "object",
            "title": "segment",
            "properties": {
              "id": {
                "type": "integer",
                "example": 4,
                "description": "The ID of the segment you want to return people from."
              }
            },
            "description": "Provide the `id` of a segment containing people you want to search for."
          },
          "attribute": {
            "type": "object",
            "title": "attribute",
            "example": {
              "field": "unsubscribed",
              "value": true,
              "operator": "eq"
            },
            "required": [
              "field",
              "operator"
            ],
            "properties": {
              "field": {
                "type": "string",
                "example": "first_name",
                "description": "The name of the attribute you want to filter against."
              },
              "value": {
                "type": "string",
                "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
              },
              "operator": {
                "enum": [
                  "eq",
                  "exists"
                ],
                "type": "string",
                "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
              }
            },
            "description": "Filter your audience by attribute."
          }
        }
      },
      "description": "Match *any* condition to return results."
    }
  }
}
integer parent_action_id
{
  "type": "integer",
  "example": 1,
  "readOnly": true,
  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
}
object periodMessageMetrics
{
  "type": "object",
  "properties": {
    "sent": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of sent messages."
    },
    "failed": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `failed` messages."
    },
    "opened": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `opened` messages."
    },
    "bounced": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `bounced` messages."
    },
    "clicked": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `clicked` messages."
    },
    "created": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `created` messages."
    },
    "drafted": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `drafted` messages."
    },
    "spammed": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of spam complaints."
    },
    "deferred": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `deferred` messages."
    },
    "attempted": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `attempted` messages."
    },
    "converted": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `converted` messages."
    },
    "delivered": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `delivered` messages."
    },
    "suppressed": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `suppressed` messages."
    },
    "unsubscribed": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of unsubscribes attributed to the campaign or message."
    },
    "undeliverable": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of `undeliverable` messages."
    },
    "topic_unsubscribed": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of topic unsubscribes in a given period."
    }
  },
  "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
}
object periodWebhookMetrics
{
  "type": "object",
  "properties": {
    "2xx": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "2xx responses by period, representative of webhook performance."
    },
    "3xx": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "3xx responses by period, representative of webhook performance."
    },
    "4xx": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "4xx responses by period, representative of webhook performance."
    },
    "5xx": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "5xx responses by period, representative of webhook performance."
    }
  },
  "description": "Returns metrics in accordance with the `period` you requested. Each property in this object is an array and each entry in the array represents a metric period, i.e. if your `period` is days `[0, 1]` would represent 0 metrics for the first day, 1 for the second, etc."
}
object person_add_device
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "device"
      ],
      "properties": {
        "action": {
          "enum": [
            "add_device"
          ],
          "type": "string",
          "description": "Add a mobile device to a person's profile."
        },
        "device": {
          "allOf": [
            {
              "type": "object",
              "required": [
                "token"
              ],
              "properties": {
                "token": {
                  "type": "string",
                  "description": "The device token."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "platform"
              ],
              "properties": {
                "platform": {
                  "enum": [
                    "ios",
                    "android"
                  ],
                  "type": "string",
                  "description": "The device/messaging platform."
                },
                "last_used": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                },
                "attributes": {
                  "type": "object",
                  "properties": {
                    "device_os": {
                      "type": "string",
                      "description": "The operating system, including the version, on the device."
                    },
                    "app_version": {
                      "type": "string",
                      "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                    },
                    "_last_status": {
                      "enum": [
                        "",
                        "bounced",
                        "sent",
                        "suppressed"
                      ],
                      "type": "string",
                      "readOnly": true,
                      "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                    },
                    "device_model": {
                      "type": "string",
                      "description": "The model of the device a person uses."
                    },
                    "push_enabled": {
                      "enum": [
                        "true",
                        "false"
                      ],
                      "type": "string",
                      "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                    },
                    "device_locale": {
                      "type": "string",
                      "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                    },
                    "cio_sdk_version": {
                      "type": "string",
                      "description": "The version of the Customer.io SDK in the app."
                    }
                  },
                  "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                  "additionalProperties": {
                    "type": "string",
                    "description": "Custom properties that you want to associate with the device.",
                    "x-additionalPropertiesName": "Custom Device Attributes"
                  }
                }
              },
              "description": "Device information common to the v1 and v2 APIs."
            }
          ],
          "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments."
        }
      }
    }
  ],
  "title": "add_device",
  "description": "Assign devices to a person."
}
object person_add_relationships
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "cio_relationships"
      ],
      "properties": {
        "action": {
          "enum": [
            "add_relationships"
          ],
          "type": "string",
          "description": "This operation associates a person with one or more objects."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "allOf": [
              {
                "type": "object",
                "required": [
                  "identifiers"
                ],
                "properties": {
                  "identifiers": {
                    "type": "object",
                    "required": [
                      "object_type_id",
                      "object_id"
                    ],
                    "properties": {
                      "object_id": {
                        "type": "string",
                        "example": "acme",
                        "nullable": false,
                        "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                      },
                      "object_type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      }
                    },
                    "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                  }
                }
              },
              {
                "type": "object",
                "properties": {
                  "relationship_attributes": {
                    "type": "object",
                    "example": {
                      "role": "admin"
                    },
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              }
            ]
          },
          "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
        }
      }
    }
  ],
  "title": "add_relationships",
  "description": "Associate multiple objects with a person."
}
object person_attributes
{
  "type": "object",
  "properties": {
    "cio_subscription_preferences": {
      "type": "object",
      "example": {
        "topic_1": true,
        "topic_2": false,
        "topic_3": true
      },
      "properties": {
        "topics": {
          "type": "object",
          "description": "Contains active topics in your workspace, named `topic_<id>`.",
          "additionalProperties": {
            "type": "boolean",
            "description": "Each property is a boolean named `topic_<id>`. Topic `id` values begin at `1` and increment for each new topic. You can find your topic ids in [Workspace Settings](https://fly.customer.io/workspaces/last/settings/subscription_center/topics) or by querying our [App API](https://customer.io/docs/api/app/#operation/getTopics). For each boolean, `true` means that a person is subscribed to the topic; false means they are unsubscribed. An empty or missing value reverts to the default preference for the topic (opt-in or opt-out).",
            "x-additionalPropertiesName": "topic_<id>"
          }
        }
      },
      "description": "Stores your audience's subscription preferences if you enable our [subscription center](https://customer.io/docs/api/app/) feature. These items are set automatically when people use the unsubscribe link in your messages, but you can set preferences outside the subscription flow. To update select topic preferences while preserving those set for other topics, use JSON dot notation `\"cio_subscription_preferences.topics.topic_<topic ID>\":<boolean>`."
    }
  },
  "description": "Attributes that you want to add or update for this person."
}
object person_cio_subscription_preferences_changed
{
  "type": "object",
  "title": "changed subscription preferences",
  "required": [
    "metric",
    "event_id",
    "data",
    "timestamp"
  ],
  "properties": {
    "data": {
      "allOf": [
        {
          "type": "object",
          "required": [
            "identifiers",
            "customer_id",
            "email_address",
            "content"
          ],
          "properties": {
            "content": {
              "type": "string",
              "example": "{\"topics\":{\"topic_1\":true}}",
              "description": "Contains the subscription preferences that a person changed in a stringified object format. The `topic_1` key refers to a topic with an ID of `1`; you can get more information about each topic from our [App API](https://customer.io/docs/api/app/)."
            },
            "customer_id": {
              "type": "string",
              "example": "42",
              "deprecated": true,
              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
            },
            "identifiers": {
              "type": "object",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "nullable": true,
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                },
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                },
                "cio_id": {
                  "type": "string",
                  "example": "d9c106000001",
                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                }
              },
              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
            },
            "email_address": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            }
          },
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        }
      ]
    },
    "metric": {
      "enum": [
        "cio_subscription_preferences_changed"
      ],
      "type": "string",
      "description": "The event we're reporting to your webhook endpoint. In this case, a person changed their subscription preferences."
    },
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "delivery_type": {
      "enum": [
        "email",
        "sms",
        "push",
        "in_app",
        "slack",
        "webhook"
      ],
      "type": "string",
      "example": "email",
      "description": "The type of delivery that resulted in a change to preferences."
    }
  },
  "description": "A person changed their subscription preferences through our subscription center or you changed their `cio_subscription_preferences` attribute values.\n\nSome fields in the `data` object change based on whether the message that resulted in the change originated from a broadcast, campaign, or newsletter.\n"
}
object person_cio_subscription_preferences_common
{
  "oneOf": [
    {
      "type": "object",
      "title": "API triggered broadcast",
      "required": [
        "trigger_id",
        "broadcast_id",
        "delivery_id",
        "action_id"
      ],
      "properties": {
        "action_id": {
          "type": "integer",
          "example": 96,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "journey_id": {
          "type": "string",
          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
        },
        "trigger_id": {
          "type": "integer",
          "example": 1,
          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "broadcast_id": {
          "type": "integer",
          "example": 2,
          "nullable": true,
          "description": "The identifier for a broadcast."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        }
      }
    },
    {
      "type": "object",
      "title": "Campaign",
      "required": [
        "campaign_id",
        "delivery_id",
        "action_id"
      ],
      "properties": {
        "action_id": {
          "type": "integer",
          "example": 96,
          "readOnly": true,
          "description": "The identifier for an action."
        },
        "journey_id": {
          "type": "string",
          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
        },
        "campaign_id": {
          "type": "integer",
          "example": 5,
          "nullable": true,
          "description": "The identifier for a campaign."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "parent_action_id": {
          "type": "integer",
          "example": 1,
          "readOnly": true,
          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
        },
        "trigger_event_id": {
          "type": "string",
          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
          "nullable": true,
          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
        }
      }
    },
    {
      "type": "object",
      "title": "Newsletter",
      "required": [
        "newsletter_id",
        "delivery_id"
      ],
      "properties": {
        "content_id": {
          "type": "integer",
          "example": 3,
          "description": "The identifier for a newsletter variant."
        },
        "customer_id": {
          "type": "string",
          "example": "42",
          "deprecated": true,
          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
        },
        "delivery_id": {
          "type": "string",
          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
          "description": "The instance of a message sent to a person."
        },
        "newsletter_id": {
          "type": "integer",
          "example": 10,
          "nullable": true,
          "description": "The identifier for a newsletter."
        }
      }
    }
  ]
}
object person_common
{
  "type": "object",
  "required": [
    "type",
    "identifiers"
  ],
  "properties": {
    "type": {
      "enum": [
        "person"
      ],
      "type": "string",
      "description": "The operation modifies a person in Customer.io"
    },
    "identifiers": {
      "oneOf": [
        {
          "type": "object",
          "title": "id",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
            }
          }
        },
        {
          "type": "object",
          "title": "email",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "example": "test@example.com",
              "description": "The email address of the customer."
            }
          }
        },
        {
          "type": "object",
          "title": "cio_id",
          "required": [
            "cio_id"
          ],
          "properties": {
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          }
        }
      ],
      "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
    }
  }
}
object person_delete
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "delete"
          ],
          "type": "string",
          "description": "Indicates that the operation will `delete` the the item of the specified `type`."
        }
      }
    }
  ],
  "title": "delete",
  "description": "Delete a person from your workspace."
}
object person_delete_device
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "device"
      ],
      "properties": {
        "action": {
          "enum": [
            "delete_device"
          ],
          "type": "string",
          "description": "Delete a device from a person's profile."
        },
        "device": {
          "type": "object",
          "required": [
            "token"
          ],
          "properties": {
            "token": {
              "type": "string",
              "description": "The token of the device you want to remove."
            }
          },
          "description": "The device you want to remove."
        }
      }
    }
  ],
  "title": "delete_device",
  "description": "Delete devices that belong to a person."
}
object person_delete_relationships
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "cio_relationships"
      ],
      "properties": {
        "action": {
          "enum": [
            "delete_relationships"
          ],
          "type": "string",
          "description": "This operation deletes an object relationship from one or more people."
        },
        "cio_relationships": {
          "type": "array",
          "items": {
            "allOf": [
              {
                "type": "object",
                "required": [
                  "identifiers"
                ],
                "properties": {
                  "identifiers": {
                    "type": "object",
                    "required": [
                      "object_type_id",
                      "object_id"
                    ],
                    "properties": {
                      "object_id": {
                        "type": "string",
                        "example": "acme",
                        "nullable": false,
                        "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                      },
                      "object_type_id": {
                        "type": "string",
                        "example": "1",
                        "nullable": false,
                        "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                      }
                    },
                    "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                  }
                }
              },
              {
                "type": "object",
                "properties": {
                  "relationship_attributes": {
                    "type": "object",
                    "example": {
                      "role": "admin"
                    },
                    "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                    "additionalProperties": {
                      "x-additionalPropertiesName": "Relationship Attributes"
                    }
                  }
                }
              }
            ]
          },
          "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
        }
      }
    }
  ],
  "title": "delete_relationships",
  "description": "Remove multiple object relationships from a person."
}
object person_event
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ULID",
          "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
        },
        "name": {
          "type": "string",
          "description": "The name of the event. This is how you'll find your event in Customer.io or select it when using events as campaign triggers."
        },
        "action": {
          "enum": [
            "event"
          ],
          "type": "string",
          "description": "A custom event attributed to the specified person."
        },
        "timestamp": {
          "type": "integer",
          "description": "The Unix timestamp when the event happened."
        },
        "attributes": {
          "type": "object",
          "properties": {
            "reply_to": {
              "type": "string",
              "format": "email",
              "description": "The address you want to receive replies to, overriding the `reply to` field for emails triggered by the event."
            },
            "recipient": {
              "type": "string",
              "format": "email",
              "description": "The email address of the person associated with the event, overriding the `to` field in emails triggered by the event."
            },
            "from_address": {
              "type": "string",
              "format": "email",
              "description": "The address you want to trigger messages from, overriding the `from` field in emails triggered by the event."
            }
          },
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.\n",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        }
      }
    }
  ],
  "description": "A custom event attributed to a person. You can use events to trigger campaigns, or reference event information using liquid in your messages."
}
object person_merge
{
  "type": "object",
  "required": [
    "type",
    "primary",
    "secondary",
    "action"
  ],
  "properties": {
    "type": {
      "enum": [
        "person"
      ],
      "type": "string",
      "description": "The operation modifies a person in Customer.io"
    },
    "action": {
      "enum": [
        "merge"
      ],
      "type": "string",
      "description": "Merge two people. You'll merge the `secondary` person into the `primary`. The primary profile remains after the merge and the secondary is deleted. This operation is _not_ reversible. See our page on [merging duplicate people](https://customer.io/docs/api/app/) for more information.\n"
    },
    "primary": {
      "oneOf": [
        {
          "type": "object",
          "title": "id",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
            }
          }
        },
        {
          "type": "object",
          "title": "email",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "example": "test@example.com",
              "description": "The email address of the customer."
            }
          }
        },
        {
          "type": "object",
          "title": "cio_id",
          "required": [
            "cio_id"
          ],
          "properties": {
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          }
        }
      ],
      "description": "The person that you want to remain after the merge, identified by one of `id`, `email`, or `cio_id`. This person receives information from the secondary person in the merge."
    },
    "secondary": {
      "oneOf": [
        {
          "type": "object",
          "title": "id",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": "42",
              "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
            }
          }
        },
        {
          "type": "object",
          "title": "email",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "example": "test@example.com",
              "description": "The email address of the customer."
            }
          }
        },
        {
          "type": "object",
          "title": "cio_id",
          "required": [
            "cio_id"
          ],
          "properties": {
            "cio_id": {
              "type": "string",
              "example": "a3000001",
              "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
            }
          }
        }
      ],
      "description": "The person that you want to delete after the merge, identified by one of `id`, `email`, or `cio_id`. This person's information is merged into the primary person's profile and then it is deleted."
    }
  },
  "description": "Merge two people. You'll merge the `secondary` person into the `primary`. The primary profile remains after the merge and the secondary is deleted. This operation is _not_ reversible. See our page on [merging duplicate people](https://customer.io/docs/api/app/) for more information.\n"
}
object person_operations
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "identify"
              ],
              "type": "string",
              "description": "Indicates that the operation will `identify` the the item of the specified `type`."
            },
            "attributes": {
              "type": "object",
              "properties": {
                "cio_subscription_preferences": {
                  "type": "object",
                  "example": {
                    "topic_1": true,
                    "topic_2": false,
                    "topic_3": true
                  },
                  "properties": {
                    "topics": {
                      "type": "object",
                      "description": "Contains active topics in your workspace, named `topic_<id>`.",
                      "additionalProperties": {
                        "type": "boolean",
                        "description": "Each property is a boolean named `topic_<id>`. Topic `id` values begin at `1` and increment for each new topic. You can find your topic ids in [Workspace Settings](https://fly.customer.io/workspaces/last/settings/subscription_center/topics) or by querying our [App API](https://customer.io/docs/api/app/#operation/getTopics). For each boolean, `true` means that a person is subscribed to the topic; false means they are unsubscribed. An empty or missing value reverts to the default preference for the topic (opt-in or opt-out).",
                        "x-additionalPropertiesName": "topic_<id>"
                      }
                    }
                  },
                  "description": "Stores your audience's subscription preferences if you enable our [subscription center](https://customer.io/docs/api/app/) feature. These items are set automatically when people use the unsubscribe link in your messages, but you can set preferences outside the subscription flow. To update select topic preferences while preserving those set for other topics, use JSON dot notation `\"cio_subscription_preferences.topics.topic_<topic ID>\":<boolean>`."
                }
              },
              "description": "Attributes that you want to add or update for this person."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "identifiers"
                    ],
                    "properties": {
                      "identifiers": {
                        "type": "object",
                        "required": [
                          "object_type_id",
                          "object_id"
                        ],
                        "properties": {
                          "object_id": {
                            "type": "string",
                            "example": "acme",
                            "nullable": false,
                            "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                          },
                          "object_type_id": {
                            "type": "string",
                            "example": "1",
                            "nullable": false,
                            "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                          }
                        },
                        "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "relationship_attributes": {
                        "type": "object",
                        "example": {
                          "role": "admin"
                        },
                        "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                        "additionalProperties": {
                          "x-additionalPropertiesName": "Relationship Attributes"
                        }
                      }
                    }
                  }
                ]
              },
              "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
            }
          }
        }
      ],
      "title": "identify",
      "description": "Add or update a person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "delete"
              ],
              "type": "string",
              "description": "Indicates that the operation will `delete` the the item of the specified `type`."
            }
          }
        }
      ],
      "title": "delete",
      "description": "Delete a person from your workspace."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "name"
          ],
          "properties": {
            "id": {
              "type": "string",
              "format": "ULID",
              "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
            },
            "name": {
              "type": "string",
              "description": "The name of the event. This is how you'll find your event in Customer.io or select it when using events as campaign triggers."
            },
            "action": {
              "enum": [
                "event"
              ],
              "type": "string",
              "description": "A custom event attributed to the specified person."
            },
            "timestamp": {
              "type": "integer",
              "description": "The Unix timestamp when the event happened."
            },
            "attributes": {
              "type": "object",
              "properties": {
                "reply_to": {
                  "type": "string",
                  "format": "email",
                  "description": "The address you want to receive replies to, overriding the `reply to` field for emails triggered by the event."
                },
                "recipient": {
                  "type": "string",
                  "format": "email",
                  "description": "The email address of the person associated with the event, overriding the `to` field in emails triggered by the event."
                },
                "from_address": {
                  "type": "string",
                  "format": "email",
                  "description": "The address you want to trigger messages from, overriding the `from` field in emails triggered by the event."
                }
              },
              "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.\n",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "liquid merge data"
              }
            }
          }
        }
      ],
      "description": "A custom event attributed to a person. You can use events to trigger campaigns, or reference event information using liquid in your messages."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "name"
          ],
          "properties": {
            "id": {
              "type": "string",
              "format": "ULID",
              "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
            },
            "name": {
              "type": "string",
              "description": "The name of the screen a person visited. This is how you'll find and select screen view events in Customer.io."
            },
            "action": {
              "enum": [
                "screen"
              ],
              "type": "string",
              "description": "A mobile \"screenview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
            },
            "timestamp": {
              "type": "integer",
              "description": "The Unix timestamp when the event happened."
            },
            "attributes": {
              "type": "object",
              "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "liquid merge data"
              }
            }
          }
        }
      ],
      "description": "A mobile \"screenview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "name"
          ],
          "properties": {
            "id": {
              "type": "string",
              "format": "ULID",
              "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
            },
            "name": {
              "type": "string",
              "description": "The name of the page or page path that a person visited. This is how you'll find and select page view events in Customer.io."
            },
            "action": {
              "enum": [
                "screen"
              ],
              "type": "string",
              "description": "A web \"pageview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
            },
            "timestamp": {
              "type": "integer",
              "description": "The Unix timestamp when the event happened."
            },
            "attributes": {
              "type": "object",
              "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "liquid merge data"
              }
            }
          }
        }
      ],
      "description": "A web \"pageview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "cio_relationships"
          ],
          "properties": {
            "action": {
              "enum": [
                "add_relationships"
              ],
              "type": "string",
              "description": "This operation associates a person with one or more objects."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "identifiers"
                    ],
                    "properties": {
                      "identifiers": {
                        "type": "object",
                        "required": [
                          "object_type_id",
                          "object_id"
                        ],
                        "properties": {
                          "object_id": {
                            "type": "string",
                            "example": "acme",
                            "nullable": false,
                            "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                          },
                          "object_type_id": {
                            "type": "string",
                            "example": "1",
                            "nullable": false,
                            "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                          }
                        },
                        "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "relationship_attributes": {
                        "type": "object",
                        "example": {
                          "role": "admin"
                        },
                        "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                        "additionalProperties": {
                          "x-additionalPropertiesName": "Relationship Attributes"
                        }
                      }
                    }
                  }
                ]
              },
              "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
            }
          }
        }
      ],
      "title": "add_relationships",
      "description": "Associate multiple objects with a person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "cio_relationships"
          ],
          "properties": {
            "action": {
              "enum": [
                "delete_relationships"
              ],
              "type": "string",
              "description": "This operation deletes an object relationship from one or more people."
            },
            "cio_relationships": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "identifiers"
                    ],
                    "properties": {
                      "identifiers": {
                        "type": "object",
                        "required": [
                          "object_type_id",
                          "object_id"
                        ],
                        "properties": {
                          "object_id": {
                            "type": "string",
                            "example": "acme",
                            "nullable": false,
                            "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                          },
                          "object_type_id": {
                            "type": "string",
                            "example": "1",
                            "nullable": false,
                            "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                          }
                        },
                        "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "relationship_attributes": {
                        "type": "object",
                        "example": {
                          "role": "admin"
                        },
                        "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                        "additionalProperties": {
                          "x-additionalPropertiesName": "Relationship Attributes"
                        }
                      }
                    }
                  }
                ]
              },
              "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
            }
          }
        }
      ],
      "title": "delete_relationships",
      "description": "Remove multiple object relationships from a person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "device"
          ],
          "properties": {
            "action": {
              "enum": [
                "add_device"
              ],
              "type": "string",
              "description": "Add a mobile device to a person's profile."
            },
            "device": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "token"
                  ],
                  "properties": {
                    "token": {
                      "type": "string",
                      "description": "The device token."
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "platform"
                  ],
                  "properties": {
                    "platform": {
                      "enum": [
                        "ios",
                        "android"
                      ],
                      "type": "string",
                      "description": "The device/messaging platform."
                    },
                    "last_used": {
                      "type": "integer",
                      "format": "unix timestamp",
                      "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                    },
                    "attributes": {
                      "type": "object",
                      "properties": {
                        "device_os": {
                          "type": "string",
                          "description": "The operating system, including the version, on the device."
                        },
                        "app_version": {
                          "type": "string",
                          "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                        },
                        "_last_status": {
                          "enum": [
                            "",
                            "bounced",
                            "sent",
                            "suppressed"
                          ],
                          "type": "string",
                          "readOnly": true,
                          "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                        },
                        "device_model": {
                          "type": "string",
                          "description": "The model of the device a person uses."
                        },
                        "push_enabled": {
                          "enum": [
                            "true",
                            "false"
                          ],
                          "type": "string",
                          "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                        },
                        "device_locale": {
                          "type": "string",
                          "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                        },
                        "cio_sdk_version": {
                          "type": "string",
                          "description": "The version of the Customer.io SDK in the app."
                        }
                      },
                      "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                      "additionalProperties": {
                        "type": "string",
                        "description": "Custom properties that you want to associate with the device.",
                        "x-additionalPropertiesName": "Custom Device Attributes"
                      }
                    }
                  },
                  "description": "Device information common to the v1 and v2 APIs."
                }
              ],
              "description": "The properties representing an individual device. [Our SDK's](https://customer.io/docs/api/app/) gather all the properties defined below automatically, unless you disable the `autoTrackDeviceAttributes` setting. You can reference the properties outside the `attributes` object in segments."
            }
          }
        }
      ],
      "title": "add_device",
      "description": "Assign devices to a person."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action",
            "device"
          ],
          "properties": {
            "action": {
              "enum": [
                "delete_device"
              ],
              "type": "string",
              "description": "Delete a device from a person's profile."
            },
            "device": {
              "type": "object",
              "required": [
                "token"
              ],
              "properties": {
                "token": {
                  "type": "string",
                  "description": "The token of the device you want to remove."
                }
              },
              "description": "The device you want to remove."
            }
          }
        }
      ],
      "title": "delete_device",
      "description": "Delete devices that belong to a person."
    },
    {
      "type": "object",
      "required": [
        "type",
        "primary",
        "secondary",
        "action"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "action": {
          "enum": [
            "merge"
          ],
          "type": "string",
          "description": "Merge two people. You'll merge the `secondary` person into the `primary`. The primary profile remains after the merge and the secondary is deleted. This operation is _not_ reversible. See our page on [merging duplicate people](https://customer.io/docs/api/app/) for more information.\n"
        },
        "primary": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person that you want to remain after the merge, identified by one of `id`, `email`, or `cio_id`. This person receives information from the secondary person in the merge."
        },
        "secondary": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person that you want to delete after the merge, identified by one of `id`, `email`, or `cio_id`. This person's information is merged into the primary person's profile and then it is deleted."
        }
      },
      "description": "Merge two people. You'll merge the `secondary` person into the `primary`. The primary profile remains after the merge and the secondary is deleted. This operation is _not_ reversible. See our page on [merging duplicate people](https://customer.io/docs/api/app/) for more information.\n"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "suppress"
              ],
              "type": "string",
              "description": "Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from suppressions performed by your email provider."
            }
          }
        }
      ],
      "title": "suppress",
      "description": "Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from suppressions performed by your email provider."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "type",
            "identifiers"
          ],
          "properties": {
            "type": {
              "enum": [
                "person"
              ],
              "type": "string",
              "description": "The operation modifies a person in Customer.io"
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "description": "The email address of the customer."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": "a3000001",
                      "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                    }
                  }
                }
              ],
              "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "action"
          ],
          "properties": {
            "action": {
              "enum": [
                "unsuppress"
              ],
              "type": "string",
              "description": "Unsuppress a person's identifier(s) in Customer.io, so that you can message a person or add their identifiers back to your workspace. This does not unsuppress addresses that were previously suppressed by your email provider."
            }
          }
        }
      ],
      "title": "unsuppress",
      "description": "Unsuppress a person's identifier(s) in Customer.io, so that you can message a person or add their identifiers back to your workspace. This does not unsuppress addresses that were previously suppressed by your email provider."
    }
  ],
  "title": "Person",
  "discriminator": {
    "mapping": {
      "page": "#/components/schemas/person_page",
      "event": "#/components/schemas/person_event",
      "merge": "#/components/schemas/person_merge",
      "delete": "#/components/schemas/person_delete",
      "screen": "#/components/schemas/person_screen",
      "identify": "#/components/schemas/identify_person",
      "suppress": "#/components/schemas/person_suppress",
      "add_device": "#/components/schemas/person_add_device",
      "unsuppress": "#/components/schemas/person_unsuppress",
      "delete_device": "#/components/schemas/person_delete_device",
      "add_relationships": "#/components/schemas/person_add_relationships",
      "delete_relationships": "#/components/schemas/person_delete_relationships"
    },
    "propertyName": "action"
  }
}
object person_page
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ULID",
          "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
        },
        "name": {
          "type": "string",
          "description": "The name of the page or page path that a person visited. This is how you'll find and select page view events in Customer.io."
        },
        "action": {
          "enum": [
            "screen"
          ],
          "type": "string",
          "description": "A web \"pageview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
        },
        "timestamp": {
          "type": "integer",
          "description": "The Unix timestamp when the event happened."
        },
        "attributes": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        }
      }
    }
  ],
  "description": "A web \"pageview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
}
object person_screen
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "ULID",
          "description": "A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id."
        },
        "name": {
          "type": "string",
          "description": "The name of the screen a person visited. This is how you'll find and select screen view events in Customer.io."
        },
        "action": {
          "enum": [
            "screen"
          ],
          "type": "string",
          "description": "A mobile \"screenview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
        },
        "timestamp": {
          "type": "integer",
          "description": "The Unix timestamp when the event happened."
        },
        "attributes": {
          "type": "object",
          "description": "Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "liquid merge data"
          }
        }
      }
    }
  ],
  "description": "A mobile \"screenview\" event attributed to a person. Our `screen` and `page` event types are more specific than our standard `event`, and help you track and target people based on the pages people visit in your mobile app or website."
}
object person_subscribed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "metric"
      ],
      "properties": {
        "metric": {
          "enum": [
            "subscribed"
          ],
          "type": "string",
          "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp",
        "data"
      ],
      "properties": {
        "data": {
          "type": "object",
          "required": [
            "identifiers",
            "customer_id",
            "email_address"
          ],
          "properties": {
            "customer_id": {
              "type": "string",
              "example": "42",
              "deprecated": true,
              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
            },
            "identifiers": {
              "type": "object",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "nullable": true,
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                },
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                },
                "cio_id": {
                  "type": "string",
                  "example": "d9c106000001",
                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                }
              },
              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
            },
            "email_address": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            }
          },
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "customer"
          ],
          "type": "string",
          "example": "customer",
          "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
        }
      }
    }
  ],
  "title": "subscribed",
  "description": "A person subscribed to messages from you—their `unsubscribed` attribute was set to `false`."
}
object person_suppress
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "suppress"
          ],
          "type": "string",
          "description": "Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from suppressions performed by your email provider."
        }
      }
    }
  ],
  "title": "suppress",
  "description": "Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from suppressions performed by your email provider."
}
object person_unsubscribed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "metric"
      ],
      "properties": {
        "metric": {
          "enum": [
            "unsubscribed"
          ],
          "type": "string",
          "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp",
        "data"
      ],
      "properties": {
        "data": {
          "type": "object",
          "required": [
            "identifiers",
            "customer_id",
            "email_address"
          ],
          "properties": {
            "customer_id": {
              "type": "string",
              "example": "42",
              "deprecated": true,
              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
            },
            "identifiers": {
              "type": "object",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "nullable": true,
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                },
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "nullable": true,
                  "description": "The email address of the customer."
                },
                "cio_id": {
                  "type": "string",
                  "example": "d9c106000001",
                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                }
              },
              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
            },
            "email_address": {
              "type": "string",
              "example": "test@example.com",
              "nullable": true,
              "description": "The email address of the customer."
            }
          },
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "customer"
          ],
          "type": "string",
          "example": "customer",
          "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
        }
      }
    }
  ],
  "title": "unsubscribed",
  "description": "A person unsubscribed to messages from you—their `unsubscribed` attribute was set to `true`."
}
object person_unsuppress
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "identifiers"
      ],
      "properties": {
        "type": {
          "enum": [
            "person"
          ],
          "type": "string",
          "description": "The operation modifies a person in Customer.io"
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "42",
                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "test@example.com",
                  "description": "The email address of the customer."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": "a3000001",
                  "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
                }
              }
            }
          ],
          "description": "The person you want to perform an action for—one of either `id`, `email`, or `cio_id`. You cannot pass multiple identifiers."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "enum": [
            "unsuppress"
          ],
          "type": "string",
          "description": "Unsuppress a person's identifier(s) in Customer.io, so that you can message a person or add their identifiers back to your workspace. This does not unsuppress addresses that were previously suppressed by your email provider."
        }
      }
    }
  ],
  "title": "unsuppress",
  "description": "Unsuppress a person's identifier(s) in Customer.io, so that you can message a person or add their identifiers back to your workspace. This does not unsuppress addresses that were previously suppressed by your email provider."
}
string preheader
{
  "type": "string",
  "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
}
string preheader_text
{
  "type": "string",
  "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
}
string preprocessor
{
  "enum": [
    "premailer"
  ],
  "type": "string",
  "readOnly": true,
  "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
}
string pushBody
{
  "type": "string",
  "description": "The body of your push notification."
}
string pushImage
{
  "type": "string",
  "description": "The URL of an HTTPS image that you want to use for your message."
}
string pushLink
{
  "type": "string",
  "description": "A deep link (to a page in your app), or a link to a web page."
}
string pushTitle
{
  "type": "string",
  "description": "The title of your push notification."
}
object push_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "A push notification was attempted but unsuccessful. This generally means that we'll try again."
        }
      }
    }
  ],
  "title": "attempted"
}
object push_bounced
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients"
              ],
              "properties": {
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id",
                      "device_platform",
                      "failure_message"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      },
                      "device_platform": {
                        "enum": [
                          "android",
                          "ios"
                        ],
                        "type": "string",
                        "example": "ios",
                        "description": "The device's operating system."
                      },
                      "failure_message": {
                        "type": "string",
                        "description": "The reason the push failed for this particular recipient."
                      }
                    },
                    "description": "Describes the device of the recipient who tapped the link."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "bounced"
          ],
          "type": "string",
          "description": "The delivery provider reported at least one invalid device token."
        }
      }
    }
  ],
  "title": "bounced"
}
object push_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients",
                "href",
                "link_id"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      }
                    },
                    "description": "Describes the device of the recipient who tapped the link."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "A recipient tapped a link in a push notification."
        }
      }
    }
  ],
  "title": "clicked"
}
object push_converted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients"
              ],
              "properties": {
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      }
                    },
                    "description": "Describes the device of the recipient who tapped the link."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "converted"
          ],
          "type": "string",
          "description": "A person matched a conversion goal attributed to a push notification."
        }
      }
    }
  ],
  "title": "converted"
}
object push_delivered
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients"
              ],
              "properties": {
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      }
                    },
                    "description": "Describes the device the push was sent to."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "delivered"
          ],
          "type": "string",
          "description": "A push notification was delivered to a recipient device."
        }
      }
    }
  ],
  "title": "delivered"
}
object push_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "A push notification was drafted."
        }
      }
    }
  ],
  "title": "drafted"
}
object push_dropped
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients"
              ],
              "properties": {
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id",
                      "device_platform",
                      "failure_message"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      },
                      "device_platform": {
                        "enum": [
                          "android",
                          "ios"
                        ],
                        "type": "string",
                        "example": "ios",
                        "description": "The device's operating system."
                      },
                      "failure_message": {
                        "type": "string",
                        "description": "The reason the push failed for this particular recipient."
                      }
                    },
                    "description": "Describes the device of the recipient who tapped the link."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "dropped"
          ],
          "type": "string",
          "description": "A push notification wasn't sent because at least one device token previously bounced."
        }
      }
    }
  ],
  "title": "dropped"
}
object push_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "A push notification was drafted."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "A push notification was attempted but unsuccessful. This generally means that we'll try again."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients"
                  ],
                  "properties": {
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          }
                        },
                        "description": "Describes the device the push was sent to."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "delivered"
              ],
              "type": "string",
              "description": "A push notification was delivered to a recipient device."
            }
          }
        }
      ],
      "title": "delivered"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The stringified payload for your push notification. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          }
                        },
                        "description": "Describes the device the push was sent to."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "A push notification was sent to a recipient. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "opened"
              ],
              "type": "string",
              "description": "A device opened a push notification."
            }
          }
        }
      ],
      "title": "opened"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients",
                    "href",
                    "link_id"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          }
                        },
                        "description": "Describes the device of the recipient who tapped the link."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "A recipient tapped a link in a push notification."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients"
                  ],
                  "properties": {
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          }
                        },
                        "description": "Describes the device of the recipient who tapped the link."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "converted"
              ],
              "type": "string",
              "description": "A person matched a conversion goal attributed to a push notification."
            }
          }
        }
      ],
      "title": "converted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients"
                  ],
                  "properties": {
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id",
                          "device_platform",
                          "failure_message"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          },
                          "device_platform": {
                            "enum": [
                              "android",
                              "ios"
                            ],
                            "type": "string",
                            "example": "ios",
                            "description": "The device's operating system."
                          },
                          "failure_message": {
                            "type": "string",
                            "description": "The reason the push failed for this particular recipient."
                          }
                        },
                        "description": "Describes the device of the recipient who tapped the link."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "bounced"
              ],
              "type": "string",
              "description": "The delivery provider reported at least one invalid device token."
            }
          }
        }
      ],
      "title": "bounced"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipients"
                  ],
                  "properties": {
                    "recipients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "device_id",
                          "device_platform",
                          "failure_message"
                        ],
                        "properties": {
                          "device_id": {
                            "type": "string",
                            "description": "The device identifier/token."
                          },
                          "device_platform": {
                            "enum": [
                              "android",
                              "ios"
                            ],
                            "type": "string",
                            "example": "ios",
                            "description": "The device's operating system."
                          },
                          "failure_message": {
                            "type": "string",
                            "description": "The reason the push failed for this particular recipient."
                          }
                        },
                        "description": "Describes the device of the recipient who tapped the link."
                      }
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "dropped"
              ],
              "type": "string",
              "description": "A push notification wasn't sent because at least one device token previously bounced."
            }
          }
        }
      ],
      "title": "dropped"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "A push notification couldn't be sent to the delivery provider."
            }
          }
        }
      ],
      "title": "failed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "push"
              ],
              "type": "string",
              "description": "The event relates to an push notification."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "undeliverable"
              ],
              "type": "string",
              "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
            }
          }
        }
      ],
      "title": "failed"
    }
  ],
  "title": "Push",
  "description": "Events representing a push notification.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/push_sent",
      "failed": "#/components/schemas/push_failed",
      "opened": "#/components/schemas/push_opened",
      "bounced": "#/components/schemas/push_bounced",
      "clicked": "#/components/schemas/push_clicked",
      "drafted": "#/components/schemas/push_drafted",
      "dropped": "#/components/schemas/push_dropped",
      "attempted": "#/components/schemas/push_attempted",
      "converted": "#/components/schemas/push_converted",
      "delivered": "#/components/schemas/push_delivered",
      "undeliverable": "#/components/schemas/push_undeliverable"
    },
    "propertyName": "metric"
  }
}
object push_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "push"
      ],
      "type": "string",
      "description": "The event relates to an push notification."
    }
  }
}
object push_events
{
  "type": "object",
  "properties": {
    "push_sent": {
      "type": "boolean",
      "description": "Reports when a message is sent from Customer.io to the delivery provider. Set to true to report this event type."
    },
    "push_failed": {
      "type": "boolean",
      "description": "Reports when a message couldn't be sent to the delivery provider. Set to true to report this event type."
    },
    "push_opened": {
      "type": "boolean",
      "description": "The app on a recipient's device reports that the recipient opened the message. Set to true to report this event type."
    },
    "push_bounced": {
      "type": "boolean",
      "description": "Reports when the delivery provider is unable to deliver a message. Set to true to report this event type."
    },
    "push_clicked": {
      "type": "boolean",
      "description": "Reports when a person clicks a tracked link in a message. Set to true to report this event type."
    },
    "push_drafted": {
      "type": "boolean",
      "description": "Reports when a message draft is created. Set to true to report this event type."
    },
    "push_dropped": {
      "type": "boolean",
      "description": "Reports when a message isn't sent because the recipient is suppressed. Set to true to report this event type."
    },
    "push_attempted": {
      "type": "boolean",
      "description": "Reports when a push notification could not be sent to the delivery provider will retry. Set to true to report this event type."
    },
    "push_converted": {
      "type": "boolean",
      "description": "Reports a conversion. Set to true to report this event type."
    },
    "push_delivered": {
      "type": "boolean",
      "description": "An app reports that the recipient's device received a message. Set to true to report this event type."
    }
  },
  "description": "Describes the push events reported from Customer.io to a webhook."
}
object push_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "A push notification couldn't be sent to the delivery provider."
        }
      }
    }
  ],
  "title": "failed"
}
object push_opened
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "opened"
          ],
          "type": "string",
          "description": "A device opened a push notification."
        }
      }
    }
  ],
  "title": "opened"
}
object push_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipients"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The stringified payload for your push notification. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "recipients": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "device_id"
                    ],
                    "properties": {
                      "device_id": {
                        "type": "string",
                        "description": "The device identifier/token."
                      }
                    },
                    "description": "Describes the device the push was sent to."
                  }
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "A push notification was sent to a recipient. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
        }
      }
    }
  ],
  "title": "sent"
}
object push_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "push"
          ],
          "type": "string",
          "description": "The event relates to an push notification."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "failed"
}
boolean queue_draft
{
  "type": "boolean",
  "default": false,
  "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
}
string recipient
{
  "type": "string",
  "example": "{{customer.email}}",
  "description": "The recipient address for an action."
}
string recipient_not_templated
{
  "type": "string",
  "example": "test@example.com",
  "description": "The recipient address for an action."
}
object relationship_attributes
{
  "type": "object",
  "example": {
    "role": "admin"
  },
  "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
  "additionalProperties": {
    "x-additionalPropertiesName": "Relationship Attributes"
  }
}
string reply_to
{
  "type": "string",
  "example": "replyto@example.com",
  "readOnly": true,
  "description": "The address that receives replies for the message, if applicable."
}
integer reply_to_id
{
  "type": "integer",
  "example": 38,
  "nullable": true,
  "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
}
string reply_to_settable
{
  "type": "string",
  "example": "replyto@example.com",
  "description": "The address that receives replies for the message, if applicable."
}
object reportingWebhook
{
  "type": "object",
  "required": [
    "name",
    "endpoint",
    "events"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "readOnly": true,
      "description": "The identifier for the webhook."
    },
    "name": {
      "type": "string",
      "example": "my cool webhook",
      "description": "The name of your webhook."
    },
    "events": {
      "type": "array",
      "items": {
        "enum": [
          "customer_subscribed",
          "customer_unsubscribed",
          "cio_subscription_preferences_changed",
          "email_drafted",
          "email_attempted",
          "email_sent",
          "email_delivered",
          "email_opened",
          "email_clicked",
          "email_converted",
          "email_bounced",
          "email_dropped",
          "email_deferred",
          "email_spammed",
          "email_failed",
          "email_unsubscribed",
          "email_undeliverable",
          "push_drafted",
          "push_attempted",
          "push_sent",
          "push_delivered",
          "push_opened",
          "push_clicked",
          "push_converted",
          "push_bounced",
          "push_dropped",
          "push_failed",
          "push_undeliverable",
          "slack_drafted",
          "slack_attempted",
          "slack_sent",
          "slack_clicked",
          "slack_converted",
          "slack_failed",
          "sms_drafted",
          "sms_attempted",
          "sms_sent",
          "sms_delivered",
          "sms_clicked",
          "sms_converted",
          "sms_bounced",
          "sms_failed",
          "sms_undeliverable",
          "webhook_drafted",
          "webhook_attempted",
          "webhook_sent",
          "webhook_clicked",
          "webhook_converted",
          "webhook_failed",
          "webhook_undeliverable"
        ],
        "type": "string"
      },
      "example": [
        "email_failed",
        "webhook_failed"
      ],
      "minItems": 1,
      "description": "Specifies the types of events you want to report to your webhook. See our [reporting webhooks reference](https://customer.io/docs/api/app/) for more information about event types and the information they return."
    },
    "disabled": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to quit sending events to the webhook URL. Set to `false` to enable the webhook."
    },
    "endpoint": {
      "type": "string",
      "format": "url",
      "example": "http://example.com/webhook",
      "description": "The webhook URL."
    },
    "with_content": {
      "type": "boolean",
      "example": false,
      "description": "Set to `true` to include the message `body` in `_sent` events."
    },
    "full_resolution": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set to `false` to send unique open and click events to the webhook. Set to `true` to send all events."
    }
  }
}
object reporting_webhook
{
  "oneOf": [
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "metric"
              ],
              "properties": {
                "metric": {
                  "enum": [
                    "subscribed"
                  ],
                  "type": "string",
                  "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp",
                "data"
              ],
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "identifiers",
                    "customer_id",
                    "email_address"
                  ],
                  "properties": {
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "email_address": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    }
                  },
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "customer"
                  ],
                  "type": "string",
                  "example": "customer",
                  "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
                }
              }
            }
          ],
          "title": "subscribed",
          "description": "A person subscribed to messages from you—their `unsubscribed` attribute was set to `false`."
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "metric"
              ],
              "properties": {
                "metric": {
                  "enum": [
                    "unsubscribed"
                  ],
                  "type": "string",
                  "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp",
                "data"
              ],
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "identifiers",
                    "customer_id",
                    "email_address"
                  ],
                  "properties": {
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "email_address": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    }
                  },
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "customer"
                  ],
                  "type": "string",
                  "example": "customer",
                  "description": "The event represents a customer subscribing, unsubscribing, or changing their subscription preferences."
                }
              }
            }
          ],
          "title": "unsubscribed",
          "description": "A person unsubscribed to messages from you—their `unsubscribed` attribute was set to `true`."
        },
        {
          "type": "object",
          "title": "changed subscription preferences",
          "required": [
            "metric",
            "event_id",
            "data",
            "timestamp"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "identifiers",
                    "customer_id",
                    "email_address",
                    "content"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "example": "{\"topics\":{\"topic_1\":true}}",
                      "description": "Contains the subscription preferences that a person changed in a stringified object format. The `topic_1` key refers to a topic with an ID of `1`; you can get more information about each topic from our [App API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "email_address": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    }
                  },
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                }
              ]
            },
            "metric": {
              "enum": [
                "cio_subscription_preferences_changed"
              ],
              "type": "string",
              "description": "The event we're reporting to your webhook endpoint. In this case, a person changed their subscription preferences."
            },
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "delivery_type": {
              "enum": [
                "email",
                "sms",
                "push",
                "in_app",
                "slack",
                "webhook"
              ],
              "type": "string",
              "example": "email",
              "description": "The type of delivery that resulted in a change to preferences."
            }
          },
          "description": "A person changed their subscription preferences through our subscription center or you changed their `cio_subscription_preferences` attribute values.\n\nSome fields in the `data` object change based on whether the message that resulted in the change originated from a broadcast, campaign, or newsletter.\n"
        }
      ],
      "title": "Customer",
      "description": "Events that occur when a customer subscribes or unsubscribes from your messages."
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "drafted"
                  ],
                  "type": "string",
                  "description": "The metric recorded by the event. For `customer` events, this is whether the customer explicitly subscribed or unsubscribed."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "An email could not be sent to the delivery provider and will be retried. The `failure_message` provides the reason for the failure."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The body content of your email. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "A message was successfully sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "delivered"
                  ],
                  "type": "string",
                  "description": "A message was successfully delivered to a recipient."
                }
              }
            }
          ],
          "title": "delivered"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "opened"
                  ],
                  "type": "string",
                  "description": "The recipient opened a message."
                }
              }
            }
          ],
          "title": "opened"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject",
                        "href",
                        "link_id"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "The recipient clicked a tracked link in the email."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "converted"
                  ],
                  "type": "string",
                  "description": "A person matched a conversion goal attributed to an email."
                }
              }
            }
          ],
          "title": "converted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "unsubscribed"
                  ],
                  "type": "string",
                  "description": "The recipient unsubscribed based on a particular message."
                }
              }
            }
          ],
          "title": "unsubscribed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject",
                        "failure_message"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        },
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "bounced"
                  ],
                  "type": "string",
                  "description": "The delivery provider could not deliver an email."
                }
              }
            }
          ],
          "title": "bounced"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject",
                        "failure_message"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        },
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "dropped"
                  ],
                  "type": "string",
                  "description": "Customer.io did not send an email because it was addressed to a person who was suppressed."
                }
              }
            }
          ],
          "title": "dropped"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "spammed"
                  ],
                  "type": "string",
                  "description": "A recipient marked an email as spam."
                }
              }
            }
          ],
          "title": "spammed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject",
                        "failure_message"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        },
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "An email couldn't be sent to the delivery provider."
                }
              }
            }
          ],
          "title": "failed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "email"
                  ],
                  "type": "string",
                  "description": "The event relates to an email action."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "subject",
                        "failure_message"
                      ],
                      "properties": {
                        "subject": {
                          "type": "string",
                          "description": "The subject of the email."
                        },
                        "recipient": {
                          "type": "string",
                          "example": "test@example.com",
                          "description": "The recipient address for an action."
                        },
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "undeliverable"
                  ],
                  "type": "string",
                  "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
                }
              }
            }
          ],
          "title": "failed"
        }
      ],
      "title": "Email",
      "description": "Events representing an email.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/email_sent",
          "failed": "#/components/schemas/email_failed",
          "opened": "#/components/schemas/email_opened",
          "bounced": "#/components/schemas/email_bounced",
          "clicked": "#/components/schemas/email_clicked",
          "drafted": "#/components/schemas/email_drafted",
          "dropped": "#/components/schemas/email_dropped",
          "spammed": "#/components/schemas/email_spammed",
          "attempted": "#/components/schemas/email_attempted",
          "converted": "#/components/schemas/email_converted",
          "delivered": "#/components/schemas/email_delivered",
          "unsubscribed": "#/components/schemas/email_unsubscribed",
          "undeliverable": "#/components/schemas/email_undeliverable"
        },
        "propertyName": "metric"
      }
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "A push notification was drafted."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "A push notification was attempted but unsuccessful. This generally means that we'll try again."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients"
                      ],
                      "properties": {
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              }
                            },
                            "description": "Describes the device the push was sent to."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "delivered"
                  ],
                  "type": "string",
                  "description": "A push notification was delivered to a recipient device."
                }
              }
            }
          ],
          "title": "delivered"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The stringified payload for your push notification. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              }
                            },
                            "description": "Describes the device the push was sent to."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "A push notification was sent to a recipient. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "opened"
                  ],
                  "type": "string",
                  "description": "A device opened a push notification."
                }
              }
            }
          ],
          "title": "opened"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients",
                        "href",
                        "link_id"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              }
                            },
                            "description": "Describes the device of the recipient who tapped the link."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "A recipient tapped a link in a push notification."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients"
                      ],
                      "properties": {
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              }
                            },
                            "description": "Describes the device of the recipient who tapped the link."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "converted"
                  ],
                  "type": "string",
                  "description": "A person matched a conversion goal attributed to a push notification."
                }
              }
            }
          ],
          "title": "converted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients"
                      ],
                      "properties": {
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id",
                              "device_platform",
                              "failure_message"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              },
                              "device_platform": {
                                "enum": [
                                  "android",
                                  "ios"
                                ],
                                "type": "string",
                                "example": "ios",
                                "description": "The device's operating system."
                              },
                              "failure_message": {
                                "type": "string",
                                "description": "The reason the push failed for this particular recipient."
                              }
                            },
                            "description": "Describes the device of the recipient who tapped the link."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "bounced"
                  ],
                  "type": "string",
                  "description": "The delivery provider reported at least one invalid device token."
                }
              }
            }
          ],
          "title": "bounced"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipients"
                      ],
                      "properties": {
                        "recipients": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "device_id",
                              "device_platform",
                              "failure_message"
                            ],
                            "properties": {
                              "device_id": {
                                "type": "string",
                                "description": "The device identifier/token."
                              },
                              "device_platform": {
                                "enum": [
                                  "android",
                                  "ios"
                                ],
                                "type": "string",
                                "example": "ios",
                                "description": "The device's operating system."
                              },
                              "failure_message": {
                                "type": "string",
                                "description": "The reason the push failed for this particular recipient."
                              }
                            },
                            "description": "Describes the device of the recipient who tapped the link."
                          }
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "dropped"
                  ],
                  "type": "string",
                  "description": "A push notification wasn't sent because at least one device token previously bounced."
                }
              }
            }
          ],
          "title": "dropped"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "A push notification couldn't be sent to the delivery provider."
                }
              }
            }
          ],
          "title": "failed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "push"
                  ],
                  "type": "string",
                  "description": "The event relates to an push notification."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "undeliverable"
                  ],
                  "type": "string",
                  "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
                }
              }
            }
          ],
          "title": "failed"
        }
      ],
      "title": "Push",
      "description": "Events representing a push notification.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/push_sent",
          "failed": "#/components/schemas/push_failed",
          "opened": "#/components/schemas/push_opened",
          "bounced": "#/components/schemas/push_bounced",
          "clicked": "#/components/schemas/push_clicked",
          "drafted": "#/components/schemas/push_drafted",
          "dropped": "#/components/schemas/push_dropped",
          "attempted": "#/components/schemas/push_attempted",
          "converted": "#/components/schemas/push_converted",
          "delivered": "#/components/schemas/push_delivered",
          "undeliverable": "#/components/schemas/push_undeliverable"
        },
        "propertyName": "metric"
      }
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "drafted"
                  ],
                  "type": "string",
                  "description": "An in-app message draft was created."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "An in-app message failed to send, but will be retried."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "An in-app message was sent from Customer.io. Because in-app messages are only delivered when a person's app is open, there may be a significant delay between when a message is sent and when it's \"opened\". If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "opened"
                  ],
                  "type": "string",
                  "description": "A device opened an in-app message. Because messages appear automatically when a person opens your app (to the right page if using page rules), \"opened\" is essentially an \"impression\"—a person saw your message."
                }
              }
            }
          ],
          "title": "opened"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "link_id",
                        "href"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                        },
                        "tracked_response": {
                          "type": "string",
                          "description": "The *Action Name* of the action a person clicked/tapped in the message. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "The in-app message recipient clicked/tapped a component in a message with **Track Clicks** enabled. The *Track Clicks* setting is enabled by default for in-app messages. The payload includes a `tracked_response` key containing the *Action Name* of the component the person clicked/tapped. [Learn more about tracked responses and action names](https://customer.io/docs/api/app/)."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "recipient": {
                          "type": "string",
                          "description": "The ID or email address of the person the message was sent to. This identifier is determined by the settings in your message and the value you use to identify your app's users."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "converted"
                  ],
                  "type": "string",
                  "description": "A person matched a conversion goal attributed to an in-app notification."
                }
              }
            }
          ],
          "title": "converted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "An in-app message failed to send."
                }
              }
            }
          ],
          "title": "failed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "in_app"
                  ],
                  "type": "string",
                  "description": "The event relates to an in-app message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "undeliverable"
                  ],
                  "type": "string",
                  "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
                }
              }
            }
          ],
          "title": "undeliverable"
        }
      ],
      "title": "In-App Messages",
      "description": "Events pertaining to in-app messages.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/in_app_sent",
          "failed": "#/components/schemas/in_app_failed",
          "opened": "#/components/schemas/in_app_opened",
          "clicked": "#/components/schemas/in_app_clicked",
          "drafted": "#/components/schemas/in_app_drafted",
          "attempted": "#/components/schemas/in_app_attempted",
          "converted": "#/components/schemas/in_app_converted",
          "undeliverable": "#/components/schemas/in_app_undeliverable"
        },
        "propertyName": "metric"
      }
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "drafted"
                  ],
                  "type": "string",
                  "description": "An SMS notification was drafted."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "An SMS could not be sent to the delivery provider, but will retry."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The MSISDN (phone number) of the SMS recipient."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "An SMS notification was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "recipient": {
                          "type": "string",
                          "description": "The MSISDN (phone number) of the SMS recipient."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "delivered"
                  ],
                  "type": "string",
                  "description": "An SMS notification was delivered to a recipient."
                }
              }
            }
          ],
          "title": "delivered"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "link_id",
                        "href"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The MSISDN (phone number) of the SMS recipient."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "A recipient tapped a link in an SMS message they received."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "recipient": {
                          "type": "string",
                          "description": "The MSISDN (phone number) of the SMS recipient."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "converted"
                  ],
                  "type": "string",
                  "description": "A person matched a conversion goal attributed to an SMS."
                }
              }
            }
          ],
          "title": "converted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "failure_message"
                      ],
                      "properties": {
                        "recipient": {
                          "type": "string",
                          "description": "The MSISDN (phone number) of the SMS recipient."
                        },
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "bounced"
                  ],
                  "type": "string",
                  "description": "The delivery provider was unable to deliver an SMS message."
                }
              }
            }
          ],
          "title": "bounced"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "sms"
                  ],
                  "type": "string",
                  "description": "The event relates to an SMS message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "An SMS couldn't be sent to the delivery provider."
                }
              }
            }
          ],
          "title": "failed"
        }
      ],
      "title": "SMS",
      "description": "Events pertaining to SMS notifications.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/sms_sent",
          "failed": "#/components/schemas/sms_failed",
          "bounced": "#/components/schemas/sms_bounced",
          "clicked": "#/components/schemas/sms_clicked",
          "drafted": "#/components/schemas/sms_drafted",
          "attempted": "#/components/schemas/sms_attempted",
          "converted": "#/components/schemas/sms_converted",
          "delivered": "#/components/schemas/sms_delivered"
        },
        "propertyName": "metric"
      }
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "drafted"
                  ],
                  "type": "string",
                  "description": "A slack message was drafted."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "A slack message failed and will be retried."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The of your slack message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The channel or person that received the message, i.e. `#general`."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "A slack message was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "href",
                        "link_id"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The channel or person that received the message, i.e. `#general`."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "A person clicked a tracked link in a Slack message."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "A slack message failed."
                }
              }
            }
          ],
          "title": "failed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "slack"
                  ],
                  "type": "string",
                  "description": "The event relates to a Slack message."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "undeliverable"
                  ],
                  "type": "string",
                  "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
                }
              }
            }
          ],
          "title": "failed"
        }
      ],
      "title": "Slack",
      "description": "Events pertaining to Slack messages.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/slack_sent",
          "failed": "#/components/schemas/slack_failed",
          "clicked": "#/components/schemas/slack_clicked",
          "drafted": "#/components/schemas/slack_drafted",
          "attempted": "#/components/schemas/slack_attempted",
          "undeliverable": "#/components/schemas/slack_undeliverable"
        },
        "propertyName": "metric"
      }
    },
    {
      "oneOf": [
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                "metric": {
                  "enum": [
                    "drafted"
                  ],
                  "type": "string",
                  "description": "A webhook draft was created."
                }
              }
            }
          ],
          "title": "drafted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "attempted"
                  ],
                  "type": "string",
                  "description": "A webhook failed to send, but will be retried."
                }
              }
            }
          ],
          "title": "attempted"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient"
                      ],
                      "properties": {
                        "content": {
                          "type": "string",
                          "description": "The stringified payload sent to your webhook address. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The URL the webhook was sent to."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "sent"
                  ],
                  "type": "string",
                  "description": "A webhook was sent from Customer.io. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your webhook."
                }
              }
            }
          ],
          "title": "sent"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "recipient",
                        "link_id",
                        "href"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://www.customer.io/docs",
                          "description": "The URL of the link that a person clicked."
                        },
                        "link_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The identifier for the tracked link that a person clicked or tapped."
                        },
                        "recipient": {
                          "type": "string",
                          "description": "The URL the webhook was sent to."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "clicked"
                  ],
                  "type": "string",
                  "description": "The webhook recipient opened a tracked link in the webhook payload."
                }
              }
            }
          ],
          "title": "clicked"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "failed"
                  ],
                  "type": "string",
                  "description": "A webhook failed to send."
                }
              }
            }
          ],
          "title": "failed"
        },
        {
          "allOf": [
            {
              "type": "object",
              "required": [
                "event_id",
                "object_type",
                "timestamp"
              ],
              "properties": {
                "event_id": {
                  "type": "string",
                  "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
                  "description": "The unique ID of the reporting webhook event being sent."
                },
                "timestamp": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "example": 1613063089,
                  "description": "The unix timestamp when the event occurred."
                },
                "object_type": {
                  "enum": [
                    "webhook"
                  ],
                  "type": "string",
                  "description": "The event relates to a webhook."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "metric",
                "data"
              ],
              "properties": {
                "data": {
                  "allOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "title": "API triggered broadcast",
                          "required": [
                            "trigger_id",
                            "broadcast_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "trigger_id": {
                              "type": "integer",
                              "example": 1,
                              "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "broadcast_id": {
                              "type": "integer",
                              "example": 2,
                              "nullable": true,
                              "description": "The identifier for a broadcast."
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Campaign",
                          "required": [
                            "campaign_id",
                            "delivery_id",
                            "action_id",
                            "identifiers"
                          ],
                          "properties": {
                            "action_id": {
                              "type": "integer",
                              "example": 96,
                              "readOnly": true,
                              "description": "The identifier for an action."
                            },
                            "journey_id": {
                              "type": "string",
                              "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                              "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                            },
                            "campaign_id": {
                              "type": "integer",
                              "example": 5,
                              "nullable": true,
                              "description": "The identifier for a campaign."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "parent_action_id": {
                              "type": "integer",
                              "example": 1,
                              "readOnly": true,
                              "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                            },
                            "trigger_event_id": {
                              "type": "string",
                              "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                              "nullable": true,
                              "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "title": "Newsletter",
                          "required": [
                            "newsletter_id",
                            "delivery_id",
                            "identifiers"
                          ],
                          "properties": {
                            "content_id": {
                              "type": "integer",
                              "example": 3,
                              "description": "The identifier for a newsletter variant."
                            },
                            "customer_id": {
                              "type": "string",
                              "example": "42",
                              "deprecated": true,
                              "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                            },
                            "delivery_id": {
                              "type": "string",
                              "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                              "description": "The instance of a message sent to a person."
                            },
                            "identifiers": {
                              "type": "object",
                              "required": [
                                "id"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "example": "42",
                                  "nullable": true,
                                  "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                                },
                                "email": {
                                  "type": "string",
                                  "example": "test@example.com",
                                  "nullable": true,
                                  "description": "The email address of the customer."
                                },
                                "cio_id": {
                                  "type": "string",
                                  "example": "d9c106000001",
                                  "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                                }
                              },
                              "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                            },
                            "newsletter_id": {
                              "type": "integer",
                              "example": 10,
                              "nullable": true,
                              "description": "The identifier for a newsletter."
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "failure_message"
                      ],
                      "properties": {
                        "failure_message": {
                          "type": "string",
                          "example": "Something went wrong!",
                          "description": "Indicates the reason that an attempted message failed."
                        }
                      }
                    }
                  ],
                  "description": "Contains information about the event, specific to the `object_type` and `metric`."
                },
                "metric": {
                  "enum": [
                    "undeliverable"
                  ],
                  "type": "string",
                  "description": "A webhook/message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
                }
              }
            }
          ],
          "title": "failed"
        }
      ],
      "title": "Webhook",
      "description": "Events pertaining to webhooks.",
      "discriminator": {
        "mapping": {
          "sent": "#/components/schemas/webhook_sent",
          "failed": "#/components/schemas/webhook_failed",
          "clicked": "#/components/schemas/webhook_clicked",
          "drafted": "#/components/schemas/webhook_drafted",
          "attempted": "#/components/schemas/webhook_attempted",
          "undeliverable": "#/components/schemas/webhook_undeliverable"
        },
        "propertyName": "metric"
      }
    }
  ],
  "discriminator": {
    "propertyName": "object_type"
  }
}
string request_method
{
  "enum": [
    "GET",
    "POST",
    "PUT",
    "DELETE",
    "PATCH"
  ],
  "type": "string",
  "example": "POST",
  "description": "The method used in conjunction with a webhook `url`."
}
integer rows_imported
{
  "type": "integer",
  "description": "The number of rows we imported from the CSV."
}
integer rows_to_import
{
  "type": "integer",
  "description": "The total number of importable rows we found in the CSV."
}
object segmentAudienceFilter
{
  "type": "object",
  "title": "segment",
  "properties": {
    "id": {
      "type": "integer",
      "example": 4,
      "description": "The ID of the segment you want to return people from."
    }
  },
  "description": "Provide the `id` of a segment containing people you want to search for."
}
object segmentResponseObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 7,
      "description": "The identifier for a segment."
    },
    "name": {
      "type": "string",
      "example": "Manual Segment 1",
      "description": "The name of the segment."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": null,
      "nullable": true,
      "description": "The tags assigned to the segment, if any. Tags may help you sort through your segments."
    },
    "type": {
      "enum": [
        "dynamic",
        "manual"
      ],
      "type": "string",
      "example": "manual",
      "description": "The type of segment."
    },
    "state": {
      "enum": [
        "finished"
      ],
      "type": "string",
      "description": "The state of the segment. \n"
    },
    "progress": {
      "type": "integer",
      "example": null,
      "nullable": true,
      "description": "If Customer.io has not finished processing the segment, this indicates the percentage complete. Otherwise, this key is null."
    },
    "description": {
      "type": "string",
      "example": "My first manual segment",
      "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    }
  }
}
string segment_description
{
  "type": "string",
  "example": "My first manual segment",
  "description": "A description for the segment. This can help you understand the purpose of the segment when you encounter it in other requests or in the UI."
}
integer segment_id
{
  "type": "integer",
  "example": 7,
  "description": "The identifier for a segment."
}
string segment_name
{
  "type": "string",
  "example": "Manual Segment 1",
  "description": "The name of the segment."
}
boolean send_to_unsubscribed
{
  "type": "boolean",
  "default": true,
  "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
}
object sendemail
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "transactional_message_id"
          ],
          "properties": {
            "transactional_message_id": {
              "oneOf": [
                {
                  "type": "integer",
                  "title": "ID (integer)",
                  "example": 44,
                  "description": "The ID of the transactional message you want to send."
                },
                {
                  "type": "string",
                  "title": "Trigger Name (string)",
                  "example": "pwdreset",
                  "description": "The name of trigger for the transactional message you want to send; you set the trigger name in the *Configure Settings* step when setting up your message. This is case insensitive."
                }
              ],
              "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned the template (case insensitive)."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "body": {
              "type": "string",
              "description": "The HTML body of your message. This overrides the body of the transactional template (referenced by `transactional_message_id`). If you send an AMP-enabled email (with `body_amp`), and the recipient's email client doesn't support AMP, this is the fallback email."
            },
            "from": {
              "type": "string",
              "example": "support@example.com",
              "description": "The address that your email is from. This address must be verified by Customer.io. This overrides the from address set within the transactional template (referenced by `transactional_message_id`). You can include a display/friendly name in your from address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`."
            },
            "subject": {
              "type": "string",
              "description": "The subject line for your message. This overrides the subject of the transactional template (referenced by `transactional_message_id`)."
            },
            "body_amp": {
              "type": "string",
              "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
            },
            "language": {
              "type": "string",
              "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](https://customer.io/docs/api/app/)."
            },
            "body_plain": {
              "type": "string",
              "description": "The plaintext body of your message. This overrides the body of your transactional template (referenced by `transactional_message_id`)."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "to",
            "identifiers"
          ],
          "properties": {
            "send_at": {
              "type": "integer",
              "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": 12345,
                      "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "cool.person@example.com",
                      "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": 3000001,
                      "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                    }
                  }
                }
              ],
              "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
            },
            "queue_draft": {
              "type": "boolean",
              "default": false,
              "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
            },
            "message_data": {
              "type": "object",
              "example": {
                "account_id": "123dj",
                "password_reset_token": "abcde-12345-fghij-d888"
              },
              "description": "An object containing the key-value pairs referenced using liquid in your message.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Liquid Data"
              }
            },
            "send_to_unsubscribed": {
              "type": "boolean",
              "default": true,
              "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            },
            "disable_message_retention": {
              "type": "boolean",
              "default": false,
              "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "example": "cool.person@example.com",
              "description": "The message recipient(s). Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys.\n\nYou can include a display or \"friendly\" name in \"to\" address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`.            \n"
            },
            "bcc": {
              "type": "string",
              "example": "bcc@example.com",
              "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "tracked": {
              "type": "boolean",
              "default": true,
              "description": "If true, Customer.io tracks opens and link clicks in your message."
            },
            "fake_bcc": {
              "type": "boolean",
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that recipients can reply to, if different from the `from` address."
            },
            "preheader": {
              "type": "string",
              "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
            },
            "body_plain": {
              "type": "string",
              "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
            },
            "attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "format": "base64",
                  "x-doNotRender": true,
                  "x-additionalPropertiesName": "Attachment Names"
                }
              },
              "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
            },
            "disable_css_preprocessing": {
              "type": "boolean",
              "default": false,
              "example": false,
              "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
            }
          }
        }
      ],
      "title": "With template",
      "example": {
        "to": "cool.person@example.com",
        "bcc": "bcc@example.com",
        "from": "override-templated-address@example.com",
        "subject": "Did you really login from a new location?",
        "tracked": true,
        "identifiers": {
          "email": "cool.person@example.com"
        },
        "queue_draft": false,
        "message_data": {
          "account_id": "123dj",
          "password_reset_token": "abcde-12345-fghij-d888"
        },
        "send_to_unsubscribed": true,
        "transactional_message_id": 44,
        "disable_css_preprocessing": true,
        "disable_message_retention": false
      },
      "description": "Send a transactional message using a template that you set up in Customer.io."
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "body",
            "subject",
            "from"
          ],
          "properties": {
            "body": {
              "type": "string",
              "example": "Your temporary password is {{message_data.password_reset_token}}",
              "description": "The body of your message."
            },
            "from": {
              "type": "string",
              "example": "support@example.com",
              "description": "The address that your email is from. This address must be verified by Customer.io. You can include a display/friendly name in your from address in the format `Person <person@example.com>`."
            },
            "subject": {
              "type": "string",
              "example": "Reset your password!",
              "description": "The subject line for your message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "to",
            "identifiers"
          ],
          "properties": {
            "send_at": {
              "type": "integer",
              "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
            },
            "identifiers": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "id",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": 12345,
                      "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "email",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "string",
                      "example": "cool.person@example.com",
                      "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "cio_id",
                  "required": [
                    "cio_id"
                  ],
                  "properties": {
                    "cio_id": {
                      "type": "string",
                      "example": 3000001,
                      "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                    }
                  }
                }
              ],
              "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
            },
            "queue_draft": {
              "type": "boolean",
              "default": false,
              "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
            },
            "message_data": {
              "type": "object",
              "example": {
                "account_id": "123dj",
                "password_reset_token": "abcde-12345-fghij-d888"
              },
              "description": "An object containing the key-value pairs referenced using liquid in your message.",
              "additionalProperties": {
                "description": "Insert key-values that you want to reference in your message here.",
                "x-additionalPropertiesName": "Liquid Data"
              }
            },
            "send_to_unsubscribed": {
              "type": "boolean",
              "default": true,
              "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            },
            "disable_message_retention": {
              "type": "boolean",
              "default": false,
              "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "example": "cool.person@example.com",
              "description": "The message recipient(s). Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys.\n\nYou can include a display or \"friendly\" name in \"to\" address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`.            \n"
            },
            "bcc": {
              "type": "string",
              "example": "bcc@example.com",
              "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys."
            },
            "headers": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "X-Mailgun-Tag",
                    "description": "name of header"
                  },
                  "value": {
                    "type": "string",
                    "example": "tag-name-for-tracking",
                    "description": "value of header"
                  }
                }
              },
              "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
            },
            "tracked": {
              "type": "boolean",
              "default": true,
              "description": "If true, Customer.io tracks opens and link clicks in your message."
            },
            "fake_bcc": {
              "type": "boolean",
              "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
            },
            "reply_to": {
              "type": "string",
              "example": "replyto@example.com",
              "description": "The address that recipients can reply to, if different from the `from` address."
            },
            "preheader": {
              "type": "string",
              "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
            },
            "body_plain": {
              "type": "string",
              "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
            },
            "attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "format": "base64",
                  "x-doNotRender": true,
                  "x-additionalPropertiesName": "Attachment Names"
                }
              },
              "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
            },
            "disable_css_preprocessing": {
              "type": "boolean",
              "default": false,
              "example": false,
              "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
            }
          }
        }
      ],
      "title": "Without template",
      "example": {
        "to": "cool.person@example.com",
        "bcc": "bcc@example.com",
        "body": "Your temporary password is {{message_data.password_reset_token}}",
        "from": "Support <support@example.com>",
        "subject": "Your password reset request!",
        "tracked": true,
        "identifiers": {
          "id": 12345
        },
        "queue_draft": false,
        "message_data": {
          "account_id": "123dj",
          "password_reset_token": "abcde-12345-fghij-d888"
        },
        "send_to_unsubscribed": true,
        "disable_css_preprocessing": true,
        "disable_message_retention": false
      },
      "description": "Create your own message from scratch."
    }
  ],
  "description": "The payload of a transactional message."
}
object senderIdentityObject
{
  "type": "object",
  "example": {
    "id": 4534,
    "name": "Cher Ami",
    "email": "test@example.com",
    "address": "Cher Ami <test@example.com>",
    "template_type": "email",
    "auto_generated": false,
    "deduplicate_id": "4534:1478035647"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "The identifier of a sender."
    },
    "name": {
      "type": "string",
      "description": "The name of the sender."
    },
    "email": {
      "type": "string",
      "description": "The email address of the sender."
    },
    "address": {
      "type": "string",
      "description": "The sender name and email address in the format `name <name@example.com>`."
    },
    "template_type": {
      "enum": [
        "email",
        "phone"
      ],
      "type": "string",
      "description": "The type of sender."
    },
    "auto_generated": {
      "type": "boolean",
      "description": "If true, the sender is automatically generated by Customer.io."
    },
    "deduplicate_id": {
      "type": "string",
      "example": "15:1492548073",
      "readOnly": true,
      "description": "An identifier in the format `id:timestamp` where the id is the id of the object you are working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated."
    }
  },
  "description": "Information about a sender."
}
string sending_state
{
  "enum": [
    "automatic",
    "draft",
    "off"
  ],
  "type": "string",
  "description": "Determines the sending behavior for the action. `automatic` sends the action automatically when triggered; `draft` queues drafts when the action is triggered; or `off` to disable the action."
}
object sendpush
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "transactional_message_id"
      ],
      "properties": {
        "transactional_message_id": {
          "oneOf": [
            {
              "type": "integer",
              "title": "ID (integer)",
              "example": 44,
              "description": "The ID of the transactional message you want to send."
            },
            {
              "type": "string",
              "title": "Trigger Name (string)",
              "example": "pwdreset",
              "description": "The name of trigger for the transactional message you want to send; you set the trigger name in the *Configure Settings* step when setting up your message. This is case insensitive."
            }
          ],
          "description": "The transactional message template that you want to use for your message. You can call the template by its numerical ID or by the *Trigger Name* that you assigned the template (case insensitive)."
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "to": {
          "enum": [
            "all",
            "last_used",
            "$device_token"
          ],
          "type": "string",
          "default": "all",
          "description": "The person's device(s) you want to send this push to. One of `all`, `last_used`, or a custom device token which belongs to the profile from the Identifiers block. Defaults to 'all'. This overrides To from the transactional template (referenced by `transactional_message_id`)."
        },
        "link": {
          "type": "string",
          "description": "A deep link to open when the push is tapped. This overrides Link from the transactional template (referenced by `transactional_message_id`)."
        },
        "sound": {
          "enum": [
            "default",
            "none"
          ],
          "type": "string",
          "default": "default",
          "description": "**For iOS Only**: your notification can alert users with the device's default notification sound or play no sound at all. \n"
        },
        "title": {
          "type": "string",
          "description": "The title for your notification. This overrides the title of the transactional template (referenced by `transactional_message_id`)."
        },
        "message": {
          "type": "string",
          "description": "The message body for your notification. This overrides the notification body of the transactional template (referenced by `transactional_message_id`)."
        },
        "language": {
          "type": "string",
          "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](https://customer.io/docs/api/app/)."
        },
        "image_url": {
          "type": "string",
          "description": "An image URL to show in the push. This overrides Image from the transactional template (referenced by `transactional_message_id`)."
        },
        "custom_data": {
          "type": "object",
          "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides Custom Data from the transactional template (referenced by `transactional_message_id`)."
        },
        "custom_device": {
          "allOf": [
            {
              "type": "object",
              "required": [
                "token"
              ],
              "properties": {
                "token": {
                  "type": "string",
                  "description": "The device token."
                }
              }
            },
            {
              "type": "object",
              "required": [
                "platform"
              ],
              "properties": {
                "platform": {
                  "enum": [
                    "ios",
                    "android"
                  ],
                  "type": "string",
                  "description": "The device/messaging platform."
                },
                "last_used": {
                  "type": "integer",
                  "format": "unix timestamp",
                  "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
                },
                "attributes": {
                  "type": "object",
                  "properties": {
                    "device_os": {
                      "type": "string",
                      "description": "The operating system, including the version, on the device."
                    },
                    "app_version": {
                      "type": "string",
                      "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                    },
                    "_last_status": {
                      "enum": [
                        "",
                        "bounced",
                        "sent",
                        "suppressed"
                      ],
                      "type": "string",
                      "readOnly": true,
                      "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                    },
                    "device_model": {
                      "type": "string",
                      "description": "The model of the device a person uses."
                    },
                    "push_enabled": {
                      "enum": [
                        "true",
                        "false"
                      ],
                      "type": "string",
                      "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                    },
                    "device_locale": {
                      "type": "string",
                      "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                    },
                    "cio_sdk_version": {
                      "type": "string",
                      "description": "The version of the Customer.io SDK in the app."
                    }
                  },
                  "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
                  "additionalProperties": {
                    "type": "string",
                    "description": "Custom properties that you want to associate with the device.",
                    "x-additionalPropertiesName": "Custom Device Attributes"
                  }
                }
              },
              "description": "Device information common to the v1 and v2 APIs."
            }
          ],
          "description": "A device to perform an upsert operation at the time of send. The device will be added/updated on the profile from the Identifiers block."
        },
        "custom_payload": {
          "type": "object",
          "properties": {
            "ios": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "FCM",
                  "required": [
                    "message"
                  ],
                  "properties": {
                    "message": {
                      "type": "object",
                      "required": [
                        "apns"
                      ],
                      "properties": {
                        "apns": {
                          "type": "object",
                          "required": [
                            "payload"
                          ],
                          "properties": {
                            "headers": {
                              "type": "object",
                              "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
                            },
                            "payload": {
                              "type": "object",
                              "properties": {
                                "CIO": {
                                  "type": "object",
                                  "required": [
                                    "push"
                                  ],
                                  "properties": {
                                    "push": {
                                      "type": "object",
                                      "properties": {
                                        "body": {
                                          "type": "string",
                                          "description": "The body of your push notification."
                                        },
                                        "link": {
                                          "type": "string",
                                          "description": "A deep link (to a page in your app), or a link to a web page."
                                        },
                                        "image": {
                                          "type": "string",
                                          "description": "The URL of an HTTPS image that you want to use for your message."
                                        },
                                        "title": {
                                          "type": "string",
                                          "description": "The title of your push notification."
                                        }
                                      },
                                      "description": "A push payload for the iOS SDK."
                                    }
                                  },
                                  "description": "Contains properties interpreted by the Customer.io iOS SDK."
                                },
                                "aps": {
                                  "type": "object",
                                  "properties": {
                                    "alert": {
                                      "oneOf": [
                                        {
                                          "type": "string",
                                          "title": "Simple alert",
                                          "description": "A simple alert message."
                                        },
                                        {
                                          "type": "object",
                                          "title": "Complex alert",
                                          "properties": {
                                            "body": {
                                              "type": "string",
                                              "description": "The body of your push notification."
                                            },
                                            "title": {
                                              "type": "string",
                                              "description": "The title of your push notification."
                                            },
                                            "loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized message string in your app’s Localizable.strings file."
                                            },
                                            "loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                            },
                                            "subtitle": {
                                              "type": "string",
                                              "description": "Additional information that explains the purpose of the notification."
                                            },
                                            "launch-image": {
                                              "type": "string",
                                              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                            },
                                            "title-loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized title string in your app’s Localizable.strings files."
                                            },
                                            "title-loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                            },
                                            "subtitle-loc-key": {
                                              "type": "string",
                                              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                            },
                                            "subtitle-loc-args": {
                                              "type": "array",
                                              "items": {
                                                "type": "string"
                                              },
                                              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    "badge": {
                                      "type": "integer",
                                      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                                    },
                                    "sound": {
                                      "oneOf": [
                                        {
                                          "type": "string",
                                          "title": "Regular alert",
                                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                                        },
                                        {
                                          "type": "object",
                                          "title": "Critical alert",
                                          "properties": {
                                            "name": {
                                              "type": "string",
                                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                            },
                                            "volume": {
                                              "type": "number",
                                              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                            },
                                            "critical": {
                                              "type": "integer",
                                              "description": "1 indicates critical. 0 is not critical."
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    "category": {
                                      "type": "string",
                                      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                                    },
                                    "thread-id": {
                                      "type": "string",
                                      "description": "An identifier to group related notifications."
                                    },
                                    "mutable-content": {
                                      "type": "integer",
                                      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                                    },
                                    "relevance-score": {
                                      "type": "number",
                                      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                                    },
                                    "content-available": {
                                      "type": "integer",
                                      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                                    },
                                    "target-content-id": {
                                      "type": "string",
                                      "description": "The identifier of the window brought forward."
                                    },
                                    "interruption-level": {
                                      "enum": [
                                        "passive",
                                        "active",
                                        "time-sensitive",
                                        "critical"
                                      ],
                                      "type": "string",
                                      "description": "Indicates the importance and delivery timing of a notification."
                                    }
                                  },
                                  "description": "A push payload intended for an iOS device."
                                }
                              },
                              "description": "Contains a push payload.",
                              "additionalProperties": {
                                "description": "Additional properties that you've set up your app to interpret outside of the Customer.io SDK.",
                                "x-additionalPropertiesName": "Custom key-value pairs"
                              }
                            }
                          },
                          "description": "Defines a payload for iOS devices sent through Firebase Cloud Messaging (FCM)."
                        }
                      },
                      "description": "The base object for all FCM payloads."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "APNS",
                  "properties": {
                    "CIO": {
                      "type": "object",
                      "required": [
                        "push"
                      ],
                      "properties": {
                        "push": {
                          "type": "object",
                          "properties": {
                            "link": {
                              "type": "string",
                              "description": "A deep link (to a page in your app), or a link to a web page."
                            },
                            "image": {
                              "type": "string",
                              "description": "The URL of an HTTPS image that you want to use for your message."
                            }
                          },
                          "description": "Describes push notification options supported by the CIO SDK."
                        }
                      },
                      "description": "Contains options supported by the Customer.io SDK."
                    },
                    "aps": {
                      "type": "object",
                      "properties": {
                        "alert": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Simple alert",
                              "description": "A simple alert message."
                            },
                            {
                              "type": "object",
                              "title": "Complex alert",
                              "properties": {
                                "body": {
                                  "type": "string",
                                  "description": "The body of your push notification."
                                },
                                "title": {
                                  "type": "string",
                                  "description": "The title of your push notification."
                                },
                                "loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized message string in your app’s Localizable.strings file."
                                },
                                "loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                },
                                "subtitle": {
                                  "type": "string",
                                  "description": "Additional information that explains the purpose of the notification."
                                },
                                "launch-image": {
                                  "type": "string",
                                  "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                },
                                "title-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized title string in your app’s Localizable.strings files."
                                },
                                "title-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                },
                                "subtitle-loc-key": {
                                  "type": "string",
                                  "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                },
                                "subtitle-loc-args": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                }
                              }
                            }
                          ]
                        },
                        "badge": {
                          "type": "integer",
                          "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                        },
                        "sound": {
                          "oneOf": [
                            {
                              "type": "string",
                              "title": "Regular alert",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                            },
                            {
                              "type": "object",
                              "title": "Critical alert",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                },
                                "volume": {
                                  "type": "number",
                                  "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                },
                                "critical": {
                                  "type": "integer",
                                  "description": "1 indicates critical. 0 is not critical."
                                }
                              }
                            }
                          ]
                        },
                        "category": {
                          "type": "string",
                          "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                        },
                        "thread-id": {
                          "type": "string",
                          "description": "An identifier to group related notifications."
                        },
                        "mutable-content": {
                          "type": "integer",
                          "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                        },
                        "relevance-score": {
                          "type": "number",
                          "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                        },
                        "content-available": {
                          "type": "integer",
                          "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                        },
                        "target-content-id": {
                          "type": "string",
                          "description": "The identifier of the window brought forward."
                        },
                        "interruption-level": {
                          "enum": [
                            "passive",
                            "active",
                            "time-sensitive",
                            "critical"
                          ],
                          "type": "string",
                          "description": "Indicates the importance and delivery timing of a notification."
                        }
                      },
                      "description": "A push payload intended for an iOS device."
                    }
                  }
                }
              ],
              "description": "Your payload changes depending on whether you send to iOS devices through Google's Firebase Cloud Messaging (FCM) or Apple's Push Notification service (APNs)."
            },
            "android": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Contains key-value pairs that your app interprets.",
                      "additionalProperties": {
                        "type": "string",
                        "x-doNotRender": true,
                        "x-additionalPropertiesName": "Attachment Names"
                      }
                    },
                    "android": {
                      "type": "object",
                      "properties": {
                        "notification": {
                          "type": "object",
                          "properties": {
                            "tag": {
                              "type": "string",
                              "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                            },
                            "icon": {
                              "type": "string",
                              "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                            },
                            "color": {
                              "type": "string",
                              "description": "The notification's icon color in `#rrggbb` format."
                            },
                            "sound": {
                              "type": "string",
                              "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                            },
                            "body_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "body_loc_key": {
                              "type": "string",
                              "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            },
                            "click_action": {
                              "type": "string",
                              "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                            },
                            "title_loc_arg": {
                              "type": "string",
                              "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                            },
                            "title_loc_key": {
                              "type": "string",
                              "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                            }
                          },
                          "description": "Properties supported specifically by Android on FCM."
                        }
                      },
                      "description": "Contains custom push options for your notification."
                    },
                    "notification": {
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string",
                          "description": "The body of your push notification."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of your push notification."
                        }
                      },
                      "description": "Contains the push body and title."
                    }
                  },
                  "description": "The parent object for Android custom push payloads."
                }
              },
              "description": "A custom push payload for Android devices."
            }
          },
          "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides every other parameter, including any Custom Payload from the transactional template (referenced by `transactional_message_id`)."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "to",
        "identifiers"
      ],
      "properties": {
        "send_at": {
          "type": "integer",
          "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
        },
        "identifiers": {
          "oneOf": [
            {
              "type": "object",
              "title": "id",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": 12345,
                  "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
                }
              }
            },
            {
              "type": "object",
              "title": "email",
              "required": [
                "email"
              ],
              "properties": {
                "email": {
                  "type": "string",
                  "example": "cool.person@example.com",
                  "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
                }
              }
            },
            {
              "type": "object",
              "title": "cio_id",
              "required": [
                "cio_id"
              ],
              "properties": {
                "cio_id": {
                  "type": "string",
                  "example": 3000001,
                  "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
                }
              }
            }
          ],
          "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
        },
        "queue_draft": {
          "type": "boolean",
          "default": false,
          "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
        },
        "message_data": {
          "type": "object",
          "example": {
            "account_id": "123dj",
            "password_reset_token": "abcde-12345-fghij-d888"
          },
          "description": "An object containing the key-value pairs referenced using liquid in your message.",
          "additionalProperties": {
            "description": "Insert key-values that you want to reference in your message here.",
            "x-additionalPropertiesName": "Liquid Data"
          }
        },
        "send_to_unsubscribed": {
          "type": "boolean",
          "default": true,
          "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
        },
        "disable_message_retention": {
          "type": "boolean",
          "default": false,
          "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
        }
      }
    }
  ],
  "example": {
    "title": "Did you really login from a new location?",
    "identifiers": {
      "id": 12345
    },
    "message_data": {
      "account_id": "123dj",
      "password_reset_token": "abcde-12345-fghij-d888"
    },
    "transactional_message_id": 44
  },
  "description": "The payload of a transactional push message."
}
object simpleAudienceFilter
{
  "anyOf": [
    {
      "type": "object",
      "title": "segment",
      "properties": {
        "segment": {
          "type": "object",
          "title": "segment",
          "properties": {
            "id": {
              "type": "integer",
              "example": 4,
              "description": "The ID of the segment you want to return people from."
            }
          },
          "description": "Provide the `id` of a segment containing people you want to search for."
        }
      },
      "description": "Filter for people who belong to a segment."
    },
    {
      "type": "object",
      "title": "audience",
      "properties": {
        "attribute": {
          "type": "object",
          "title": "attribute",
          "example": {
            "field": "unsubscribed",
            "value": true,
            "operator": "eq"
          },
          "required": [
            "field",
            "operator"
          ],
          "properties": {
            "field": {
              "type": "string",
              "example": "first_name",
              "description": "The name of the attribute you want to filter against."
            },
            "value": {
              "type": "string",
              "description": "The value you want to match for this attribute. You must include a value if you use the `eq` operator."
            },
            "operator": {
              "enum": [
                "eq",
                "exists"
              ],
              "type": "string",
              "description": "Determine how to evaluate criteria against the field—`exists` returns results if a person in the audience has the attribute; `eq` returns results if the audience has the attribute and the attribute has the `value` you specify."
            }
          },
          "description": "Filter your audience by attribute."
        }
      },
      "description": "filter for people who have an attribute or an attribute value."
    }
  ]
}
object slack_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "A slack message failed and will be retried."
        }
      }
    }
  ],
  "title": "attempted"
}
object slack_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "href",
                "link_id"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "recipient": {
                  "type": "string",
                  "description": "The channel or person that received the message, i.e. `#general`."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "A person clicked a tracked link in a Slack message."
        }
      }
    }
  ],
  "title": "clicked"
}
object slack_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "drafted"
          ],
          "type": "string",
          "description": "A slack message was drafted."
        }
      }
    }
  ],
  "title": "drafted"
}
object slack_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "drafted"
              ],
              "type": "string",
              "description": "A slack message was drafted."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "A slack message failed and will be retried."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The of your slack message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The channel or person that received the message, i.e. `#general`."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "A slack message was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "href",
                    "link_id"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The channel or person that received the message, i.e. `#general`."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "A person clicked a tracked link in a Slack message."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "A slack message failed."
            }
          }
        }
      ],
      "title": "failed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "slack"
              ],
              "type": "string",
              "description": "The event relates to a Slack message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "undeliverable"
              ],
              "type": "string",
              "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
            }
          }
        }
      ],
      "title": "failed"
    }
  ],
  "title": "Slack",
  "description": "Events pertaining to Slack messages.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/slack_sent",
      "failed": "#/components/schemas/slack_failed",
      "clicked": "#/components/schemas/slack_clicked",
      "drafted": "#/components/schemas/slack_drafted",
      "attempted": "#/components/schemas/slack_attempted",
      "undeliverable": "#/components/schemas/slack_undeliverable"
    },
    "propertyName": "metric"
  }
}
object slack_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "slack"
      ],
      "type": "string",
      "description": "The event relates to a Slack message."
    }
  }
}
object slack_events
{
  "type": "object",
  "properties": {
    "slack_sent": {
      "type": "boolean",
      "description": "Reports when a message is sent from Customer.io to the delivery provider. Set to true to report this event type."
    },
    "slack_failed": {
      "type": "boolean",
      "description": "Reports when a message couldn't be sent to the delivery provider. Set to true to report this event type."
    },
    "slack_clicked": {
      "type": "boolean",
      "description": "Reports when a person clicks a tracked link in a message. Set to true to report this event type."
    },
    "slack_drafted": {
      "type": "boolean",
      "description": "Reports when a message draft is created. Set to true to report this event type."
    },
    "slack_attempted": {
      "type": "boolean",
      "description": "Reports when a message could not be sent to the delivery provider will retry. Set to true to report this event type."
    },
    "slack_converted": {
      "type": "boolean",
      "description": "Reports when a person matches a conversion goal attributed to a a message. Set to true to report this event type."
    }
  },
  "description": "Describes the slack events reported from Customer.io to a webhook."
}
object slack_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "A slack message failed."
        }
      }
    }
  ],
  "title": "failed"
}
object slack_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The of your slack message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "recipient": {
                  "type": "string",
                  "description": "The channel or person that received the message, i.e. `#general`."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "A slack message was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
        }
      }
    }
  ],
  "title": "sent"
}
object slack_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "slack"
          ],
          "type": "string",
          "description": "The event relates to a Slack message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "failed"
}
object sms_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "An SMS could not be sent to the delivery provider, but will retry."
        }
      }
    }
  ],
  "title": "attempted"
}
object sms_bounced
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "failure_message"
              ],
              "properties": {
                "recipient": {
                  "type": "string",
                  "description": "The MSISDN (phone number) of the SMS recipient."
                },
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "bounced"
          ],
          "type": "string",
          "description": "The delivery provider was unable to deliver an SMS message."
        }
      }
    }
  ],
  "title": "bounced"
}
object sms_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "link_id",
                "href"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "recipient": {
                  "type": "string",
                  "description": "The MSISDN (phone number) of the SMS recipient."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "A recipient tapped a link in an SMS message they received."
        }
      }
    }
  ],
  "title": "clicked"
}
object sms_converted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "recipient": {
                  "type": "string",
                  "description": "The MSISDN (phone number) of the SMS recipient."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "converted"
          ],
          "type": "string",
          "description": "A person matched a conversion goal attributed to an SMS."
        }
      }
    }
  ],
  "title": "converted"
}
object sms_delivered
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "recipient": {
                  "type": "string",
                  "description": "The MSISDN (phone number) of the SMS recipient."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "delivered"
          ],
          "type": "string",
          "description": "An SMS notification was delivered to a recipient."
        }
      }
    }
  ],
  "title": "delivered"
}
object sms_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "drafted"
          ],
          "type": "string",
          "description": "An SMS notification was drafted."
        }
      }
    }
  ],
  "title": "drafted"
}
object sms_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "drafted"
              ],
              "type": "string",
              "description": "An SMS notification was drafted."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "An SMS could not be sent to the delivery provider, but will retry."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The MSISDN (phone number) of the SMS recipient."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "An SMS notification was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "recipient": {
                      "type": "string",
                      "description": "The MSISDN (phone number) of the SMS recipient."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "delivered"
              ],
              "type": "string",
              "description": "An SMS notification was delivered to a recipient."
            }
          }
        }
      ],
      "title": "delivered"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "link_id",
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The MSISDN (phone number) of the SMS recipient."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "A recipient tapped a link in an SMS message they received."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "recipient": {
                      "type": "string",
                      "description": "The MSISDN (phone number) of the SMS recipient."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "converted"
              ],
              "type": "string",
              "description": "A person matched a conversion goal attributed to an SMS."
            }
          }
        }
      ],
      "title": "converted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "failure_message"
                  ],
                  "properties": {
                    "recipient": {
                      "type": "string",
                      "description": "The MSISDN (phone number) of the SMS recipient."
                    },
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "bounced"
              ],
              "type": "string",
              "description": "The delivery provider was unable to deliver an SMS message."
            }
          }
        }
      ],
      "title": "bounced"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "sms"
              ],
              "type": "string",
              "description": "The event relates to an SMS message."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "An SMS couldn't be sent to the delivery provider."
            }
          }
        }
      ],
      "title": "failed"
    }
  ],
  "title": "SMS",
  "description": "Events pertaining to SMS notifications.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/sms_sent",
      "failed": "#/components/schemas/sms_failed",
      "bounced": "#/components/schemas/sms_bounced",
      "clicked": "#/components/schemas/sms_clicked",
      "drafted": "#/components/schemas/sms_drafted",
      "attempted": "#/components/schemas/sms_attempted",
      "converted": "#/components/schemas/sms_converted",
      "delivered": "#/components/schemas/sms_delivered"
    },
    "propertyName": "metric"
  }
}
object sms_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "sms"
      ],
      "type": "string",
      "description": "The event relates to an SMS message."
    }
  }
}
object sms_events
{
  "type": "object",
  "properties": {
    "sms_sent": {
      "type": "boolean",
      "description": "Reports when a message is sent from Customer.io to the delivery provider. Set to true to report this event type."
    },
    "sms_failed": {
      "type": "boolean",
      "description": "Reports when a message couldn't be sent to the delivery provider. Set to true to report this event type."
    },
    "sms_bounced": {
      "type": "boolean",
      "description": "Reports when the delivery provider is unable to deliver a message to the recipient. Set to true to report this event type."
    },
    "sms_clicked": {
      "type": "boolean",
      "description": "Reports when a person clicks a tracked link in a message. Set to true to report this event type."
    },
    "sms_drafted": {
      "type": "boolean",
      "description": "Reports when a message draft is created. Set to true to report this event type."
    },
    "sms_attempted": {
      "type": "boolean",
      "description": "Reports when a push notification could not be sent to the delivery provider will retry. Set to true to report this event type."
    },
    "sms_converted": {
      "type": "boolean",
      "description": "Reports when a person matches a conversion goal attributed to a a message. Set to true to report this event type."
    },
    "sms_delivered": {
      "type": "boolean",
      "description": "The delivery provider reports that the message is delivered. Set to true to report this event type."
    }
  },
  "description": "Describes the SMS events reported from Customer.io to a webhook."
}
object sms_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "An SMS couldn't be sent to the delivery provider."
        }
      }
    }
  ],
  "title": "failed"
}
string sms_recipient
{
  "type": "string",
  "example": "+15558675309",
  "description": "The MSISDN (phone number) of the recipient."
}
object sms_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The body of your message. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "recipient": {
                  "type": "string",
                  "description": "The MSISDN (phone number) of the SMS recipient."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "An SMS notification was sent. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your message."
        }
      }
    }
  ],
  "title": "sent"
}
object sms_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "sms"
          ],
          "type": "string",
          "description": "The event relates to an SMS message."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "failed"
}
object snippet
{
  "type": "object",
  "example": {
    "name": "address",
    "value": "<strong>My Company</strong></br>1234 Fake St<br/>Fake,NY<br/>10111",
    "updated_at": 1582500000
  },
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the snippet, must be unique."
    },
    "value": {
      "type": "string",
      "description": "The contents of the snippet."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "readOnly": true,
      "description": "The last date-time the snippet was updated."
    }
  },
  "description": "describes a piece of reusable content. You must provide a name for the snippet and the `value`—the content that appears in messages that use the snippet."
}
integer start
{
  "type": "integer",
  "format": "unix timestamp",
  "example": 1517529600,
  "description": "The unix timestamp representing the beginning of the export."
}
string subject
{
  "type": "string",
  "example": "Did you get that thing I sent you?",
  "description": "The subject line for an `email` action."
}
integer subscription_topic_id
{
  "type": "integer",
  "example": 1,
  "description": "The identifier of a subscription topic. Remember, subscription topics are assigned an incrementing number, starting at 1."
}
object textWidget
{
  "type": "object",
  "required": [
    "type",
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "example": "$person.name",
      "description": "The text you want to display."
    },
    "type": {
      "enum": [
        "textWidget"
      ],
      "type": "string",
      "description": "Defines the widget type."
    },
    "color": {
      "type": "string",
      "description": "The color you want to use for this content. You can only set values here that are defined under [**Content** > **In-App Messages**](https://fly.customer.io/env/last/in-app-messages)."
    },
    "style": {
      "type": "string",
      "description": "The style of text you want to display. You can only set values here that are defined under [**Content** > **In-App Messages**](https://fly.customer.io/env/last/in-app-messages)."
    },
    "maxLines": {
      "type": "integer",
      "description": "The maximum lines of text you want to display. Text over this limit is controlled by the `overflow` property. If unset, the message displays an unlimited number of lines."
    },
    "overflow": {
      "enum": [
        "ellipsis",
        "fade",
        "clip"
      ],
      "type": "string",
      "description": "Determines how to handle text that overflows the `maxLines` limit (if set). By default, we cut off overflowing text with ellipsis (`...`)."
    },
    "textAlign": {
      "enum": [
        "center",
        "right",
        "left",
        "start",
        "end",
        "justify"
      ],
      "type": "string",
      "description": "How you want to align this text."
    }
  },
  "description": "Displays text in your message."
}
object track-metrics
{
  "type": "object",
  "required": [
    "delivery_id"
  ],
  "properties": {
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "delivery_id": {
      "type": "string",
      "example": "RPILAgUBcRhIBqSfeiIwdIYJKxTY",
      "description": "The CIO-Delivery-ID from the notification that you want to associate the `event` with."
    }
  },
  "description": "The base properties shared across multiple metric types."
}
boolean tracked
{
  "type": "boolean",
  "default": true,
  "description": "If true, Customer.io tracks opens and link clicks in your message."
}
object transactionalActionObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 96,
      "nullable": true,
      "readOnly": true,
      "description": "The identifier for an action."
    },
    "bcc": {
      "type": "string",
      "readOnly": true,
      "description": "The blind-copy address(es) for this action."
    },
    "body": {
      "type": "string",
      "description": "The body of the transactional message. You cannot modify the body if you created it with our drag-and-drop editor."
    },
    "from": {
      "type": "string",
      "example": "sentFrom@example.com",
      "readOnly": true,
      "description": "The address that the message is from, relevant if the action `type` is `email`."
    },
    "name": {
      "type": "string",
      "example": "Receipt",
      "readOnly": true,
      "description": "The name of the transactional message."
    },
    "type": {
      "enum": [
        "email",
        "push"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The type of message."
    },
    "created": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "from_id": {
      "type": "integer",
      "example": 1,
      "description": "The identifier of the `from` address, commonly known as the \"sender\". You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "subject": {
      "type": "string",
      "example": "Did you get that thing I sent you?",
      "description": "The subject line for an `email` action."
    },
    "updated": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "body_amp": {
      "type": "string",
      "description": "If your message is an email, this is the AMP-enabled body of your message. If your recipient's email client doesn't support AMP, the `body` represents your fallback message."
    },
    "fake_bcc": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "language": {
      "type": "string",
      "example": "fr",
      "readOnly": true,
      "description": "The language variant for your message. If you don't use our [localization feature](https://customer.io/docs/api/app/), or this is the default message, this value is an empty string."
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "readOnly": true,
      "description": "The address that receives replies for the message, if applicable."
    },
    "recipient": {
      "type": "string",
      "example": "{{customer.email}}",
      "readOnly": true,
      "description": "The recipient address for an action."
    },
    "reply_to_id": {
      "type": "integer",
      "example": 38,
      "nullable": true,
      "description": "The identifier for the `reply_to` address, if applicable. You can [list your sender identities](https://customer.io/docs/api/app/) to match the ID to a specific address."
    },
    "preprocessor": {
      "enum": [
        "premailer"
      ],
      "type": "string",
      "readOnly": true,
      "description": "By default, we process CSS before emails leave Customer.io using Premailer. If your message included CSS and pre-processing is not disabled, this key indicates the pre-processor."
    },
    "preheader_text": {
      "type": "string",
      "description": "Also known as \"preview text\", this specifies the small block of text shown in an end-user's email inbox, next to, or underneath, the subject line."
    }
  }
}
object transactionalObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 2,
      "description": "The identifier Customer.io assigned to the transactional message"
    },
    "name": {
      "type": "string",
      "example": "password reset",
      "description": "The name you set for the transactional message."
    },
    "created_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was created."
    },
    "updated_at": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1552341937,
      "readOnly": true,
      "description": "The date time when the referenced ID was last updated."
    },
    "description": {
      "type": "string",
      "example": "sends a temporary password and lets the customer reset their password.",
      "description": "A description of the transactional message."
    },
    "queue_drafts": {
      "type": "boolean",
      "description": "If true, messages do not send automatically, and queue as drafts instead. You must send drafts through the *Deliveries & Drafts* page in the user interface."
    },
    "link_tracking": {
      "type": "boolean",
      "description": "If true, link tracking is enabled for this message."
    },
    "open_tracking": {
      "type": "boolean",
      "description": "If true, open-tracking is enabled for this message."
    },
    "hide_message_body": {
      "type": "boolean",
      "description": "If true, message contents are not retained in delivery history—you cannot recall the exact contents of the message."
    },
    "send_to_unsubscribed": {
      "type": "boolean",
      "description": "If true, people with an `unsubscribed` attribute set to `true` can trigger the message."
    }
  },
  "description": "Contains information about a transactional message."
}
object transactionalSharedEmailObject
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "example": "cool.person@example.com",
      "description": "The message recipient(s). Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys.\n\nYou can include a display or \"friendly\" name in \"to\" address, but we recommend that you use quotation marks around the friendly name to avoid potential issues with special characters, e.g. `\\\"Person\\\" <person@example.com>`.            \n"
    },
    "bcc": {
      "type": "string",
      "example": "bcc@example.com",
      "description": "Blind copy message recipients. Supports multiple addresses separated by commas. Your request can contain up to 15 total recipients between the `to` and `bcc` keys."
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "X-Mailgun-Tag",
            "description": "name of header"
          },
          "value": {
            "type": "string",
            "example": "tag-name-for-tracking",
            "description": "value of header"
          }
        }
      },
      "description": "Headers must be strings and cannot contain any non-ASCII characters or empty spaces. Some headers are reserved and cannot be overwritten."
    },
    "tracked": {
      "type": "boolean",
      "default": true,
      "description": "If true, Customer.io tracks opens and link clicks in your message."
    },
    "fake_bcc": {
      "type": "boolean",
      "description": "If true, rather than sending true copies to BCC addresses, Customer.io sends a copy of the message with the subject line containing the recipient address(es).\n"
    },
    "reply_to": {
      "type": "string",
      "example": "replyto@example.com",
      "description": "The address that recipients can reply to, if different from the `from` address."
    },
    "preheader": {
      "type": "string",
      "description": "Also known as \"preview text\", this is the block block of text that users see next to, or underneath, the subject line in their inbox."
    },
    "body_plain": {
      "type": "string",
      "description": "By default, we generate a plaintext version of your message body for each delivery. Use this key to override the default plain text body."
    },
    "attachments": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {
          "type": "string",
          "format": "base64",
          "x-doNotRender": true,
          "x-additionalPropertiesName": "Attachment Names"
        }
      },
      "description": "A dictionary of attachments where the filename is the key and the value is the base64-encoded contents. The total size of all attachments must be less than 2 MB. Some filetype extensions are restricted.\n"
    },
    "disable_css_preprocessing": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Set to `true` to disable CSS preprocessing. This setting overrides the CSS preprocessing setting on the `transactional_message_id` as set in the user interface. Transactional emails have CSS preprocessing enabled by default."
    }
  }
}
object transactionalSharedObject
{
  "type": "object",
  "required": [
    "to",
    "identifiers"
  ],
  "properties": {
    "send_at": {
      "type": "integer",
      "description": "A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately."
    },
    "identifiers": {
      "oneOf": [
        {
          "type": "object",
          "title": "id",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "example": 12345,
              "description": "The identifier for the person represented by the transactional message. **NOTE**: If your workspace identifies people by email, use the `email` identifier instead.\n"
            }
          }
        },
        {
          "type": "object",
          "title": "email",
          "required": [
            "email"
          ],
          "properties": {
            "email": {
              "type": "string",
              "example": "cool.person@example.com",
              "description": "The identifier for the person represented by the transactional message. Use this option if your workspace identifies people by email rather than by `id`."
            }
          }
        },
        {
          "type": "object",
          "title": "cio_id",
          "required": [
            "cio_id"
          ],
          "properties": {
            "cio_id": {
              "type": "string",
              "example": 3000001,
              "description": "A unique, immutable identifier for a person, set by Customer.io when you add a person."
            }
          }
        }
      ],
      "description": "Identifies the person represented by your transactional message by one of, and only one of, `id`, `email`, or `cio_id`."
    },
    "queue_draft": {
      "type": "boolean",
      "default": false,
      "description": "If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message."
    },
    "message_data": {
      "type": "object",
      "example": {
        "account_id": "123dj",
        "password_reset_token": "abcde-12345-fghij-d888"
      },
      "description": "An object containing the key-value pairs referenced using liquid in your message.",
      "additionalProperties": {
        "description": "Insert key-values that you want to reference in your message here.",
        "x-additionalPropertiesName": "Liquid Data"
      }
    },
    "send_to_unsubscribed": {
      "type": "boolean",
      "default": true,
      "description": "If false, your message is not sent to unsubscribed recipients. Setting this value overrides the value set in the settings of your `transactional_message_id`."
    },
    "disable_message_retention": {
      "type": "boolean",
      "default": false,
      "description": "If true, the message body is not retained in delivery history. Setting this value overrides the value set in the settings of your `transactional_message_id`."
    }
  }
}
object transactionalSharedPushObject
{
  "type": "object",
  "properties": {
    "to": {
      "enum": [
        "all",
        "last_used",
        "$device_token"
      ],
      "type": "string",
      "default": "all",
      "description": "The person's device(s) you want to send this push to. One of `all`, `last_used`, or a custom device token which belongs to the profile from the Identifiers block. Defaults to 'all'. This overrides To from the transactional template (referenced by `transactional_message_id`)."
    },
    "link": {
      "type": "string",
      "description": "A deep link to open when the push is tapped. This overrides Link from the transactional template (referenced by `transactional_message_id`)."
    },
    "sound": {
      "enum": [
        "default",
        "none"
      ],
      "type": "string",
      "default": "default",
      "description": "**For iOS Only**: your notification can alert users with the device's default notification sound or play no sound at all. \n"
    },
    "title": {
      "type": "string",
      "description": "The title for your notification. This overrides the title of the transactional template (referenced by `transactional_message_id`)."
    },
    "message": {
      "type": "string",
      "description": "The message body for your notification. This overrides the notification body of the transactional template (referenced by `transactional_message_id`)."
    },
    "language": {
      "type": "string",
      "description": "Overrides language preferences for the person you want to send your transactional message to. Use one of our [supported two- or four-letter language codes](https://customer.io/docs/api/app/)."
    },
    "image_url": {
      "type": "string",
      "description": "An image URL to show in the push. This overrides Image from the transactional template (referenced by `transactional_message_id`)."
    },
    "custom_data": {
      "type": "object",
      "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides Custom Data from the transactional template (referenced by `transactional_message_id`)."
    },
    "custom_device": {
      "allOf": [
        {
          "type": "object",
          "required": [
            "token"
          ],
          "properties": {
            "token": {
              "type": "string",
              "description": "The device token."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "platform"
          ],
          "properties": {
            "platform": {
              "enum": [
                "ios",
                "android"
              ],
              "type": "string",
              "description": "The device/messaging platform."
            },
            "last_used": {
              "type": "integer",
              "format": "unix timestamp",
              "description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
            },
            "attributes": {
              "type": "object",
              "properties": {
                "device_os": {
                  "type": "string",
                  "description": "The operating system, including the version, on the device."
                },
                "app_version": {
                  "type": "string",
                  "description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
                },
                "_last_status": {
                  "enum": [
                    "",
                    "bounced",
                    "sent",
                    "suppressed"
                  ],
                  "type": "string",
                  "readOnly": true,
                  "description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet."
                },
                "device_model": {
                  "type": "string",
                  "description": "The model of the device a person uses."
                },
                "push_enabled": {
                  "enum": [
                    "true",
                    "false"
                  ],
                  "type": "string",
                  "description": "If `\"true\"`, the device is opted-in and can receive push notifications."
                },
                "device_locale": {
                  "type": "string",
                  "description": "The four-letter [IETF language code](https://customer.io/docs/api/app/) for the device. For example, `en-MX` (indicating an app in Spanish formatted for a user in Mexico) or `es-ES` (indicating an app in Spanish formatted for a user in Spain)."
                },
                "cio_sdk_version": {
                  "type": "string",
                  "description": "The version of the Customer.io SDK in the app."
                }
              },
              "description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
              "additionalProperties": {
                "type": "string",
                "description": "Custom properties that you want to associate with the device.",
                "x-additionalPropertiesName": "Custom Device Attributes"
              }
            }
          },
          "description": "Device information common to the v1 and v2 APIs."
        }
      ],
      "description": "A device to perform an upsert operation at the time of send. The device will be added/updated on the profile from the Identifiers block."
    },
    "custom_payload": {
      "type": "object",
      "properties": {
        "ios": {
          "oneOf": [
            {
              "type": "object",
              "title": "FCM",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "object",
                  "required": [
                    "apns"
                  ],
                  "properties": {
                    "apns": {
                      "type": "object",
                      "required": [
                        "payload"
                      ],
                      "properties": {
                        "headers": {
                          "type": "object",
                          "description": "Headers defined by [Apple's payload reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) that you want to pass through FCM."
                        },
                        "payload": {
                          "type": "object",
                          "properties": {
                            "CIO": {
                              "type": "object",
                              "required": [
                                "push"
                              ],
                              "properties": {
                                "push": {
                                  "type": "object",
                                  "properties": {
                                    "body": {
                                      "type": "string",
                                      "description": "The body of your push notification."
                                    },
                                    "link": {
                                      "type": "string",
                                      "description": "A deep link (to a page in your app), or a link to a web page."
                                    },
                                    "image": {
                                      "type": "string",
                                      "description": "The URL of an HTTPS image that you want to use for your message."
                                    },
                                    "title": {
                                      "type": "string",
                                      "description": "The title of your push notification."
                                    }
                                  },
                                  "description": "A push payload for the iOS SDK."
                                }
                              },
                              "description": "Contains properties interpreted by the Customer.io iOS SDK."
                            },
                            "aps": {
                              "type": "object",
                              "properties": {
                                "alert": {
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "title": "Simple alert",
                                      "description": "A simple alert message."
                                    },
                                    {
                                      "type": "object",
                                      "title": "Complex alert",
                                      "properties": {
                                        "body": {
                                          "type": "string",
                                          "description": "The body of your push notification."
                                        },
                                        "title": {
                                          "type": "string",
                                          "description": "The title of your push notification."
                                        },
                                        "loc-key": {
                                          "type": "string",
                                          "description": "The key for a localized message string in your app’s Localizable.strings file."
                                        },
                                        "loc-args": {
                                          "type": "array",
                                          "items": {
                                            "type": "string"
                                          },
                                          "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                                        },
                                        "subtitle": {
                                          "type": "string",
                                          "description": "Additional information that explains the purpose of the notification."
                                        },
                                        "launch-image": {
                                          "type": "string",
                                          "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                                        },
                                        "title-loc-key": {
                                          "type": "string",
                                          "description": "The key for a localized title string in your app’s Localizable.strings files."
                                        },
                                        "title-loc-args": {
                                          "type": "array",
                                          "items": {
                                            "type": "string"
                                          },
                                          "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                                        },
                                        "subtitle-loc-key": {
                                          "type": "string",
                                          "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                                        },
                                        "subtitle-loc-args": {
                                          "type": "array",
                                          "items": {
                                            "type": "string"
                                          },
                                          "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                                        }
                                      }
                                    }
                                  ]
                                },
                                "badge": {
                                  "type": "integer",
                                  "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                                },
                                "sound": {
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "title": "Regular alert",
                                      "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                                    },
                                    {
                                      "type": "object",
                                      "title": "Critical alert",
                                      "properties": {
                                        "name": {
                                          "type": "string",
                                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                                        },
                                        "volume": {
                                          "type": "number",
                                          "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                                        },
                                        "critical": {
                                          "type": "integer",
                                          "description": "1 indicates critical. 0 is not critical."
                                        }
                                      }
                                    }
                                  ]
                                },
                                "category": {
                                  "type": "string",
                                  "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                                },
                                "thread-id": {
                                  "type": "string",
                                  "description": "An identifier to group related notifications."
                                },
                                "mutable-content": {
                                  "type": "integer",
                                  "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                                },
                                "relevance-score": {
                                  "type": "number",
                                  "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                                },
                                "content-available": {
                                  "type": "integer",
                                  "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                                },
                                "target-content-id": {
                                  "type": "string",
                                  "description": "The identifier of the window brought forward."
                                },
                                "interruption-level": {
                                  "enum": [
                                    "passive",
                                    "active",
                                    "time-sensitive",
                                    "critical"
                                  ],
                                  "type": "string",
                                  "description": "Indicates the importance and delivery timing of a notification."
                                }
                              },
                              "description": "A push payload intended for an iOS device."
                            }
                          },
                          "description": "Contains a push payload.",
                          "additionalProperties": {
                            "description": "Additional properties that you've set up your app to interpret outside of the Customer.io SDK.",
                            "x-additionalPropertiesName": "Custom key-value pairs"
                          }
                        }
                      },
                      "description": "Defines a payload for iOS devices sent through Firebase Cloud Messaging (FCM)."
                    }
                  },
                  "description": "The base object for all FCM payloads."
                }
              }
            },
            {
              "type": "object",
              "title": "APNS",
              "properties": {
                "CIO": {
                  "type": "object",
                  "required": [
                    "push"
                  ],
                  "properties": {
                    "push": {
                      "type": "object",
                      "properties": {
                        "link": {
                          "type": "string",
                          "description": "A deep link (to a page in your app), or a link to a web page."
                        },
                        "image": {
                          "type": "string",
                          "description": "The URL of an HTTPS image that you want to use for your message."
                        }
                      },
                      "description": "Describes push notification options supported by the CIO SDK."
                    }
                  },
                  "description": "Contains options supported by the Customer.io SDK."
                },
                "aps": {
                  "type": "object",
                  "properties": {
                    "alert": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Simple alert",
                          "description": "A simple alert message."
                        },
                        {
                          "type": "object",
                          "title": "Complex alert",
                          "properties": {
                            "body": {
                              "type": "string",
                              "description": "The body of your push notification."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of your push notification."
                            },
                            "loc-key": {
                              "type": "string",
                              "description": "The key for a localized message string in your app’s Localizable.strings file."
                            },
                            "loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your message text. Each %@ character in the loc-key is replaced by a value from this array, in the order they appear in the message body."
                            },
                            "subtitle": {
                              "type": "string",
                              "description": "Additional information that explains the purpose of the notification."
                            },
                            "launch-image": {
                              "type": "string",
                              "description": "The name of the launch image file you want to display. When a user launches your app, they'll see this image or storyboard file rather than your app’s normal launch image."
                            },
                            "title-loc-key": {
                              "type": "string",
                              "description": "The key for a localized title string in your app’s Localizable.strings files."
                            },
                            "title-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your title string. Each %@ character in the title-loc-key is replaced by a value from this array, in the order they appear in the title string."
                            },
                            "subtitle-loc-key": {
                              "type": "string",
                              "description": "The key for a localized subtitle string in your app’s Localizable.strings file."
                            },
                            "subtitle-loc-args": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "An array of replacement value strings for variables in your subtitle string. Each %@ character in the subtitle-loc-key is replaced by a value from this array, in the order they appear in the subtitle string."
                            }
                          }
                        }
                      ]
                    },
                    "badge": {
                      "type": "integer",
                      "description": "The number you want to display on your app's icon. Set to 0 to remove the current badge, if any."
                    },
                    "sound": {
                      "oneOf": [
                        {
                          "type": "string",
                          "title": "Regular alert",
                          "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound. For critical alerts, you'll pass an object instead."
                        },
                        {
                          "type": "object",
                          "title": "Critical alert",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of a sound file in your app’s main bundle or in the Library/Sounds folder of your app’s container directory. Use “default” to play the system sound."
                            },
                            "volume": {
                              "type": "number",
                              "description": "The volume for a critical alert between 0 and 1, where 0 is silent and 1 is full volume."
                            },
                            "critical": {
                              "type": "integer",
                              "description": "1 indicates critical. 0 is not critical."
                            }
                          }
                        }
                      ]
                    },
                    "category": {
                      "type": "string",
                      "description": "The notification’s type. This string must correspond to the identifier of one of the `UNNotificationCategory` objects you register at launch time."
                    },
                    "thread-id": {
                      "type": "string",
                      "description": "An identifier to group related notifications."
                    },
                    "mutable-content": {
                      "type": "integer",
                      "description": "The notification service app extension flag. If the value is 1, your notification is passed to your notification service app extension before delivery. Use your extension to modify the notification’s content."
                    },
                    "relevance-score": {
                      "type": "number",
                      "description": "A number between 0 and 1. The highest score is considered the \"most relevant\"  and is featured in the notification summary."
                    },
                    "content-available": {
                      "type": "integer",
                      "description": "The background notification flag. Use `1` without an `alert` to perform a silent update. `0` indicates a normal push notification."
                    },
                    "target-content-id": {
                      "type": "string",
                      "description": "The identifier of the window brought forward."
                    },
                    "interruption-level": {
                      "enum": [
                        "passive",
                        "active",
                        "time-sensitive",
                        "critical"
                      ],
                      "type": "string",
                      "description": "Indicates the importance and delivery timing of a notification."
                    }
                  },
                  "description": "A push payload intended for an iOS device."
                }
              }
            }
          ],
          "description": "Your payload changes depending on whether you send to iOS devices through Google's Firebase Cloud Messaging (FCM) or Apple's Push Notification service (APNs)."
        },
        "android": {
          "type": "object",
          "required": [
            "message"
          ],
          "properties": {
            "message": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "object",
                  "description": "Contains key-value pairs that your app interprets.",
                  "additionalProperties": {
                    "type": "string",
                    "x-doNotRender": true,
                    "x-additionalPropertiesName": "Attachment Names"
                  }
                },
                "android": {
                  "type": "object",
                  "properties": {
                    "notification": {
                      "type": "object",
                      "properties": {
                        "tag": {
                          "type": "string",
                          "description": "Identifier to replace existing notifications in the notification drawer. If empty, each request creates a new notification.\n\nIf you specify a tag, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer. \n"
                        },
                        "icon": {
                          "type": "string",
                          "description": "Sets the notification icon to `myicon` for drawable resource `myicon`. If you don't send this key, FCM displays the launcher icon from your app manifest."
                        },
                        "color": {
                          "type": "string",
                          "description": "The notification's icon color in `#rrggbb` format."
                        },
                        "sound": {
                          "type": "string",
                          "description": "The sound that plays when the device receives the notification. Supports `\"default\"` or the filename of a sound resource bundled in your app. Sound files must reside in `/res/raw/`."
                        },
                        "body_loc_arg": {
                          "type": "string",
                          "description": "Variable string values used in place of the format specifiers in `body_loc_key` to localize the body text to the user's current localization. See Formatting and Styling for more information."
                        },
                        "body_loc_key": {
                          "type": "string",
                          "description": "The key to the body string in the app's string resources that you want to use to localize the body text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                        },
                        "click_action": {
                          "type": "string",
                          "description": "The action that occurs when a user taps on the notification. Launches an activity with a matching intent filter when a person taps the notification."
                        },
                        "title_loc_arg": {
                          "type": "string",
                          "description": "Variable string values used in place of the format specifiers in `title_loc_key` to localize the title text to the user's current localization. See Formatting and Styling for more information."
                        },
                        "title_loc_key": {
                          "type": "string",
                          "description": "The key to the title string in the app's string resources that you want to use to localize the title text to the user's current localization. See [String Resources](https://developer.android.com/guide/topics/resources/string-resource/) for more information."
                        }
                      },
                      "description": "Properties supported specifically by Android on FCM."
                    }
                  },
                  "description": "Contains custom push options for your notification."
                },
                "notification": {
                  "type": "object",
                  "properties": {
                    "body": {
                      "type": "string",
                      "description": "The body of your push notification."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of your push notification."
                    }
                  },
                  "description": "Contains the push body and title."
                }
              },
              "description": "The parent object for Android custom push payloads."
            }
          },
          "description": "A custom push payload for Android devices."
        }
      },
      "description": "An optional list of key/value pairs to attach to the push payload. Due to a Firebase limitation we only support sending string key value pairs. This overrides every other parameter, including any Custom Payload from the transactional template (referenced by `transactional_message_id`)."
    }
  }
}
string trigger_event_id
{
  "type": "string",
  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
  "nullable": true,
  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
}
integer trigger_id
{
  "type": "integer",
  "example": 1,
  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
}
integer updated
{
  "type": "integer",
  "format": "unix timestamp",
  "example": 1552341937,
  "readOnly": true,
  "description": "The date time when the referenced ID was last updated."
}
string url
{
  "type": "string",
  "example": "http://example.com/webhook",
  "description": "The URL of a webhook or action."
}
object v1_cio_relationships
{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "add_relationships",
        "delete_relationships"
      ],
      "type": "string",
      "description": "This determines whether the `relationships` array adds relationships to a person or removes them from a person."
    },
    "relationships": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "identifiers"
            ],
            "properties": {
              "identifiers": {
                "type": "object",
                "required": [
                  "object_type_id",
                  "object_id"
                ],
                "properties": {
                  "object_id": {
                    "type": "string",
                    "example": "acme",
                    "nullable": false,
                    "description": "The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly."
                  },
                  "object_type_id": {
                    "type": "string",
                    "example": "1",
                    "nullable": false,
                    "description": "The object type an object belongs to—like \"Companies\" or \"Accounts\". Object type IDs are string-formatted integers that begin at `1` and increment for each new type."
                  }
                },
                "description": "Represents an individual object, where the `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object."
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "relationship_attributes": {
                "type": "object",
                "example": {
                  "role": "admin"
                },
                "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
                "additionalProperties": {
                  "x-additionalPropertiesName": "Relationship Attributes"
                }
              }
            }
          }
        ]
      },
      "description": "Each object in the array represents a relationship you want to add to, or remove from, a person."
    }
  },
  "description": "Describes relationships to an entity—a non-person object in Customer.io, like a company, educational course, job board, etc."
}
array v2_cio_relationships
{
  "type": "array",
  "items": {
    "type": "object",
    "example": {
      "identifiers": {
        "id": "42X"
      },
      "relationship_attributes": {
        "role": "admin",
        "date_created": 1702480414
      }
    },
    "properties": {
      "identifiers": {
        "oneOf": [
          {
            "type": "object",
            "title": "id",
            "properties": {
              "id": {
                "type": "string",
                "example": "42",
                "description": "The ID of a customer profile, analogous to a \"person\" in the UI."
              }
            }
          },
          {
            "type": "object",
            "title": "email",
            "properties": {
              "email": {
                "type": "string",
                "example": "test@example.com",
                "description": "The email address of the customer."
              }
            }
          },
          {
            "type": "object",
            "title": "cio_id",
            "properties": {
              "cio_id": {
                "type": "string",
                "example": "a3000001",
                "description": "A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers."
              }
            }
          }
        ]
      },
      "relationship_attributes": {
        "type": "object",
        "description": "[Coming January 2024](https://customer.io/docs/api/app/) - If we have not rolled out relationship attributes to your account yet and you send them with your request, your request will go through but we won't store your relationship attributes. The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.\n",
        "additionalProperties": {
          "x-additionalPropertiesName": "Relationship Attributes"
        }
      }
    }
  },
  "description": "The people you want to associate with an object. Each object in the array represents a person."
}
integer variant_id
{
  "type": "integer",
  "readOnly": true,
  "description": "The identifier of a newsletter variant—a language in a multi-language newsletter or a test in an A/B test."
}
object webhookMetrics
{
  "type": "object",
  "properties": {
    "2xx": {
      "type": "integer",
      "description": "The number of 2xx responses."
    },
    "3xx": {
      "type": "integer",
      "description": "The number of 3xx responses."
    },
    "4xx": {
      "type": "integer",
      "description": "The number of 4xx responses."
    },
    "5xx": {
      "type": "integer",
      "description": "The number of 5xx responses."
    }
  }
}
object webhook_attempted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "attempted"
          ],
          "type": "string",
          "description": "A webhook failed to send, but will be retried."
        }
      }
    }
  ],
  "title": "attempted"
}
object webhook_clicked
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient",
                "link_id",
                "href"
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "example": "https://www.customer.io/docs",
                  "description": "The URL of the link that a person clicked."
                },
                "link_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The identifier for the tracked link that a person clicked or tapped."
                },
                "recipient": {
                  "type": "string",
                  "description": "The URL the webhook was sent to."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "clicked"
          ],
          "type": "string",
          "description": "The webhook recipient opened a tracked link in the webhook payload."
        }
      }
    }
  ],
  "title": "clicked"
}
string webhook_customer_id
{
  "type": "string",
  "example": "42",
  "deprecated": true,
  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
}
object webhook_drafted
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "title": "API triggered broadcast",
              "required": [
                "trigger_id",
                "broadcast_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "trigger_id": {
                  "type": "integer",
                  "example": 1,
                  "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "broadcast_id": {
                  "type": "integer",
                  "example": 2,
                  "nullable": true,
                  "description": "The identifier for a broadcast."
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                }
              }
            },
            {
              "type": "object",
              "title": "Campaign",
              "required": [
                "campaign_id",
                "delivery_id",
                "action_id",
                "identifiers"
              ],
              "properties": {
                "action_id": {
                  "type": "integer",
                  "example": 96,
                  "readOnly": true,
                  "description": "The identifier for an action."
                },
                "journey_id": {
                  "type": "string",
                  "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                  "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                },
                "campaign_id": {
                  "type": "integer",
                  "example": 5,
                  "nullable": true,
                  "description": "The identifier for a campaign."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "parent_action_id": {
                  "type": "integer",
                  "example": 1,
                  "readOnly": true,
                  "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                },
                "trigger_event_id": {
                  "type": "string",
                  "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                  "nullable": true,
                  "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                }
              }
            },
            {
              "type": "object",
              "title": "Newsletter",
              "required": [
                "newsletter_id",
                "delivery_id",
                "identifiers"
              ],
              "properties": {
                "content_id": {
                  "type": "integer",
                  "example": 3,
                  "description": "The identifier for a newsletter variant."
                },
                "customer_id": {
                  "type": "string",
                  "example": "42",
                  "deprecated": true,
                  "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                },
                "delivery_id": {
                  "type": "string",
                  "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                  "description": "The instance of a message sent to a person."
                },
                "identifiers": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "42",
                      "nullable": true,
                      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                    },
                    "email": {
                      "type": "string",
                      "example": "test@example.com",
                      "nullable": true,
                      "description": "The email address of the customer."
                    },
                    "cio_id": {
                      "type": "string",
                      "example": "d9c106000001",
                      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                    }
                  },
                  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                },
                "newsletter_id": {
                  "type": "integer",
                  "example": 10,
                  "nullable": true,
                  "description": "The identifier for a newsletter."
                }
              }
            }
          ]
        },
        "metric": {
          "enum": [
            "drafted"
          ],
          "type": "string",
          "description": "A webhook draft was created."
        }
      }
    }
  ],
  "title": "drafted"
}
object webhook_event
{
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            "metric": {
              "enum": [
                "drafted"
              ],
              "type": "string",
              "description": "A webhook draft was created."
            }
          }
        }
      ],
      "title": "drafted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "attempted"
              ],
              "type": "string",
              "description": "A webhook failed to send, but will be retried."
            }
          }
        }
      ],
      "title": "attempted"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient"
                  ],
                  "properties": {
                    "content": {
                      "type": "string",
                      "description": "The stringified payload sent to your webhook address. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The URL the webhook was sent to."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "sent"
              ],
              "type": "string",
              "description": "A webhook was sent from Customer.io. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your webhook."
            }
          }
        }
      ],
      "title": "sent"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "recipient",
                    "link_id",
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "type": "string",
                      "example": "https://www.customer.io/docs",
                      "description": "The URL of the link that a person clicked."
                    },
                    "link_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The identifier for the tracked link that a person clicked or tapped."
                    },
                    "recipient": {
                      "type": "string",
                      "description": "The URL the webhook was sent to."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "clicked"
              ],
              "type": "string",
              "description": "The webhook recipient opened a tracked link in the webhook payload."
            }
          }
        }
      ],
      "title": "clicked"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "failed"
              ],
              "type": "string",
              "description": "A webhook failed to send."
            }
          }
        }
      ],
      "title": "failed"
    },
    {
      "allOf": [
        {
          "type": "object",
          "required": [
            "event_id",
            "object_type",
            "timestamp"
          ],
          "properties": {
            "event_id": {
              "type": "string",
              "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
              "description": "The unique ID of the reporting webhook event being sent."
            },
            "timestamp": {
              "type": "integer",
              "format": "unix timestamp",
              "example": 1613063089,
              "description": "The unix timestamp when the event occurred."
            },
            "object_type": {
              "enum": [
                "webhook"
              ],
              "type": "string",
              "description": "The event relates to a webhook."
            }
          }
        },
        {
          "type": "object",
          "required": [
            "metric",
            "data"
          ],
          "properties": {
            "data": {
              "allOf": [
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "title": "API triggered broadcast",
                      "required": [
                        "trigger_id",
                        "broadcast_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "trigger_id": {
                          "type": "integer",
                          "example": 1,
                          "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "broadcast_id": {
                          "type": "integer",
                          "example": 2,
                          "nullable": true,
                          "description": "The identifier for a broadcast."
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Campaign",
                      "required": [
                        "campaign_id",
                        "delivery_id",
                        "action_id",
                        "identifiers"
                      ],
                      "properties": {
                        "action_id": {
                          "type": "integer",
                          "example": 96,
                          "readOnly": true,
                          "description": "The identifier for an action."
                        },
                        "journey_id": {
                          "type": "string",
                          "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                          "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                        },
                        "campaign_id": {
                          "type": "integer",
                          "example": 5,
                          "nullable": true,
                          "description": "The identifier for a campaign."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "parent_action_id": {
                          "type": "integer",
                          "example": 1,
                          "readOnly": true,
                          "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                        },
                        "trigger_event_id": {
                          "type": "string",
                          "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                          "nullable": true,
                          "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Newsletter",
                      "required": [
                        "newsletter_id",
                        "delivery_id",
                        "identifiers"
                      ],
                      "properties": {
                        "content_id": {
                          "type": "integer",
                          "example": 3,
                          "description": "The identifier for a newsletter variant."
                        },
                        "customer_id": {
                          "type": "string",
                          "example": "42",
                          "deprecated": true,
                          "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                        },
                        "delivery_id": {
                          "type": "string",
                          "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                          "description": "The instance of a message sent to a person."
                        },
                        "identifiers": {
                          "type": "object",
                          "required": [
                            "id"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "example": "42",
                              "nullable": true,
                              "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                            },
                            "email": {
                              "type": "string",
                              "example": "test@example.com",
                              "nullable": true,
                              "description": "The email address of the customer."
                            },
                            "cio_id": {
                              "type": "string",
                              "example": "d9c106000001",
                              "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                            }
                          },
                          "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                        },
                        "newsletter_id": {
                          "type": "integer",
                          "example": 10,
                          "nullable": true,
                          "description": "The identifier for a newsletter."
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "failure_message"
                  ],
                  "properties": {
                    "failure_message": {
                      "type": "string",
                      "example": "Something went wrong!",
                      "description": "Indicates the reason that an attempted message failed."
                    }
                  }
                }
              ],
              "description": "Contains information about the event, specific to the `object_type` and `metric`."
            },
            "metric": {
              "enum": [
                "undeliverable"
              ],
              "type": "string",
              "description": "A webhook/message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
            }
          }
        }
      ],
      "title": "failed"
    }
  ],
  "title": "Webhook",
  "description": "Events pertaining to webhooks.",
  "discriminator": {
    "mapping": {
      "sent": "#/components/schemas/webhook_sent",
      "failed": "#/components/schemas/webhook_failed",
      "clicked": "#/components/schemas/webhook_clicked",
      "drafted": "#/components/schemas/webhook_drafted",
      "attempted": "#/components/schemas/webhook_attempted",
      "undeliverable": "#/components/schemas/webhook_undeliverable"
    },
    "propertyName": "metric"
  }
}
object webhook_event_common
{
  "type": "object",
  "required": [
    "event_id",
    "object_type",
    "timestamp"
  ],
  "properties": {
    "event_id": {
      "type": "string",
      "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
      "description": "The unique ID of the reporting webhook event being sent."
    },
    "timestamp": {
      "type": "integer",
      "format": "unix timestamp",
      "example": 1613063089,
      "description": "The unix timestamp when the event occurred."
    },
    "object_type": {
      "enum": [
        "webhook"
      ],
      "type": "string",
      "description": "The event relates to a webhook."
    }
  }
}
object webhook_events
{
  "type": "object",
  "properties": {
    "webhook_sent": {
      "type": "boolean",
      "description": "Reports when a webhook is sent from Customer.io to the webhook URL. Set to true to report this event type."
    },
    "webhook_failed": {
      "type": "boolean",
      "description": "Reports when a webhook couldn't be sent to the webhook URL. Set to true to report this event type."
    },
    "webhook_clicked": {
      "type": "boolean",
      "description": "Reports when a tracked link in a webhook payload is opened. Set to true to report this event type."
    },
    "webhook_drafted": {
      "type": "boolean",
      "description": "A webhook draft is created. Set to true to report this event type."
    },
    "webhook_attempted": {
      "type": "boolean",
      "description": "Reports when a webhook could not be sent and will retry. Set to true to report this event type."
    }
  },
  "description": "Describes the webhook events reported from Customer.io to a webhook."
}
object webhook_failed
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "failed"
          ],
          "type": "string",
          "description": "A webhook failed to send."
        }
      }
    }
  ],
  "title": "failed"
}
object webhook_identifiers
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "42",
      "nullable": true,
      "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
    },
    "email": {
      "type": "string",
      "example": "test@example.com",
      "nullable": true,
      "description": "The email address of the customer."
    },
    "cio_id": {
      "type": "string",
      "example": "d9c106000001",
      "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
    }
  },
  "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
}
string webhook_identifiers_id
{
  "type": "string",
  "example": "0200102",
  "description": "The ID of the person the webhook event represents. If your workspace uses `email` as a unique key, this value was automatically generated by Customer.io."
}
object webhook_sent
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "recipient"
              ],
              "properties": {
                "content": {
                  "type": "string",
                  "description": "The stringified payload sent to your webhook address. This key only appears if you enabled the *Body Content* option when setting up your webhook."
                },
                "recipient": {
                  "type": "string",
                  "description": "The URL the webhook was sent to."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "sent"
          ],
          "type": "string",
          "description": "A webhook was sent from Customer.io. If you enabled the *Body Content* option with your webhook, the payload includes the `content` of your webhook."
        }
      }
    }
  ],
  "title": "sent"
}
integer webhook_timestamp
{
  "type": "integer",
  "format": "unix timestamp",
  "example": 1613063089,
  "description": "The unix timestamp when the event occurred."
}
object webhook_undeliverable
{
  "allOf": [
    {
      "type": "object",
      "required": [
        "event_id",
        "object_type",
        "timestamp"
      ],
      "properties": {
        "event_id": {
          "type": "string",
          "example": "01E4C4CT6YDC7Y5M7FE1GWWPQJ",
          "description": "The unique ID of the reporting webhook event being sent."
        },
        "timestamp": {
          "type": "integer",
          "format": "unix timestamp",
          "example": 1613063089,
          "description": "The unix timestamp when the event occurred."
        },
        "object_type": {
          "enum": [
            "webhook"
          ],
          "type": "string",
          "description": "The event relates to a webhook."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "metric",
        "data"
      ],
      "properties": {
        "data": {
          "allOf": [
            {
              "oneOf": [
                {
                  "type": "object",
                  "title": "API triggered broadcast",
                  "required": [
                    "trigger_id",
                    "broadcast_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "trigger_id": {
                      "type": "integer",
                      "example": 1,
                      "description": "The trigger ID returned by the [Trigger Broadcast API](https://customer.io/docs/api/app/)."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "broadcast_id": {
                      "type": "integer",
                      "example": 2,
                      "nullable": true,
                      "description": "The identifier for a broadcast."
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Campaign",
                  "required": [
                    "campaign_id",
                    "delivery_id",
                    "action_id",
                    "identifiers"
                  ],
                  "properties": {
                    "action_id": {
                      "type": "integer",
                      "example": 96,
                      "readOnly": true,
                      "description": "The identifier for an action."
                    },
                    "journey_id": {
                      "type": "string",
                      "example": "01GW20GXAAXBKZD8J96M8FNV3R",
                      "description": "The ID for the path a person went through in a Campaign or API Triggered Broadcast workflow."
                    },
                    "campaign_id": {
                      "type": "integer",
                      "example": 5,
                      "nullable": true,
                      "description": "The identifier for a campaign."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "parent_action_id": {
                      "type": "integer",
                      "example": 1,
                      "readOnly": true,
                      "description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
                    },
                    "trigger_event_id": {
                      "type": "string",
                      "example": "21E4C3CT6YDC7Y4N7FE1GWWABC",
                      "nullable": true,
                      "description": "The id of the event that triggered an event-triggered campaign (not an API-triggered broadcast)."
                    }
                  }
                },
                {
                  "type": "object",
                  "title": "Newsletter",
                  "required": [
                    "newsletter_id",
                    "delivery_id",
                    "identifiers"
                  ],
                  "properties": {
                    "content_id": {
                      "type": "integer",
                      "example": 3,
                      "description": "The identifier for a newsletter variant."
                    },
                    "customer_id": {
                      "type": "string",
                      "example": "42",
                      "deprecated": true,
                      "description": "The ID of the person the webhook event occurred to. Blank if the person in question has been deleted.\n\nWhile webhooks may still contain this property, you should rely on the newer `identifiers` object wherever possible.\n"
                    },
                    "delivery_id": {
                      "type": "string",
                      "example": "ZAIAAVTJVG0QcCok0-0ZKj6yiQ==",
                      "description": "The instance of a message sent to a person."
                    },
                    "identifiers": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "42",
                          "nullable": true,
                          "description": "The ID of a customer profile, analogous to a \"person\" in the UI. If your workspace supports multiple identifiers (email and ID), this value can be null."
                        },
                        "email": {
                          "type": "string",
                          "example": "test@example.com",
                          "nullable": true,
                          "description": "The email address of the customer."
                        },
                        "cio_id": {
                          "type": "string",
                          "example": "d9c106000001",
                          "description": "The canonical identifier for a person, present only if your workspace supports multiple identifiers (email and ID). This value exists to keep a record of a person in your workspace across changes to their other identifiers."
                        }
                      },
                      "description": "The person the event represents. This object contains all of the identifiers available to people in your workspace, even if they aren't set. If your workspace supports multiple identifiers (email and ID), this object contains `id`, `email` (either of which can be null), and `cio_id`. \n\nOtherwise, if your workspace only supports ID, this object just contains the `id` of the person the event represents.\n"
                    },
                    "newsletter_id": {
                      "type": "integer",
                      "example": 10,
                      "nullable": true,
                      "description": "The identifier for a newsletter."
                    }
                  }
                }
              ]
            },
            {
              "type": "object",
              "required": [
                "failure_message"
              ],
              "properties": {
                "failure_message": {
                  "type": "string",
                  "example": "Something went wrong!",
                  "description": "Indicates the reason that an attempted message failed."
                }
              }
            }
          ],
          "description": "Contains information about the event, specific to the `object_type` and `metric`."
        },
        "metric": {
          "enum": [
            "undeliverable"
          ],
          "type": "string",
          "description": "A webhook/message was undeliverable. Undeliverable messages are messages that have either hit a message limit, come from a newsletter that was cancelled or deleted, or an environment that has delivery disabled (which is something you might do if you’re testing an integration). If you’re not using message limits, you probably won’t see this event."
        }
      }
    }
  ],
  "title": "failed"
}
string widgetColor
{
  "type": "string",
  "description": "The color you want to use for this content. You can only set values here that are defined under [**Content** > **In-App Messages**](https://fly.customer.io/env/last/in-app-messages)."
}
array widgetComponents
{
  "type": "array",
  "items": {
    "type": "object"
  },
  "description": "An array of child components that you want to make available inside this widget."
}
string widgetCrossAxisAlignment
{
  "enum": [
    "center",
    "start",
    "end",
    "stretch",
    "baseline"
  ],
  "type": "string",
  "description": "The crossAxisAlignment property supports the following options"
}
integer widgetHeight
{
  "type": "integer",
  "description": "The height of the component in pixels, if you want to constrain it. If you don't set a height or width, we'll scale your content to fit your message or container."
}
string widgetMainAxisAlignment
{
  "enum": [
    "start",
    "end",
    "spaceBetween",
    "spaceAround",
    "spaceEvenly"
  ],
  "type": "string",
  "description": "The mainAxisAlignment property supports the following options."
}
integer widgetRadius
{
  "type": "integer",
  "description": "Sets the radius of corners for an item in pixels, similar to the `border-radius` CSS property."
}
integer widgetWidth
{
  "type": "integer",
  "description": "The width of the component in pixels, if you want to constrain it. If you don't set a height or width, we'll scale your content to fit your message or container."
}
object workspace
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "example": 13,
      "description": "The id of the workspace."
    },
    "name": {
      "type": "string",
      "example": "Workspace 1",
      "description": "The name of the workspace."
    },
    "people": {
      "type": "integer",
      "example": 25666,
      "description": "The current count of people profiles in the workspace. Updates roughly every hour."
    },
    "objects": {
      "type": "integer",
      "example": 10,
      "description": "The current count of object profiles in the workspace. Updates roughly every hour."
    },
    "object_types": {
      "type": "integer",
      "example": 4,
      "description": "The current count of object types in the workspace. Updates roughly every hour."
    },
    "messages_sent": {
      "type": "integer",
      "example": 100202,
      "description": "The count of [messages sent](https://customer.io/docs/api/app/) via any channel (email, SMS, in-app, push, slack) in the current billing period."
    },
    "billable_messages_sent": {
      "type": "integer",
      "example": 75124,
      "description": "The count of [emails sent](https://customer.io/docs/api/app/) that are considered for billing in your current billing period. Ultimately, we only bill for the overages on your plan."
    }
  },
  "description": "Contains workspace properties including the count of messages, people, and objects. Customer.io caches these counts, so your data may be up to two hours old."
}