Customer.io · Schema

campaignObject

Behavioral DataBroadcastCampaignsCDPCustomer DataCustomer Data PlatformData IngestionEmailEvent TrackingMarketing AutomationMessagingPush NotificationsSegmentsSMSTransactional EmailA2A
View JSON Schema on GitHub

JSON Schema

customer-io-campaign-object-schema.json Raw ↑
{
  "$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
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/customer-io-campaign-object"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.