---
title: "Make a single request"
method: POST
path: "/api/v2/entity"
tags: ["track_v2"]
---

# Make a single request

`POST /api/v2/entity`

This endpoint lets you create, update, or delete a single person or object—including managing relationships between objects and people. 

An "object" is any kind of non-person entity that you want to associate with one or more people—like a company, an educational course that people signed up for, a product, etc. 

Your request must be smaller than 32kb.

## Request body

- union
  - union
    - object — Add or update a person.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'identify', required — Indicates that the operation will `identify` the item of the specified `type`.
      - `timestamp` integer — The Unix timestamp for when the attribute update occurred. This can be used to control the order of attribute updates when multiple requests are sent in rapid succession.
      - `attributes` object — Attributes that you want to add or update for this person. You can pass properties that aren't defined below to set custom attributes; the defined properties are reserved in the Customer.io Track API.
        - `cio_subscription_preferences` CioSubscriptionPreferences — A person's [subscription center](/journeys/channels/subscriptions/center/) preferences. Use JSON dot notation, such as `cio_subscription_preferences.topics.topic_<id>`, to update one topic without replacing others.
          - `topics` object — Contains active topics in your workspace, named `topic_<id>`.
        - `_update` boolean — If `true`, update only existing people and prevent accidental profile creation. If no person matches the identifiers, the request does nothing.
      - `cio_relationships` object[] — Each object in the array represents a relationship you want to add to, or remove from, a person.
        - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
          - object
            - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
            - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
          - object
            - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
        - `relationship_attributes` RelationshipAttributes — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — Delete a person from your workspace.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'delete', required — Indicates that the operation will `delete` the item of the specified `type`.
    - object — A custom event attributed to a person. You can use events to trigger automations, or reference event information using liquid in your messages.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'event', required — A custom event attributed to the specified person.
      - `id` string, ULID — A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id.
      - `name` string, required — The name of the event. This is how you'll find your event in Customer.io or select it when using events as automation triggers.
      - `timestamp` integer — The Unix timestamp when the event happened.
      - `attributes` object — Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.
        - `recipient` string, email — The email address of the person associated with the event, overriding the `to` field in emails triggered by the event.
        - `from_address` string, email — The address you want to trigger messages from, overriding the `from` field in emails triggered by the event.
        - `reply_to` string, email — The address you want to receive replies to, overriding the `reply to` field for emails triggered by the event.
    - object — 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.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'screen', required — 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.
      - `id` string, ULID — A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id.
      - `name` string, required — The name of the screen a person visited. This is how you'll find and select screen view events in Customer.io.
      - `timestamp` integer — The Unix timestamp when the event happened.
      - `attributes` object — Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.
    - object — 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.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'page', required — 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.
      - `id` string, ULID — A valid ULID used to deduplicate events. Note - our Python and Ruby libraries do not pass this id.
      - `name` string, required — 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.
      - `timestamp` integer — The Unix timestamp when the event happened.
      - `attributes` object — Additional information that you might want to reference in a message using liquid or use to set attributes on the identified person.
        - `path` string — The path portion of the page's URL. Equivalent to the canonical `path` which defaults to `location.pathname` from the DOM API.
        - `referrer` string — The previous page's full URL. Equivalent to `document.referrer` from the DOM API.
        - `search` string — The query string portion of the page's URL. Equivalent to `location.search` from the DOM API.
        - `title` string — The page's title. Equivalent to `document.title` from the DOM API.
        - `url` string — A page's full URL. We first look for the canonical URL. If the canonical URL is not provided, we'll use `location.href` from the DOM API.
        - `keywords` string[] — Page-content keywords, typically like HTML meta keywords. Mainly for publishers with pageview tracking; not collected automatically.
    - object — Associate multiple objects with a person.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'add_relationships', required — This operation associates a person with one or more objects.
      - `cio_relationships` object[], required — Each object in the array represents a relationship you want to add to, or remove from, a person.
        - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
          - object
            - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
            - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
          - object
            - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
        - `relationship_attributes` RelationshipAttributes — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — Remove multiple object relationships from a person.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'delete_relationships', required — This operation deletes an object relationship from one or more people.
      - `cio_relationships` object[], required — Each object in the array represents a relationship you want to add to, or remove from, a person.
        - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
          - object
            - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
            - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
          - object
            - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
        - `relationship_attributes` RelationshipAttributes — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — Assign devices to a person.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'add_device', required — Add a mobile device to a person's profile.
      - `device` object, required — Device information common to the v1 and v2 APIs.
        - `token` string, required — The device token.
        - `last_used` integer — 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.
        - `platform` 'ios' | 'android', required — The device/messaging platform.
        - `attributes` object — 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.
          - `device_os` string — The operating system, including the version, on the device.
          - `device_model` string — The model of the device a person uses.
          - `app_version` string — 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.
          - `cio_sdk_version` string — The version of the Customer.io SDK in the app.
          - `_last_status` '' | 'bounced' | 'sent' | 'suppressed' — 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_locale` string — The device's [IETF language code](/journeys/channels/localization/getting-started/#supported-languages), such as `en-MX` or `es-ES`.
          - `push_enabled` 'true' | 'false' — If `"true"`, the device is opted-in and can receive push notifications.
    - object — Delete devices that belong to a person.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'delete_device', required — Delete a device from a person's profile.
      - `device` object, required — The device you want to remove.
        - `token` string, required — The token of the device you want to remove.
    - object — Merges `secondary` into `primary`, then deletes `secondary`. The operation is not reversible, and `primary` must already exist. See [merging duplicate people](/journeys/people/manage/merge-people/).
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `action` 'merge', required — Merges `secondary` into `primary`, then deletes `secondary`. Not reversible; see [merging duplicate people](/journeys/people/manage/merge-people/).
      - `primary` union, required — The person who remains after the merge, identified by `id`, `email`, or `cio_id`. If email identifiers are disabled in [workspace settings](https://fly.customer.io/workspaces/last/settings/edit), use `id` or `cio_id`.
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `secondary` union, required — The person deleted after the merge, identified by `id`, `email`, or `cio_id`. If email identifiers are disabled in [workspace settings](https://fly.customer.io/workspaces/last/settings/edit), use `id` or `cio_id`.
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
    - object — 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.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'suppress', required — Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from suppressions performed by your email provider.
    - object — 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.
      - `type` 'person', required — The operation modifies a person in Customer.io
      - `identifiers` union, required — The person you want to perform an action for—one of `id`, `email`, `phone`, or `cio_id`. You cannot pass multiple identifiers. You can use `email` and `phone` only if they're enabled as identifiers in your [workspace settings](/accounts/workspaces/overview/#migrate-workspace).
        - object
          - `id` string, required — The ID of a customer profile, analogous to a "person" in the UI.
        - object
          - `email` string, required — The email address of the customer.
        - object
          - `phone` string, required — A person's phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (a leading `+` followed by up to 15 digits). Available only when `phone` is enabled as an identifier in your workspace.
        - object
          - `cio_id` string, required — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
      - `action` 'unsuppress', required — 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.
  - union
    - object — 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.
      - `identifiers` union, required — Custom object identifiers. To create, provide `object_type_id` and `object_id`; to update, use those values or `cio_object_id`.
        - object
          - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
          - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
        - object
          - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
      - `type` 'object', required — The operation modifies a single object—non person data.
      - `action` 'identify', required — Indicates that the operation will `identify` the item of the specified `type`.
      - `attributes` ObjectAttributes — Data that belongs to the object. Pass `null` or an empty string to remove an attribute. Some attributes have special meaning—see [reserved attributes](/journeys/objects-data/objects/create/#reserved-attributes).
      - `cio_relationships` object[] — The people you want to associate with an object. Each object in the array represents a person.
        - `identifiers` union
          - object
            - `id` string — The ID of a customer profile, analogous to a "person" in the UI.
          - object
            - `email` string — The email address of the customer.
          - object
            - `cio_id` string — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
        - `relationship_attributes` object — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — 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.
      - `identifiers` union, required — Custom object identifiers. To create, provide `object_type_id` and `object_id`; to update, use those values or `cio_object_id`.
        - object
          - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
          - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
        - object
          - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
      - `type` 'object', required — The operation modifies a single object—non person data.
      - `action` 'identify_anonymous', required — Indicates that the operation will `identify` the item of the specified `type` and relate it to an `anonymous_id`.
      - `attributes` ObjectAttributes — Data that belongs to the object. Pass `null` or an empty string to remove an attribute. Some attributes have special meaning—see [reserved attributes](/journeys/objects-data/objects/create/#reserved-attributes).
      - `cio_relationships` object[] — 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`.
        - `identifiers` object
          - `anonymous_id` string — 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` object — Coming October 2023 - The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — Delete an object. This also removes relationships from people.
      - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
        - object
          - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
          - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
        - object
          - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
      - `type` 'object', required — The operation modifies a single object—non person data.
      - `action` 'delete', required — Indicates that the operation will `delete` the item of the specified `type`.
    - object — Add relationships between an object and one or more people.
      - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
        - object
          - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
          - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
        - object
          - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
      - `type` 'object', required — The operation modifies a single object—non person data.
      - `action` 'add_relationships', required — This operation associates an object with one or more people.
      - `cio_relationships` object[], required — The people you want to associate with an object. Each object in the array represents a person.
        - `identifiers` union
          - object
            - `id` string — The ID of a customer profile, analogous to a "person" in the UI.
          - object
            - `email` string — The email address of the customer.
          - object
            - `cio_id` string — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
        - `relationship_attributes` object — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
    - object — Delete relationships between an object and one or more people.
      - `identifiers` union — The identifiers for a particular object. You can use either the `object_type_id` and `object_id` (where `object_type_id` represents the type of object and the `object_id` is the individual identifier for the object) or the `cio_object_id`.
        - object
          - `object_type_id` string, required — The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at `1` and increment for each new type.
          - `object_id` string, required — The unique identifier for an object. If you use an `object_id` that already exists, we'll update the object accordingly.
        - object
          - `cio_object_id` string, required — A unique value that Customer.io sets for an object when you create it. This ID is immutable.
      - `type` 'object', required — The operation modifies a single object—non person data.
      - `action` 'delete_relationships', required — This operation deletes an object relationship from one or more people.
      - `cio_relationships` object[], required — The people you want to associate with an object. Each object in the array represents a person.
        - `identifiers` union
          - object
            - `id` string — The ID of a customer profile, analogous to a "person" in the UI.
          - object
            - `email` string — The email address of the customer.
          - object
            - `cio_id` string — A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
        - `relationship_attributes` object — The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
  - DeliveryOperations — The "delivery" type lets you attribute metrics to messages that don't self-report back to Customer.io, like push and in-app notifications.
    - `type` 'delivery', required — The "delivery" type lets you attribute metrics to messages that don't self-report back to Customer.io, like push and in-app notifications.
    - `action` 'event', required — An `event` action indicates a delivery event. Use the `name` to determine the specific metric that you want to attribute to this delivery.
    - `identifiers` object, required — Contains identifiers for the delivery itself.
      - `id` string — The `delivery_id` for the delivery that you want to attribute metrics to.
    - `name` 'opened' | 'converted' | 'delivered', required — The name of the metric you want to attribute to this "delivery".
    - `attributes` object, required — Contains information about the delivery and the individual who received the message.
      - `device_token` string, required — The device that received the message.

## Response `200`

A successful request returns an empty object response.

## Other responses

- `400` — The request was malformed or invalid.
- `401` — Unauthorized request. Make sure that you provided the right credentials.

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) · [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/customer/customer-io-journeys-api-reference/revisions/4b391af7cb06/schema)
