Customer.io Entity API

Track API v2 entity endpoint for creating and managing people and objects using a unified request format.

OpenAPI Specification

customer-io-entity-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Customer.io App Activities Entity API
  description: The Customer.io App API enables developers to manage workspace resources and send messages programmatically. It provides endpoints for sending transactional messages, triggering broadcasts, managing customers and segments, retrieving campaign and newsletter data, and exporting customer information. The API uses bearer token authentication with an App API key and is designed for operations that go beyond data ingestion, such as retrieving metrics, managing message templates, and automating outbound communications from Customer.io.
  version: 1.0.0
  contact:
    name: Customer.io Support
    url: https://customer.io/contact
  termsOfService: https://customer.io/legal/terms-of-service
servers:
- url: https://api.customer.io/v1
  description: US Production Server
- url: https://api-eu.customer.io/v1
  description: EU Production Server
security:
- bearerAuth: []
tags:
- name: Entity
  description: Track API v2 entity endpoint for creating and managing people and objects using a unified request format.
paths:
  ../v2/entity:
    post:
      operationId: trackEntity
      summary: Track a single entity
      description: The v2 entity endpoint provides a unified way to create, update, and track events for people and objects. The request body specifies the entity type, action, identifiers, and attributes or event data. This endpoint determines what to do based on the type and action in the payload.
      tags:
      - Entity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityRequest'
      responses:
        '200':
          description: Entity operation completed successfully.
        '400':
          description: Bad request. Invalid payload structure.
        '401':
          description: Unauthorized. Invalid Site ID or API key.
components:
  schemas:
    EntityRequest:
      type: object
      required:
      - type
      - action
      - identifiers
      description: A v2 entity operation request. The type and action determine what operation is performed.
      properties:
        type:
          type: string
          description: The entity type.
          enum:
          - person
          - object
          - delivery
        action:
          type: string
          description: The action to perform on the entity.
          enum:
          - identify
          - delete
          - suppress
          - unsuppress
          - event
          - add_device
          - delete_device
          - delete_relationship
          - merge
        identifiers:
          type: object
          description: The identifiers used to locate or create the entity. For people this includes id, email, or cio_id. For objects this includes object_type_id and object_id.
          additionalProperties: true
        attributes:
          type: object
          description: Attributes to set on the entity. Used with identify actions.
          additionalProperties: true
        name:
          type: string
          description: The event name. Required when action is event.
        data:
          type: object
          description: Custom data for events.
          additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using your App API key. Pass the key in the Authorization header as Bearer {app_api_key}.
externalDocs:
  description: App API Documentation
  url: https://docs.customer.io/integrations/api/app/