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

Activities 1 endpoints

GET /v1/activities

This endpoint returns a list of "activities" for people, similar to your workspace's Activity Logs. This endpoint is guaranteed to return activity history within the past 30 days. It _might_ return data older than 30 days in some circumstances, but activites older than 30 days are not guaranteed.

operationId: Activities_list

Parameters

Name In Required Type Description
start query optional string The token for the page of results you want to return. Responses contain a `next` property. Use this property as the `start` value to return the next page of results.
type query optional string The type of activity you want to search for. Types with `_o:<object_type_id>` are for objects and types with `_r:<object_type_id>` are for relationships.
name query optional string The name of the event or attribute you want to return.
deleted query optional boolean If true, return results for deleted people.
customer_id query optional string The `identifier` of the person you want to look up. By default, this is a person's `id`. You can use the `id_type` parameter to look up a person by `email` or `cio_id`. If you use a person's `cio_id`, you must prefix the value value with `cio_` when using it to find or reference a person (i.e. `cio_03000010` for a `cio_id` value of 03000010).
id_type query optional string The type of `customer_id` you want to use to reference a person. If you don't provide this parameter, we assume that the `customer_id` in your request is a person's `id`.
limit query optional integer The maximum number of results you want to retrieve per page.

Responses

200 Returns an array of `activities`.
429 Your request is over the 10-per-second limit.
GET /v1/activities

Broadcasts 15 endpoints

GET /v1/broadcast/{broadcast_id}/actions/{action_id}/metrics

Returns a list of metrics for an individual action both in total and in `steps` (days, weeks, etc) over a period of time. Stepped `series` metrics return from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Broadcasts_getActionMetrics

Responses

200 Returns action metrics by `series` (with increments are based on the `period` and `step` in your request) for the broadcast.
404 The broadcast and/or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcast/{broadcast_id}/actions/{action_id}/metrics
GET /v1/broadcasts

Returns a list of your broadcasts and associated metadata.

operationId: Broadcasts_list

Responses

200 Returns an array of broadcasts.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts
GET /v1/broadcasts/{broadcast_id}

Returns metadata for an individual broadcast.

operationId: Broadcasts_getMetadata

Responses

200 Returns metadata for the broadcast.
404 The broadcast you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}
GET /v1/broadcasts/{broadcast_id}/actions

Returns the actions that occur as a part of a broadcast.

operationId: Broadcasts_getActions

Responses

200 Returns broadcast `actions`. Each object represents an individual variant for this broadcast.
404 The broadcast you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/actions
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}

Returns information about a specific action within a broadcast.

operationId: Broadcasts_getActionDetails

Responses

200 Returns the requested broadcast `action`.
400 The `language` does not exist for this action.
404 The broadcast or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}
PUT /v1/broadcasts/{broadcast_id}/actions/{action_id}

Update the contents of a broadcast action, including the body of messages or HTTP requests.

operationId: Broadcasts_updateActionContents

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BroadcastsUpdateActionContentsRequest"
      }
    }
  }
}

Responses

200 Returns the updated broadcast action.
400 The `language` does not exist for this action.
404 The broadcast or action does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/broadcasts/{broadcast_id}/actions/{action_id}
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}

Returns information about a translation of message in a broadcast. The message is identified by the `action_id`.

operationId: Broadcasts_getTranslationMessage

Responses

200 Returns information for the requested language variant for a broadcast `action`.
400 The `language` does not exist for this action.
404 The broadcast or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}
PUT /v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}

Update a translation of a specific broadcast action, including the body of messages or HTTP requests.

operationId: Broadcasts_updateTranslation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BroadcastsUpdateTranslationRequest"
      }
    }
  }
}

Responses

200 Returns the updated broadcast action.
400 The `language` does not exist for this action.
404 The broadcast or action does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/broadcasts/{broadcast_id}/actions/{action_id}/language/{language}
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics/links

Returns link click metrics for an individual broadcast action. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Broadcasts_getActionLinkMetrics

Responses

200 Returns broadcast variant metrics by `series` (with increments are based on the `period` and `step` in your request) for the broadcast.
404 The broadcast and/or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/actions/{action_id}/metrics/links
GET /v1/broadcasts/{broadcast_id}/messages

Returns information about the deliveries (instances of messages sent to individual people) sent from an API-triggered broadcast. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return results for the 1 month period after the first trigger. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request.

operationId: Broadcasts_getMessages

Responses

200 Returns an array of `messages`. Each object represents a different message in your broadcast.
404 The broadcast you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/messages
GET /v1/broadcasts/{broadcast_id}/metrics

Returns a list of metrics for an individual broadcast in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Broadcasts_getMetrics

Responses

200 Returns broadcast metrics by `series` (with increments are based on the `period` and `step` in your request) for the broadcast.
404 The broadcast you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/metrics
GET /v1/broadcasts/{broadcast_id}/metrics/links

Returns metrics for link clicks within a broadcast, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Broadcasts_getLinkMetrics

Responses

200 Returns an array of link objects. Each object represents a different link in your broadcast and contains independent metrics.
404 The broadcast you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/metrics/links
GET /v1/broadcasts/{broadcast_id}/triggers

Returns a list of the `triggers` for a broadcast.

operationId: Broadcasts_getTriggers

Responses

200 Returns an array of `triggers`.
404 The broadcast does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/broadcasts/{broadcast_id}/triggers
GET /v1/campaigns/{broadcast_id}/triggers/{trigger_id}

After triggering a broadcast you can retrieve the status of that broadcast using a GET of the `trigger_id`. You can retrieve the `trigger_id` from [Get broadcast triggers](https://customer.io/docs/api/app/).

operationId: Broadcasts_getStatus

Responses

200 Returns the status of your broadcast.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{broadcast_id}/triggers/{trigger_id}
GET /v1/campaigns/{broadcast_id}/triggers/{trigger_id}/errors

If your broadcast produced validation errors, this endpoint can help you better understand what went wrong. Broadcast errors are generally issues in your broadcast audience and associated.

operationId: Broadcasts_getBroadcastErrors

Responses

200 Returns an array of errors.
401 Unauthorized request. Make sure that you provided the right credentials.
404 The campaign ID or trigger ID from your request do not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{broadcast_id}/triggers/{trigger_id}/errors

Campaigns 13 endpoints

GET /v1/campaigns

Returns a list of your campaigns and associated metadata.

operationId: Campaigns_getList

Responses

200 Returns an array of campaign objects.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns
GET /v1/campaigns/{campaign_id}

Returns metadata for an individual campaign.

operationId: Campaigns_getMetadata

Responses

200 Returns metadata for the campaign.
404 The campaign you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}
GET /v1/campaigns/{campaign_id}/actions

Returns the operations in a campaign workflow. Each object in the response represents an action or 'tile' in the campaign builder. This endpoint returns up to 10 `actions` at a time. If there is another page of results, the response will include a `next` string. Pass this string as the `start` parameter to get the next page of results.

operationId: Campaigns_listActions

Responses

200 Returns campaign `actions`. Each object represents an individual action.
404 The campaign you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/actions
GET /v1/campaigns/{campaign_id}/actions/{action_id}

Returns information about a specific action in a campaign.

operationId: Campaigns_getActionInfo

Responses

200 Returns the requested campaign `action`.
400 The `language` does not exist for this action.
404 The campaign or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/actions/{action_id}
PUT /v1/campaigns/{campaign_id}/actions/{action_id}

Update the contents of a campaign action, including the body of messages and HTTP requests.

operationId: Campaigns_updateActionContents

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CampaignsUpdateActionContentsRequest"
      }
    }
  }
}

Responses

200 Returns the updated campaign `action`.
400 The `language` does not exist for this action.
404 The campaign or action does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/campaigns/{campaign_id}/actions/{action_id}
GET /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}

Returns a translated version of a message in a campaign. The message is identified by the `action_id`.

operationId: Campaigns_getMessageTranslation

Responses

200 Returns information for the requested campaign `action` language variant.
400 The `language` does not exist for this action.
404 The campaign or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}
PUT /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}

Update the contents of a language variant of a campaign action, including the body of the messages and HTTP requests.

operationId: Campaigns_updateTranslation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CampaignsUpdateTranslationRequest"
      }
    }
  }
}

Responses

200 Returns the updated campaign action.
400 The `language` does not exist for this action.
404 The campaign or action does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language}
GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics

Returns a list of metrics for an individual action both in total and in `steps` (days, weeks, etc) over a period of time. Stepped `series` metrics return from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Campaigns_getActionMetrics

Responses

200 Returns action metrics by `series` (with increments are based on the `period` and `step` in your request) for the campaign.
404 The campaign and/or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics
GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links

Returns link click metrics for an individual action. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Campaigns_getLinkMetricsForAction

Responses

200 Returns action metrics by `series` (with increments are based on the `period` and `step` in your request) for the campaign.
404 The campaign and/or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links
GET /v1/campaigns/{campaign_id}/journey_metrics

Returns a list of Journey Metrics for your campaign. These metrics show how many people triggered your campaign, were messaged, etc for the time period and "resolution" you set. You must provide the `start`, `end`, and `resolution` parameters or your request will return `400`. Metrics in the response are arrays, and each index in the array corresponds to the `resolution` in your request. If you request metrics in `days`, the first result in each metric array is the first day of results and each successive increment represents another day. Each increment represents the number of journeys that started within a time period and eventually achieved a particular metric. For example, array index 0 for the `converted` metric represents the number of journeys that started on the first day/month of results that achieved a conversion.

operationId: Campaigns_getJourneyMetrics

Responses

200 Each `journey_metric` item in the response is an array. Each item in a metric array represents the number of journeys that started within the time increment ("resolution"—day or month) and eventually achieved that metric.
400 You may have omitted query parameters or the `start` time occurred after the `end` time.
404 The campaign and/or action does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/journey_metrics
GET /v1/campaigns/{campaign_id}/messages

Returns information about the deliveries (instances of messages sent to individual people) sent from a campaign. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request.

operationId: Campaigns_getMessageMetadata

Responses

200 Returns an array of `messages`. Each object represents a different message in your campaign.
404 The campaign you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/messages
GET /v1/campaigns/{campaign_id}/metrics

Returns a list of metrics for an individual campaign in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Campaigns_getMetrics

Responses

200 Returns campaign metrics by `series` (using the `period` and `step` in the request) for the campaign.
404 The campaign you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/metrics
GET /v1/campaigns/{campaign_id}/metrics/links

Returns metrics for link clicks within a campaign, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Campaigns_getLinkMetrics

Responses

200 Returns an array of link objects. Each object represents a different link in your campaign and contains independent metrics.
404 The campaign you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/campaigns/{campaign_id}/metrics/links

Collections 7 endpoints

GET /v1/collections

Returns a list of all of your collections, including the `name` and `schema` for each collection.

operationId: Collections_list

Responses

200 Returns metadata about your collection.
429 Your request is over the 10-per-second limit.
GET /v1/collections
POST /v1/collections

Create a new collection and provide the `data` that you'll access from the collection or the `url` that you'll download CSV or JSON data from. **Note**: A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB.

operationId: Collections_createNew

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CollectionsCreateNewRequest"
      },
      "example": {
        "data": [
          {
            "presents": {
              "total": 2,
              "something_you_need": "socks",
              "something_you_want": "toys"
            },
            "eventDate": "2021-12-25T12:00:00.000Z",
            "eventName": "christmas"
          },
          {
            "presents": {
              "total": 2,
              "something_you_need": "books",
              "something_you_want": "video games"
            },
            "eventDate": "2021-03-15T12:00:00.000Z",
            "eventName": "birthday"
          }
        ],
        "name": "events"
      }
    }
  }
}

Responses

200 The collection was created successfully.
400 Your request was malformed.
429 Your request is over the 10-per-second limit.
POST /v1/collections
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}
GET /v1/collections/{collection_id}

Retrieves details about a collection, including the `schema` and `name`. This request does not include the `content` of the collection (the values associated with keys in the schema).

operationId: Collections_getDetails

Responses

200 Returns metadata about your collection.
404 The collection `id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/collections/{collection_id}
PUT /v1/collections/{collection_id}

Update the `name` or replace the contents of a collection. Updating the `data` or `url` for your collection fully replaces the contents of the collection. **Note**: * If you reference your collection by name in active campaign messages, changing the name of the collection will cause references to the previous name to return an empty data set. * A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB.

operationId: Collections_updateCollection

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CollectionsUpdateCollectionRequest"
      },
      "example": {
        "data": [
          {
            "presents": {
              "total": 2,
              "something_you_need": "socks",
              "something_you_want": "toys"
            },
            "eventDate": "2021-12-25T12:00:00.000Z",
            "eventName": "christmas"
          },
          {
            "presents": {
              "total": 2,
              "something_you_need": "books",
              "something_you_want": "video games"
            },
            "eventDate": "2021-03-15T12:00:00.000Z",
            "eventName": "birthday"
          }
        ],
        "name": "events"
      }
    }
  }
}

Responses

200 The collection was created successfully.
400 Your request was malformed.
429 Your request is over the 10-per-second limit.
PUT /v1/collections/{collection_id}
GET /v1/collections/{collection_id}/content

Retrieve the contents of a collection (the `data` from when you created or updated a collection). Each `row` in the collection is represented as a JSON blob in the response.

operationId: Collections_getContents

Responses

200 Returns your collection's contents—the `data` (or `url` contents) from your POST or PUT call.
404 The collection `id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/collections/{collection_id}/content
PUT /v1/collections/{collection_id}/content

Replace the contents of a collection (the `data` from when you created or updated a collection). The request is a free-form object containing the keys you want to reference from the collection and the corresponding values. This request replaces the current contents of the collection entirely. If you don't want to update the contents directly—you want to change the `name` or data `url` for your collection, use the [update a collection](https://customer.io/docs/api/app/) endpoint. **Note**: A collection cannot be more than 10 MB in size. No individual row in the collection can be more than 10 KB.

operationId: Collections_updateContents

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CollectionsUpdateContentsRequest"
      },
      "example": {
        "presents": {
          "total": 2,
          "something_you_need": "socks",
          "something_you_want": "toys"
        },
        "eventDate": "2021-12-25T12:00:00.000Z",
        "eventName": "christmas"
      }
    }
  },
  "description": "Your request is a free form object representing the contents of your collection. This request replaces the contents of the collection entirely, so include all contents that you want to remain in the collection—whether they change or not."
}

Responses

200 Returns your collection metadata and the updated schema.
404 The collection `id` does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/collections/{collection_id}/content

Customers 9 endpoints

GET /v1/customers

Return a list of people in your workspace matching an email address.

operationId: Customers_findByEmail

Parameters

Name In Required Type Description
email query required string The email address you want to search for.

Responses

200 Returns an array of `results`; each result represents a person.
401 Unauthorized request. Make sure that you provided the right credentials.
429 Your request is over the 10-per-second limit.
GET /v1/customers
POST /v1/customers

Provide a filter to search for people in your workspace. Your filter can filter people by segment (using the Segment ID) and attribute values; when you filter by attributes, you can use `eq` (matching an attribute value) or `exists` (matching when a person has the attribute). Use the `and` array, `or` array, and `not` object to create a complex filter. The `not` selector is an object that takes a single filter. Returns arrays of `identifiers` and `ids`. In general, you should rely on the newer `identifiers` array, which contains more complete information about each person captured by the filter in your request, than the `ids` array, which only contains `id` values. You can return up to 1000 people per request. If you want to return a larger set of people in a single request, you may want to use the [`/exports`](https://customer.io/docs/api/app/) API instead.

operationId: Customers_searchFilter

Parameters

Name In Required Type Description
start query optional string The token for the page of results you want to return. Responses contain a `next` property. Use this property as the `start` value to return the next page of results.
limit query optional integer The maximum number of results you want to retrieve per page.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomersSearchFilterRequest"
      },
      "example": {
        "filter": {
          "and": [
            {
              "segment": {
                "id": 4
              }
            },
            {
              "attribute": {
                "field": "likes_pizza",
                "value": true,
                "operator": "eq"
              }
            }
          ]
        }
      }
    }
  }
}

Responses

200 Returns an array of customers matching your filters.
401 Unauthorized request. Make sure that you provided the right credentials.
429 Your request is over the 10-per-second limit.
POST /v1/customers
POST /v1/customers/attributes

Return attributes and devices for up to 100 customers by ID. If an ID in the request does not exist, the response omits it.

operationId: Customers_listAttributesDevices

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomersListAttributesDevicesRequest"
      }
    }
  }
}

Responses

200 Returns an array of `customers`. Each object represents a customer profile.
400 The request is malformed.
429 Your request is over the 10-per-second limit.
POST /v1/customers/attributes
GET /v1/customers/{customer_id}/activities

Return a list of activities performed by, or for, a customer. Activities are things like attribute changes and message sends.

operationId: Customers_getActivities

Responses

200 Returns an array of activity objects. Each object represents an activity that the customer performed, or that you performed on behalf of the customer.
400 The request parameters are malformed.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/activities
GET /v1/customers/{customer_id}/attributes

Return a list of attributes for a customer profile. You can use attributes to fashion segments or as liquid merge fields in your messages.

operationId: Customers_getAttributes

Responses

200 Returns the `customer` and associated attributes.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/attributes
GET /v1/customers/{customer_id}/messages

Returns information about the deliveries sent to a person. Provide query parameters to refine the data you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 6 months, we'll return 6 months of data from the most recent timestamp in your request.

operationId: Customers_getMessages

Responses

200 Returns an array of message objects. Each object represents a message that you sent a customer.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/messages
GET /v1/customers/{customer_id}/relationships

Return a list of objects that a person is related to. You can use the `start` parameter with the `next` property in responses to return pages of results. However, it's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results.

operationId: Customers_lookupRelationships

Responses

200 Returns an array of `cio_relationships`.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/relationships
GET /v1/customers/{customer_id}/segments

Returns a list of segments that a customer profile belongs to.

operationId: Customers_lookupSegments

Responses

200 Returns an array of segments that the customer belongs to.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/segments
GET /v1/customers/{customer_id}/subscription_preferences

Returns a list of subscription preferences for a person, including the custom header of the subscription preferences page, topic names, and topic descriptions. Returns translated data when you send a language in the query.

operationId: Customers_getSubscriptionPreferences

Responses

200 Returns the customer's associated subscription preferences.
400 Invalid or malformed request.
404 The `customer_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/customers/{customer_id}/subscription_preferences

Esp suppression 4 endpoints

GET /v1/esp/search_suppression/{email_address}

Look up an email address to learn if, and why, it was suppressed by the email service provider (ESP).

operationId: EspSuppression_lookupAddress

Responses

200 Returns an array of suppressed email addresses.
429 Your request is over the 10-per-second limit.
GET /v1/esp/search_suppression/{email_address}
GET /v1/esp/suppression/{suppression_type}

Find addresses suppressed by the Email Service Provider (ESP) for a particular reason—bounces, blocks, spam reports, or invalid email addresses. You can get up to 1000 addresses per request. Use the `offset` parameter to get addresses beyond the first 1000.

operationId: EspSuppression_getEmailsByType

Responses

200 Returns an array of suppressed email addresses.
429 Your request is over the 10-per-second limit.
GET /v1/esp/suppression/{suppression_type}
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}
POST /v1/esp/suppression/{suppression_type}/{email_address}

Suppress an email address at the email service provider (ESP). Addresses suppressed this way are only suppressed through the ESP; these adresses are _not_ suppressed in Customer.io, so the person can remain in your workspace (though emails to the address would be blocked at the ESP).

operationId: EspSuppression_emailAddress

Responses

200 A successful request produces an empty response.
429 Your request is over the 10-per-second limit.
POST /v1/esp/suppression/{suppression_type}/{email_address}

Exports 5 endpoints

GET /v1/exports

Return a list of your exports. Exports are point-in-time people or campaign metrics.

operationId: Exports_listMetrics

Responses

200 Returns an array of exports.
429 Your request is over the 10-per-second limit.
GET /v1/exports
POST /v1/exports/customers

Provide filters and attributes describing the customers you want to export. This endpoint returns export metadata; use the `/exports/{export_id}/endpoint` to download your export.

operationId: Exports_createCustomerExport

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ExportsCreateCustomerExportRequest"
      },
      "example": {
        "filters": {
          "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"
                    }
                  }
                }
              ]
            }
          ]
        }
      }
    }
  }
}

Responses

200 Returns an export.
400 The request is malformed.
429 Your request is over the 10-per-second limit.
POST /v1/exports/customers
POST /v1/exports/deliveries

Provide filters for the newsletter, campaign, or action you want to return delivery information from. This endpoint starts an export, but you cannot download your export from this endpoint. Use the `/exports/{export_id}` endpoint to download your export. Use the `start` and `end` to find messages within a time range. If your request doesn't include `start` and `end` parameters, we'll return the most recent 6 months of messages. If your `start` and `end` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request.

operationId: Exports_exportDeliveriesInfo

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ExportsExportDeliveriesInfoRequest"
      }
    }
  }
}

Responses

200 Returns an export.
400 The request is malformed.
429 Your request is over the 10-per-second limit.
POST /v1/exports/deliveries
GET /v1/exports/{export_id}

Return information about a specific export.

operationId: Exports_getExportInfo

Responses

200 Returns an export.
404 The export ID does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/exports/{export_id}
GET /v1/exports/{export_id}/download

This endpoint returns a signed link to download an export. The link expires after 15 minutes.

operationId: Exports_downloadExportSignedLink

Responses

200 Returns a link to an export.
404 The export ID does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/exports/{export_id}/download

Imports 2 endpoints

POST /v1/imports

This endpoint lets you upload a CSV file containing people, events, objects, or relationships. It provides a handy way of adding and updating them in bulk. Uploading people, objects, or relationships is like performing an [`identify` call](https://customer.io/docs/api/app/) for each row in your CSV; uploading events is like performing a [`track` call](https://customer.io/docs/api/app/). You'll need to provide us the public URL of your CSV as a part of this operation. We recommend that you host your CSVs from short-lived URLs. Ideally, your URLs will expire 2 hours after you initiate an import so that your customers' information doesn't remain publicly available after you've uploaded it to us. Check out the CSV requirements based on what you're importing: [people](https://customer.io/docs/api/app/), [events](https://customer.io/docs/api/app/), and [objects or relationships](https://customer.io/docs/api/app/).

operationId: Imports_bulkUploadCsv

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ImportsBulkUploadCsvRequest"
      }
    }
  }
}

Responses

200 Returns an import payload.
429 Your request is over the 10-per-second limit.
POST /v1/imports
GET /v1/imports/{import_id}

This endpoint returns information about an "import"—a CSV file containing a group of people or events you uploaded to using `v1/imports` endpoint. You can use this endpoint to check to status of imports, or find out how many rows you successfully imported from a CSV file.

operationId: Imports_getBulkImport

Parameters

Name In Required Type Description
import_id path required integer The `id` of the import you want to lookup. This value is [returned from a successful import](https://customer.io/docs/api/app/).

Responses

200 Returns an import payload.
429 Your request is over the 10-per-second limit.
GET /v1/imports/{import_id}

Info 1 endpoints

GET /v1/info/ip_addresses

Returns a list of IP addresses that you need to allowlist if you're using a firewall or [Custom SMTP](https://customer.io/docs/api/app/) provider's IP access management settings to deny access to unknown IP addresses. These addresses apply to all message types and webhooks, except push notifications.

operationId: Info_listIpAddresses

Responses

200 Returns an array of IP addresses.
429 Your request is over the 10-per-second limit.
GET /v1/info/ip_addresses

Messages 3 endpoints

GET /v1/messages

Return a list of deliveries, including metrics for each delivery, for messages in your workspace. The request body contains filters determining the deliveries you want to return information about. Use the `start_ts` and `end_ts` parameters to find messages within a time range. We limit your requests to 6 months. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of deliveries. If `start_ts` is greater than 6-months before `end_ts`, we only send back 6 months of data. If only `end_ts` is specified, we return 6 months of data before this timestamp. If only `start_ts` is specified, we then set the `end_ts` to the current time and deliver 6 months of data prior to this timestamp.

operationId: Messages_listDeliveries

Responses

200 Returns an array of message objects.
400 The request was malformed.
429 Your request is over the 10-per-second limit.
GET /v1/messages
GET /v1/messages/{message_id}

Return a information about, and metrics for, a delivery—the instance of a message intended for an individual recipient person.

operationId: Messages_getMessageMetrics

Responses

200 Returns a message object.
404 The message does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/messages/{message_id}
GET /v1/messages/{message_id}/archived_message

Returns the archived copy of a delivery, including the message body, recipient, and metrics. This endpoint is limited to 100 requests per day.

operationId: Messages_getArchivedMessage

Responses

200 Returns the archived message object.
404 The message does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/messages/{message_id}/archived_message

Newsletters 15 endpoints

GET /v1/newsletters

Returns a list of your newsletters and associated metadata.

operationId: Newsletters_listNewsletters

Responses

200 Returns an array of newsletter objects.
GET /v1/newsletters
GET /v1/newsletters/{newsletter_id}

Returns metadata for an individual newsletter.

operationId: Newsletters_getMetadata

Responses

200 Returns metadata for the newsletter.
404 The newsletter you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}
GET /v1/newsletters/{newsletter_id}/contents

Returns the content variants of a newsletter—these are either different languages in a multi-language newsletter or A/B tests.

operationId: Newsletters_listVariants

Responses

200 Returns newsletter `content_id`s. Each object represents an individual variant of this newsletter.
404 The newsletter you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/contents
GET /v1/newsletters/{newsletter_id}/contents/{content_id}

Returns information about a specific variant of a newsletter, where a variant is either a language in a multi-language newsletter or a part of an A/B test.

operationId: Newsletters_getVariantInfo

Responses

200 Returns newsletter `content`.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/contents/{content_id}
PUT /v1/newsletters/{newsletter_id}/contents/{content_id}

Update the contents of a newsletter variant (a specific language of your message or a part of an A/B test), including the body of a newsletter.

operationId: Newsletters_updateVariantContents

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/NewslettersUpdateVariantContentsRequest"
      }
    }
  }
}

Responses

200 Returns the updated newsletter variant.
400 The request is malformed.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/newsletters/{newsletter_id}/contents/{content_id}
GET /v1/newsletters/{newsletter_id}/contents/{content_id}/metrics

Returns a metrics for an individual newsletter variant—either an individual language in a multi-language newsletter or a message in an A/B test. This endpoint returns metrics both in total and in `steps` (days, weeks, etc) over a `period` of time. Stepped `series` metrics are arranged from oldest to newest (i.e. the 0-index for any result is the oldest period/step). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Newsletters_getVariantMetrics

Responses

200 Returns newsletter variant metrics by `series` (with increments are based on the `period` and `step` in your request) for the newsletter.
404 The newsletter and/or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/contents/{content_id}/metrics
GET /v1/newsletters/{newsletter_id}/contents/{content_id}/metrics/links

Returns link click metrics for an individual newsletter variant—an individual language in a multi-language newsletter or a message in an A/B test. Unless you specify otherwise, the response contains data for the maximum period by days (45 days). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Newsletters_getNewsletterVariantLinkMetrics

Responses

200 Returns newsletter variant metrics by `series` (with increments are based on the `period` and `step` in your request) for the newsletter.
404 The newsletter and/or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/contents/{content_id}/metrics/links
GET /v1/newsletters/{newsletter_id}/language/{language}

Returns information about a specific language variant of a newsletter. If your newsletter includes A/B tests, use [Get a translation in a newsletter test group](https://customer.io/docs/api/app/).

operationId: Newsletters_getTranslation

Responses

200 Returns newsletter `content` for a language variant.
400 The `language` does not exist.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/language/{language}
PUT /v1/newsletters/{newsletter_id}/language/{language}

Update the translation of a newsletter variant. If your newsletter includes A/B tests, use [Update a translation in a newsletter test group](https://customer.io/docs/api/app/).

operationId: Newsletters_updateTranslation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/NewslettersUpdateTranslationRequest"
      }
    }
  }
}

Responses

200 Returns the updated newsletter variant.
400 The `language` does not exist.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/newsletters/{newsletter_id}/language/{language}
GET /v1/newsletters/{newsletter_id}/messages

Returns information about the deliveries (instances of messages sent to individual people) sent from a newsletter. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return up to 6 months of results beginning with the first delivery generated from the newsletter. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request.

operationId: Newsletters_getMessageMetadata

Responses

200 Returns an array of `messages`. Each object represents a different message in your newsletter.
404 The newsletter you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/messages
GET /v1/newsletters/{newsletter_id}/metrics

Returns a list of metrics for an individual newsletter in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Newsletters_getMetrics

Responses

200 Returns newsletter metrics by `series` (with increments are based on the `period` and `step` in your request) for the newsletter.
404 The newsletter you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/metrics
GET /v1/newsletters/{newsletter_id}/metrics/links

Returns metrics for link clicks within a newsletter, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Newsletters_getLinkMetrics

Responses

200 Returns an array of link objects. Each object represents a different link in your newsletter and contains independent metrics.
404 The newsletter you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/metrics/links
GET /v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}

Returns information about a specific language variant of a newsletter in an A/B test group. You can retrieve `test_group_ids` from [Get variants in a newsletter test group](https://customer.io/docs/api/app/).

operationId: Newsletters_getTranslationInfo

Responses

200 Returns newsletter `content` for a language variant in a test group.
400 The `language` does not exist.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}
PUT /v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}

Update the translation of a newsletter variant in an A/B test. You can retrieve a list of `test_group_ids` from [Get variants in a newsletter test group](https://customer.io/docs/api/app/).

operationId: Newsletters_updateTranslation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/NewslettersUpdateTranslationRequest1"
      }
    }
  }
}

Responses

200 Returns the updated newsletter variant.
400 The `language` does not exist.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/newsletters/{newsletter_id}/test_group/{test_group_id}/language/{language}
GET /v1/newsletters/{newsletter_id}/test_groups

Returns information about each test group in a newsletter, including content ids for each group.

operationId: Newsletters_listTestGroups

Responses

200 Returns metadata for each test group in a newsletter.
404 The newsletter or variant does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/newsletters/{newsletter_id}/test_groups

Objects 4 endpoints

GET /v1/object_types

Returns a list of object types in your system. Because each object type is an incrementing ID, you may need to use this endpoint to find the ID of the object type you want to query, create, or modify.

operationId: Objects_getAllObjectTypes

Responses

200 Returns an array of `types`.
401 Unauthorized request. Make sure that you provided the right credentials.
429 Your request is over the 10-per-second limit.
GET /v1/object_types
POST /v1/objects

Use a set of filter conditions to find objects in your workspace. Returns a list of object IDs that you can use to look up object attributes, or to create or modify objects. The list is paged if you have a large number of objects. You can set the `limit` for the number of objects returned, and use the `start` to page through the results. It's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results.

operationId: Objects_findObjectsFilter

Parameters

Name In Required Type Description
start query optional string The token for the page of results you want to return. Responses contain a `next` property. Use this property as the `start` value to return the next page of results.
limit query optional integer The maximum number of results you want to retrieve per page.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ObjectsFindObjectsFilterRequest"
      }
    }
  },
  "description": "The `object_type_id` you want to search in, and the `filter` you want to apply to find objects. Both are required. The object called `object_attribute` requires `type_id`, as well, which should match the `object_type_id`."
}

Responses

200 Returns arrays of `identifiers` and `ids`.
429 Your request is over the 10-per-second limit.
POST /v1/objects
GET /v1/objects/{object_type_id}/{object_id}/attributes

Get a list of attributes for an object. Attributes are things you know about an object—like an account name, billing date, etc.

operationId: Objects_getAttributes

Parameters

Name In Required Type Description
object_type_id path required integer The object type an object belongs to—like "Companies" or "Accounts". Object type IDs begin at `1` and increment for each new type.
object_id path required string The `object_id` or `cio_object_id` of an object, depending on the `id_type` specified in query params. `id_type` defaults to `object_id`.
id_type query optional string

Responses

200 Returns information about the attributes for the `object` specified in the endpoint path.
401 Unauthorized request. Make sure that you provided the right credentials.
429 Your request is over the 10-per-second limit.
GET /v1/objects/{object_type_id}/{object_id}/attributes
GET /v1/objects/{object_type_id}/{object_id}/relationships

Get a list of people people related to an object. You can use the `start` parameter with the `next` property in responses to return pages of results. However, it's possible that you'll see duplicate entries across pages. If you want to export objects or relationships, you may want to use the export feature in our UI to return complete results.

operationId: Objects_getObjectRelationships

Parameters

Name In Required Type Description
object_type_id path required integer The object type an object belongs to—like "Companies" or "Accounts". Object type IDs begin at `1` and increment for each new type.
object_id path required string The `object_id` or `cio_object_id` of an object, depending on the `id_type` specified in query params. `id_type` defaults to `object_id`.
start query optional string The token for the page of results you want to return. Responses contain a `next` property. Use this property as the `start` value to return the next page of results.
limit query optional integer The maximum number of results you want to retrieve per page.
id_type query optional string

Responses

200 Returns an array of `cio_relationships`. Each object in the array represents a person related to the object specified in the endpoint path.
429 Your request is over the 10-per-second limit.
GET /v1/objects/{object_type_id}/{object_id}/relationships

Reporting webhooks 5 endpoints

GET /v1/reporting_webhooks

Return a list of all of your reporting webhooks

operationId: ReportingWebhooks_listReportingWebhooks

Responses

200 Returns an array of your `reporting_webhooks`.
429 Your request is over the 10-per-second limit.
GET /v1/reporting_webhooks
POST /v1/reporting_webhooks

Create a new webhook configuration.

operationId: ReportingWebhooks_createWebhookConfig

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ReportingWebhooksCreateWebhookConfigRequest"
      }
    }
  }
}

Responses

200 Returns your webhook configuration and the ID of the webhook.
400 The request was malformed.
429 Your request is over the 10-per-second limit.
POST /v1/reporting_webhooks
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}
GET /v1/reporting_webhooks/{webhook_id}

Returns information about a specific reporting webhook.

operationId: ReportingWebhooks_getWebhookInfo

Responses

200 Returns an individual webhook configuration.
404 The webhook ID does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/reporting_webhooks/{webhook_id}
PUT /v1/reporting_webhooks/{webhook_id}

Update the configuration of a reporting webhook. Turn events on or off, change the webhook URL, etc.

operationId: ReportingWebhooks_updateConfiguration

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ReportingWebhooksUpdateConfigurationRequest"
      }
    }
  }
}

Responses

200 Returns your webhook configuration and the ID of the webhook.
400 The request was malformed.
404 The webhook ID does not exist.
429 Your request is over the 10-per-second limit.
PUT /v1/reporting_webhooks/{webhook_id}

Segments 7 endpoints

GET /v1/segments

Retrieve a list of all of your segments.

operationId: Segments_list

Responses

200 Returns an array of `segments`. Each object in the response represents an individual segment.
429 Your request is over the 10-per-second limit.
GET /v1/segments
POST /v1/segments

Create a manual segment with a name and a description. This request creates an empty segment.

operationId: Segments_createManualSegment

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SegmentsCreateManualSegmentRequest"
      }
    }
  }
}

Responses

200 Returns the segment ID and other information.
400 The request was malformed.
429 Your request is over the 10-per-second limit.
POST /v1/segments
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}
GET /v1/segments/{segment_id}

Return information about a segment.

operationId: Segments_getSegmentInfo

Responses

200 Returns the information about the segment.
404 The `segment_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/segments/{segment_id}
GET /v1/segments/{segment_id}/customer_count

Returns the membership count for a segment.

operationId: Segments_getCustomerCount

Responses

200 Returns the customer `count` for a segment.
404 The `segment_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/segments/{segment_id}/customer_count
GET /v1/segments/{segment_id}/membership

Returns customers in a segment. This endpoint returns an array of `identifiers`; each object in the array represents a person and contains the identifier values allowed in your workspace. In general, we recommend that you use `identifiers` rather than `ids` to find people, because it provides more information. **If your workspace does not use email as a unique identifier** for people, `identifiers` does not contain `email` values. Go to your [Workspace Settings](https://customer.io/docs/api/app/) to find out which identifiers your workspace supports. The `ids` array only lists ID values for people in a segment; if your workspace uses both `email` and `id` as identifiers, it's possible that a member of your segment does not have an `id` value, resulting in an empty string in the `ids` array.

operationId: Segments_listMembership

Responses

200 Returns an array of customers for a segment.
404 The `segment_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/segments/{segment_id}/membership
GET /v1/segments/{segment_id}/used_by

Use this endpoint to find out which campaigns and newsletters use a segment.

operationId: Segments_getDependencies

Responses

200 Returns the IDs of items that reference the segment.
404 The `segment_id` does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/segments/{segment_id}/used_by

Send messages 3 endpoints

POST /v1/campaigns/{broadcast_id}/triggers

Manually trigger a broadcast, and provide data to populate messages in your trigger. The shape of the request changes based on the type of audience you broadcast to: a segment, a list of emails, a list of customer IDs, a map of users, or a data file. You can reference properties in the `data` object from this request using liquid—`{{trigger.<property_in_data_obj>}}`. If your broadcast produces a `422` error, you can [get more information about the errors](https://customer.io/docs/api/app/) to see what went wrong. **This endpoint is rate-limited to one request every 10 seconds.** After exceeding this, you'll receive a status of 429. Broadcasts are optimized to send messages to a large audience and not for one-to-one interactions. Use our [transactional API](https://customer.io/docs/api/app/) or event-triggered campaigns to respond to your audience on an individual, one-to-one basis.

operationId: SendMessages_triggerBroadcast

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SendMessagesTriggerBroadcastRequest"
      },
      "x-rate-limit": 10
    }
  }
}

Responses

200 A successful request returns the trigger ID.
401 Unauthorized request. Make sure that you provided the right credentials.
404 The `broadcast_id` does not exist.
422 The broadcast has one or more validation errors. You can learn more by [checking your broadcast for errors](https://customer.io/docs/api/app/) using the `trigger_id` found in the error `detail`.
POST /v1/campaigns/{broadcast_id}/triggers
POST /v1/send/email

Send a transactional email. You can send a message using a `transactional_message_id` or send your own `body`, `subject`, and `from` values at send time. The `transactional_message_id` can be either the numerical ID for the template or the *Trigger Name* that you assigned the template. If you want to send your own `body`, `subject`, and `from` values to populate your message at send time, we recommend that you pass a `transactional_message_id` anyway; the values you pass in the request will override the template. You can find your `transactional_message_id` from the code sample in the **Overview** tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the [App API](https://customer.io/docs/api/app/). Customer.io attributes metrics to a `transactional_message_id`; if you don't provide a `transactional_message_id`, we attribute metrics to `"transactional_message_id": 1`. You can create empty transactional messages in the UI and override the `body`, `subject`, and `from` values at send time. This provides flexibility in your integration and lets you organize metrics (rather than gathering metrics for all of your transactional messages against a single ID).

operationId: SendMessages_transactionalEmail

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SendMessagesTransactionalEmailRequest"
      }
    }
  }
}

Responses

200 Returns a unique ID for the delivery.
400 The request was malformed.
POST /v1/send/email
POST /v1/send/push

Send a transactional push. You send a message using a `transactional_message_id` for a transactional push message template composed in the user interface. You can optionally override any of the template values at send time. The `transactional_message_id` can be either the numerical ID for the template or the *Trigger Name* that you assigned the template. You can find your `transactional_message_id` from the code sample in the **Overview** tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the [App API](https://customer.io/docs/api/app/).

operationId: SendMessages_transactionalPush

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SendMessagesTransactionalPushRequest"
      }
    }
  }
}

Responses

200 Returns a unique ID for the delivery.
400 The request was malformed.
POST /v1/send/push

Sender identities 3 endpoints

GET /v1/sender_identities

Returns a list of senders in your workspace. Senders are who your messages are "from".

operationId: SenderIdentities_list

Responses

200 Returns an array of `sender_identities`.
429 Your request is over the 10-per-second limit.
GET /v1/sender_identities
GET /v1/sender_identities/{sender_id}

Returns information about a specific sender.

operationId: SenderIdentities_getSenderInfo

Responses

200 Returns the `sender_identity` you requested.
404 The sender does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/sender_identities/{sender_id}
GET /v1/sender_identities/{sender_id}/used_by

Returns lists of the campaigns and newsletters that use a sender.

operationId: SenderIdentities_getUsageData

Responses

200 Returns arrays of campaigns and newsletters.
404 The sender does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/sender_identities/{sender_id}/used_by

Snippets 3 endpoints

GET /v1/snippets

Returns a list of snippets in your workspace. Snippets are pieces of reusable content, like a common footer for your emails.

operationId: Snippets_list

Responses

200 Returns an array of `snippets`.
GET /v1/snippets
PUT /v1/snippets

In your payload, you'll pass a `name` and `value`. Snippet names are unique. If the snippet `name` does not exist, we'll create a new snippet. If the `name` exists, we'll update the existing snippet.

operationId: Snippets_createOrUpdate

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SnippetsCreateOrUpdateRequest"
      }
    }
  }
}

Responses

200 Returns an array of `snippets`.
400 The request is malformed.
429 Your request is over the 10-per-second limit.
PUT /v1/snippets
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}

Subscription center 1 endpoints

GET /v1/subscription_topics

Returns a list of subscription topics in your workspace. If there are no topics, it returns an empty array.

operationId: SubscriptionCenter_listTopics

Responses

200 Returns an array of `topics`.
429 Your request is over the 10-per-second limit.
GET /v1/subscription_topics

Transactional 9 endpoints

GET /v1/transactional

Returns a list of your transactional messages—the transactional IDs that you use to trigger an individual transactional delivery. This endpoint does not return information about deliveries (instances of a message sent to a person) themselves.

operationId: Transactional_listMessages

Responses

200 Returns an array of transactional messages.
429 Your request is over the 10-per-second limit.
GET /v1/transactional
GET /v1/transactional/{transactional_id}

Returns information about an individual transactional message.

operationId: Transactional_getMessageInfo

Responses

200 Returns metadata for the transactional message ID in the path.
404 The transactional message does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/transactional/{transactional_id}
PUT /v1/transactional/{transactional_id}/content/{content_id}

Update the body of a transactional email. This fully overwrites your existing transactional message. We'll use your updated content for any future transactional requests (`/v1/send/email`), so make sure that you test your message before you update it.

operationId: Transactional_updateMessageContent

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TransactionalUpdateMessageContentRequest"
      }
    }
  }
}

Responses

200 Returns the updated transactional message.
400 The request was malformed.
404 The `transactional_id` or `content_id` in your request do not exist
PUT /v1/transactional/{transactional_id}/content/{content_id}
GET /v1/transactional/{transactional_id}/contents

Returns the content variants of a transactional message, where each variant represents a different language.

operationId: Transactional_listContentVariants

Responses

200 Returns each variant of the transactional message.
400 The request was malformed.
404 The `transactional_id` or `content_id` in your request do not exist.
GET /v1/transactional/{transactional_id}/contents
GET /v1/transactional/{transactional_id}/language/{language}

Returns information about a translation of an individual transactional message, including the message content.

operationId: Transactional_getMessageTranslation

Responses

200 Returns the specified variant of the transactional message.
400 The `language` in your request does not exist.
404 The transactional message does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/transactional/{transactional_id}/language/{language}
PUT /v1/transactional/{transactional_id}/language/{language}

Update the body and other data of a specific language variant for a transactional message. This fully overwrites this specific translation of your existing transactional message.

operationId: Transactional_updateTranslation

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TransactionalUpdateTranslationRequest"
      }
    }
  }
}

Responses

200 Returns the updated variant of the transactional message.
400 The `language` in your request does not exist.
PUT /v1/transactional/{transactional_id}/language/{language}
GET /v1/transactional/{transactional_id}/messages

Returns information about the deliveries (instances of messages sent to individual people) from a transactional message. Provide query parameters to refine the metrics you want to return. Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 12 months, we'll return 12 months of data from the most recent timestamp in your request.

operationId: Transactional_getMessageDeliveries

Responses

200 Returns an array of `messages`. Each object represents a different delivery originating from the transactional ID. For transactional messages, the action, newsletter, campaign, content, and broadcast IDs are all `null`. All deliveries originate from the transactional ID in the path of your request.
404 The transactional message you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/transactional/{transactional_id}/messages
GET /v1/transactional/{transactional_id}/metrics

Returns a list of metrics for a transactional message in `steps` (days, weeks, etc). We return metrics from oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Transactional_getMessageMetrics

Responses

200 Returns transactional message metrics by `series` (with increments are based on the `period` and `step` in your request) for transactional message.
404 The transactional message you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/transactional/{transactional_id}/metrics
GET /v1/transactional/{transactional_id}/metrics/links

Returns metrics for clicked links from a transactional message, both in total and in `series` periods (days, weeks, etc). `series` metrics are ordered oldest to newest (i.e. the 0-index for any result is the oldest step/period). You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

operationId: Transactional_getMessageLinkMetrics

Responses

200 Returns an array of link objects. Each object represents a different link in your transactional message and contains independent metrics.
404 The transactional message you requested does not exist.
429 Your request is over the 10-per-second limit.
GET /v1/transactional/{transactional_id}/metrics/links

Workspaces 1 endpoints

GET /v1/workspaces

Returns a list of workspaces in your account.

operationId: Workspaces_listWorkspaces

Responses

200 Returns an array of `workspaces`.
GET /v1/workspaces

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."
}