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_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_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_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_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_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_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_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"
}
}
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."
}
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."
}
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."
}
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."
}
}
}
parent_action_id
{
"type": "integer",
"example": 1,
"readOnly": true,
"description": "The ID of the parent action, if the action occurred within a campaign and has a parent (like a randomized split, etc)."
}
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."
}
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."
}
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."
}
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."
}
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."
}
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"
}
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."
}
}
}
]
}
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."
}
}
}
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."
}
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."
}
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."
}
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."
}
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"
}
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"
}
}
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."
}
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."
}
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`."
}
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."
}
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`."
}
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."
}
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."
}
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."
}
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."
}
pushBody
{
"type": "string",
"description": "The body of your push notification."
}
pushImage
{
"type": "string",
"description": "The URL of an HTTPS image that you want to use for your message."
}
pushLink
{
"type": "string",
"description": "A deep link (to a page in your app), or a link to a web page."
}
pushTitle
{
"type": "string",
"description": "The title of your push notification."
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
}
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."
}
}
}
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."
}