{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/customer-io/main/json-schema/customer-io-campaign-object-schema.json", "title": "campaignObject", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/customer-io-journeys-api-openapi.yml#/components/schemas/campaignObject", "x-scalar-ignore": true, "type": "object", "oneOf": [ { "title": "Segment", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "segment" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "trigger_segment_ids": { "description": "A list of segments used in the automation trigger, returned if the automation trigger included one or more segment conditions.", "type": "array", "items": { "type": "integer" } }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" }, "msg_templates": { "type": "array", "deprecated": true, "description": "Indicates the message templates used in this automation.", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The message type the template represents.", "enum": [ "email", "sms", "push", "slack" ] }, "id": { "type": "integer", "description": "The identifier for the template." } } } } } }, { "title": "Event", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "event" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" }, "event_name": { "description": "The name of the event. How you reference the event in automations or segments.", "type": "string" } } }, { "title": "Form", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "form" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" } } }, { "title": "Date", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "date" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" }, "frequency": { "description": "How often a person will receive this automation based on the date specified in the automation trigger.", "type": "string", "enum": [ "once", "monthly", "yearly" ] }, "date_attribute": { "description": "The attribute on people's profiles you use to configure the date of the automation trigger.", "type": "string" }, "timezone": { "description": "The time zone you set to configure the date of the automation trigger.", "type": "string" }, "use_customer_timezone": { "description": "If you chose \"the user's time zone\" while configuring the date of the automation trigger, this is `true`. Otherwise, you set a specific time zone so it's `false`.", "type": "boolean" }, "start_hour": { "description": "The hour you set the automation to trigger. Follows the 24-hour clock.", "type": "integer" }, "start_minutes": { "description": "The minutes you set the automation to trigger. Follows the 24-hour clock.", "type": "integer" } } }, { "title": "Relationship", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "relationship" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" }, "object_type_id": { "$ref": "#/$defs/object_type_id_trigger" }, "filter_object_attributes": { "$ref": "#/$defs/filter_object_attributes" }, "filter_relationship_attributes": { "$ref": "#/$defs/filter_relationship_attributes" }, "audience": { "description": "Defines the people who will start a journey in your automation.", "type": "object", "properties": { "type": { "description": "The selected audience type. `0` means person added to object; `1` can mean every or certain people in the object. Filters appear only for subset audiences.", "type": "integer", "minimum": 0, "maximum": 1 }, "person_filters": { "description": "Returns the profile attributes you filtered the audience by, if any. Only applies to `type 1`, \"Certain people in the object\".", "type": "object" }, "relationship_filters": { "description": "Returns the relationship attributes you filtered the audience by, if any. Only applies to `type 1`, \"Certain people in the object\".", "type": "object" } } }, "relationship_attribute_triggers": { "description": "A list of relationship attributes used to trigger the automation.", "type": "object" } } }, { "title": "Object", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "object" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "filter_segment_ids": { "$ref": "#/$defs/filter_segment_ids" }, "object_type_id": { "$ref": "#/$defs/object_type_id_trigger" }, "filter_object_attributes": { "$ref": "#/$defs/filter_object_attributes" }, "filter_relationship_attributes": { "$ref": "#/$defs/filter_relationship_attributes" }, "audience": { "description": "Defines the people who will start a journey in your automation.", "type": "object", "properties": { "type": { "description": "The type of audience selected. \"Every person in the object\" is `1`. \"Certain people in the object\" is also `1`. \"Certain people\" will always have one or more audience filters (see below). \"Every person\" will never have an audience filter.", "type": "integer", "minimum": 0, "maximum": 1 }, "person_filters": { "description": "Returns the profile attributes you filtered the audience by, if any. Only applies to `type 1`, \"Certain people in the object\".", "type": "object" }, "relationship_filters": { "description": "Returns the relationship attributes you filtered the audience by, if any. Only applies to `type 1`, \"Certain people in the object\".", "type": "object" } } }, "object_attribute_triggers": { "description": "A list of object attributes used to trigger the automation.", "type": "object" } } }, { "title": "Webhook", "type": "object", "properties": { "id": { "$ref": "#/$defs/campaign_id" }, "deduplicate_id": { "$ref": "#/$defs/deduplicate_id" }, "name": { "$ref": "#/$defs/campaign_name" }, "description": { "$ref": "#/$defs/campaign_description" }, "type": { "type": "string", "deprecated": true, "description": "The type of automation trigger. **Sunsetting on March 30, 2025**", "enum": [ "webhook" ] }, "created": { "$ref": "#/$defs/created" }, "updated": { "$ref": "#/$defs/updated" }, "active": { "$ref": "#/$defs/active" }, "state": { "$ref": "#/$defs/state" }, "actions": { "$ref": "#/$defs/campaign_actions" }, "first_started": { "$ref": "#/$defs/first_started" }, "tags": { "$ref": "#/$defs/tags" }, "webhook_id": { "description": "The ID of the webhook trigger generated by Customer.io.", "type": "integer" } } } ], "$defs": { "active": { "x-scalar-ignore": true, "type": "boolean", "description": "If true, the automation is active and can still send messages." }, "campaign_actions": { "x-scalar-ignore": true, "type": "array", "description": "An array of actions contained within the automation.", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The action type." }, "id": { "type": "integer", "description": "The identifier for the action." } } } }, "campaign_description": { "x-scalar-ignore": true, "type": "string", "description": "The description of the automation, if one was set." }, "campaign_id": { "x-scalar-ignore": true, "description": "The identifier for an automation.", "type": "integer" }, "campaign_name": { "x-scalar-ignore": true, "type": "string", "description": "The name of the automation.", "readOnly": true }, "created": { "x-scalar-ignore": true, "type": "integer", "format": "unix timestamp", "description": "The date time when the referenced ID was created.", "readOnly": true }, "deduplicate_id": { "x-scalar-ignore": true, "type": "string", "readOnly": true, "description": "An identifier in the format `id:timestamp` where the id is for the object you're working with (Automations, Deliveries, Exports, Identities, One-time sends, Segments, and Templates), and the timestamp is the last time the object was updated." }, "filter_object_attributes": { "x-scalar-ignore": true, "description": "A list of object attributes used in the automation filter, returned if the automation audience was filtered on one or more object attributes.", "type": "string" }, "filter_relationship_attributes": { "x-scalar-ignore": true, "description": "A list of relationship attributes used in the automation filter, returned if the automation audience was filtered on one or more relationship attributes.", "type": "string" }, "filter_segment_ids": { "x-scalar-ignore": true, "description": "A list of segments used in the automation filter, returned if the automation audience was filtered on one or more segments.", "type": "array", "items": { "type": "integer" } }, "first_started": { "x-scalar-ignore": true, "type": "integer", "format": "unix timestamp", "description": "The date and time when you first started the automation and it first became eligible to be triggered." }, "object_type_id_trigger": { "x-scalar-ignore": true, "description": "The object type ID of the trigger.", "type": "integer" }, "state": { "x-scalar-ignore": true, "type": "string", "description": "The status of the automation.", "enum": [ "running", "draft", "stopped" ] }, "tags": { "x-scalar-ignore": true, "type": "array", "description": "An array of tags you set on this automation.", "items": { "type": "string" } }, "updated": { "x-scalar-ignore": true, "type": "integer", "format": "unix timestamp", "description": "The date time when the referenced ID was last updated.", "readOnly": true } } }