Klaviyo Events API

events

OpenAPI Specification

klaviyo-events-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Klaviyo Accounts Events API
  version: '2026-04-15'
  description: The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
  contact:
    name: Klaviyo Developer Experience Team
    email: developers@klaviyo.com
    url: https://developers.klaviyo.com
  termsOfService: https://www.klaviyo.com/legal/api-terms
  license:
    name: License
    url: https://www.klaviyo.com/legal
servers:
- url: https://a.klaviyo.com
  description: Production
security:
- Klaviyo-API-Key: []
tags:
- name: Events
  description: events
paths:
  /api/events:
    get:
      operationId: get_events
      summary: Get Events
      description: 'Get all events in an account


        Requests can be sorted by the following fields:

        `datetime`, `timestamp`


        [Custom metrics](https://developers.klaviyo.com/en/reference/custom_metrics_api_overview) are not supported in the `metric_id` filter.


        Returns a maximum of 200 events per page.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:read`'
      parameters:
      - name: fields[event]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - datetime
            - event_properties
            - timestamp
            - uuid
        explode: false
      - name: fields[metric]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - integration
            - name
            - updated
        explode: false
      - name: fields[profile]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - external_id
            - first_name
            - image
            - last_event_date
            - last_name
            - locale
            - location
            - location.address1
            - location.address2
            - location.city
            - location.country
            - location.ip
            - location.latitude
            - location.longitude
            - location.region
            - location.timezone
            - location.zip
            - organization
            - phone_number
            - properties
            - title
            - updated
        explode: false
      - name: filter
        in: query
        description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`metric_id`: `equals`<br>`profile_id`: `equals`<br>`profile`: `has`<br>`datetime`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`timestamp`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`'
        schema:
          type: string
          example: equals(metric_id,'example')
      - name: include
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
        schema:
          type: array
          items:
            type: string
            enum:
            - attributions
            - metric
            - profile
        explode: false
      - name: page[cursor]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
        required: false
        schema:
          type: string
      - name: page[size]
        in: query
        description: 'Default: 200. Min: 1. Max: 1000.'
        required: false
        schema:
          type: integer
          default: 200
          maximum: 1000
          minimum: 1
      - name: sort
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
        schema:
          type: string
          enum:
          - datetime
          - -datetime
          - timestamp
          - -timestamp
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetEventResponseCollectionCompoundDocument'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:read
    post:
      operationId: create_event
      summary: Create Event
      description: 'Create a new event to track a profile''s activity.


        Note that this endpoint allows you to create a new profile or update an existing profile''s properties.


        At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.


        Successful response indicates that the event was validated and submitted for processing, but does not guarantee that processing is complete.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:write`'
      parameters:
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/EventCreateQueryV2'
      responses:
        '202':
          description: Success
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:write
  /api/events/{id}:
    get:
      operationId: get_event
      summary: Get Event
      description: 'Get an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`


        **Scopes:**

        `events:read`'
      parameters:
      - name: id
        in: path
        description: ID of the event
        required: true
        schema:
          description: ID of the event
          type: string
      - name: fields[event]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - datetime
            - event_properties
            - timestamp
            - uuid
        explode: false
      - name: fields[metric]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - integration
            - name
            - updated
        explode: false
      - name: fields[profile]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - external_id
            - first_name
            - image
            - last_event_date
            - last_name
            - locale
            - location
            - location.address1
            - location.address2
            - location.city
            - location.country
            - location.ip
            - location.latitude
            - location.longitude
            - location.region
            - location.timezone
            - location.zip
            - organization
            - phone_number
            - properties
            - title
            - updated
        explode: false
      - name: include
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
        schema:
          type: array
          items:
            type: string
            enum:
            - attributions
            - metric
            - profile
        explode: false
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetEventResponseCompoundDocument'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 10/s
        steady: 150/m
      x-klaviyo-scopes:
      - events:read
  /api/event-bulk-create-jobs:
    post:
      operationId: bulk_create_events
      summary: Bulk Create Events
      description: 'Create a batch of events for one or more profiles.


        Note that this endpoint allows you to create new profiles or update existing profile properties.


        At a minimum, profile and metric objects should include at least one profile identifier (e.g., `id`, `email`, or `phone_number`) and the metric `name`, respectively.


        Accepts up to 1,000 events per request. The maximum allowed payload size is 5MB. A single string cannot exceed 100KB.<br><br>*Rate limits*:<br>Burst: `10/s`<br>Steady: `150/m`


        **Scopes:**

        `events:write`'
      parameters:
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/EventsBulkCreateJob'
      responses:
        '202':
          description: Success
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-operation-aliases:
      - create_event_bulk_create_job
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 10/s
        steady: 150/m
      x-klaviyo-scopes:
      - events:write
  /api/events/{id}/metric:
    get:
      operationId: get_metric_for_event
      summary: Get Metric for Event
      description: 'Get the metric for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:read`

        `metrics:read`'
      parameters:
      - name: id
        in: path
        description: ID of the event
        required: true
        schema:
          description: ID of the event
          type: string
      - name: fields[metric]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - integration
            - name
            - updated
        explode: false
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetMetricResponse'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-operation-aliases:
      - get_event_metric
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:read
      - metrics:read
  /api/events/{id}/relationships/metric:
    get:
      operationId: get_metric_id_for_event
      summary: Get Metric ID for Event
      description: 'Get a list of related Metrics for an Event<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:read`

        `metrics:read`'
      parameters:
      - name: id
        in: path
        description: ID of the event
        required: true
        schema:
          description: ID of the event
          type: string
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetEventMetricRelationshipResponse'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-operation-aliases:
      - get_event_relationships_metric
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:read
      - metrics:read
  /api/events/{id}/profile:
    get:
      operationId: get_profile_for_event
      summary: Get Profile for Event
      description: 'Get the profile associated with an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:read`

        `profiles:read`'
      parameters:
      - name: id
        in: path
        description: ID of the event
        required: true
        schema:
          description: ID of the event
          type: string
      - name: additional-fields[profile]
        in: query
        description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics'''
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - subscriptions
            - predictive_analytics
        explode: false
      - name: fields[profile]
        in: query
        description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - external_id
            - first_name
            - image
            - last_event_date
            - last_name
            - locale
            - location
            - location.address1
            - location.address2
            - location.city
            - location.country
            - location.ip
            - location.latitude
            - location.longitude
            - location.region
            - location.timezone
            - location.zip
            - organization
            - phone_number
            - predictive_analytics
            - predictive_analytics.average_days_between_orders
            - predictive_analytics.average_order_value
            - predictive_analytics.churn_probability
            - predictive_analytics.expected_date_of_next_order
            - predictive_analytics.historic_clv
            - predictive_analytics.historic_number_of_orders
            - predictive_analytics.predicted_clv
            - predictive_analytics.predicted_number_of_orders
            - predictive_analytics.ranked_channel_affinity
            - predictive_analytics.total_clv
            - properties
            - subscriptions
            - subscriptions.email
            - subscriptions.email.marketing
            - subscriptions.email.marketing.can_receive_email_marketing
            - subscriptions.email.marketing.consent
            - subscriptions.email.marketing.consent_timestamp
            - subscriptions.email.marketing.custom_method_detail
            - subscriptions.email.marketing.double_optin
            - subscriptions.email.marketing.last_updated
            - subscriptions.email.marketing.list_suppressions
            - subscriptions.email.marketing.method
            - subscriptions.email.marketing.method_detail
            - subscriptions.email.marketing.suppression
            - subscriptions.mobile_push
            - subscriptions.mobile_push.marketing
            - subscriptions.mobile_push.marketing.can_receive_push_marketing
            - subscriptions.mobile_push.marketing.consent
            - subscriptions.mobile_push.marketing.consent_timestamp
            - subscriptions.sms
            - subscriptions.sms.marketing
            - subscriptions.sms.marketing.can_receive_sms_marketing
            - subscriptions.sms.marketing.consent
            - subscriptions.sms.marketing.consent_timestamp
            - subscriptions.sms.marketing.last_updated
            - subscriptions.sms.marketing.method
            - subscriptions.sms.marketing.method_detail
            - subscriptions.sms.transactional
            - subscriptions.sms.transactional.can_receive_sms_transactional
            - subscriptions.sms.transactional.consent
            - subscriptions.sms.transactional.consent_timestamp
            - subscriptions.sms.transactional.last_updated
            - subscriptions.sms.transactional.method
            - subscriptions.sms.transactional.method_detail
            - subscriptions.whatsapp
            - subscriptions.whatsapp.conversational
            - subscriptions.whatsapp.conversational.can_receive
            - subscriptions.whatsapp.conversational.consent
            - subscriptions.whatsapp.conversational.consent_timestamp
            - subscriptions.whatsapp.conversational.created_timestamp
            - subscriptions.whatsapp.conversational.last_updated
            - subscriptions.whatsapp.conversational.metadata
            - subscriptions.whatsapp.conversational.phone_number
            - subscriptions.whatsapp.conversational.valid_until
            - subscriptions.whatsapp.marketing
            - subscriptions.whatsapp.marketing.can_receive
            - subscriptions.whatsapp.marketing.consent
            - subscriptions.whatsapp.marketing.consent_timestamp
            - subscriptions.whatsapp.marketing.created_timestamp
            - subscriptions.whatsapp.marketing.last_updated
            - subscriptions.whatsapp.marketing.metadata
            - subscriptions.whatsapp.marketing.phone_number
            - subscriptions.whatsapp.marketing.valid_until
            - subscriptions.whatsapp.transactional
            - subscriptions.whatsapp.transactional.can_receive
            - subscriptions.whatsapp.transactional.consent
            - subscriptions.whatsapp.transactional.consent_timestamp
            - subscriptions.whatsapp.transactional.created_timestamp
            - subscriptions.whatsapp.transactional.last_updated
            - subscriptions.whatsapp.transactional.metadata
            - subscriptions.whatsapp.transactional.phone_number
            - subscriptions.whatsapp.transactional.valid_until
            - title
            - updated
        explode: false
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetProfileResponse'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-operation-aliases:
      - get_event_profile
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:read
      - profiles:read
  /api/events/{id}/relationships/profile:
    get:
      operationId: get_profile_id_for_event
      summary: Get Profile ID for Event
      description: 'Get profile [relationships](https://developers.klaviyo.com/en/reference/api_overview#relationships) for an event with the given event ID.<br><br>*Rate limits*:<br>Burst: `350/s`<br>Steady: `3500/m`


        **Scopes:**

        `events:read`

        `profiles:read`'
      parameters:
      - name: id
        in: path
        description: ID of the event
        required: true
        schema:
          description: ID of the event
          type: string
      - name: revision
        in: header
        description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
        required: true
        schema:
          type: string
          default: '2026-04-15'
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/GetEventProfileRelationshipResponse'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      tags:
      - Events
      x-klaviyo-operation-aliases:
      - get_event_relationships_profile
      x-klaviyo-pre-release: None
      x-klaviyo-ratelimit:
        burst: 350/s
        steady: 3500/m
      x-klaviyo-scopes:
      - events:read
      - profiles:read
components:
  schemas:
    PushTokenEnum:
      type: string
      enum:
      - push-token
    GetMetricResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MetricResponseObjectResource'
        links:
          $ref: '#/components/schemas/ObjectLinks'
      required:
      - data
    EventProfileCreateQueryResourceObject:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ProfileEnum'
        id:
          description: Primary key that uniquely identifies this profile. Generated by Klaviyo.
          type: string
          nullable: true
        attributes:
          type: object
          properties:
            email:
              description: Individual's email address
              type: string
              example: sarah.mason@klaviyo-demo.com
              nullable: true
            phone_number:
              description: Individual's phone number in E.164 format
              type: string
              example: '+15005550006'
              nullable: true
            external_id:
              description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system.
              type: string
              nullable: true
            anonymous_id:
              type: string
              nullable: true
            _kx:
              description: 'Also known as the `exchange_id`, this is an encrypted identifier used for identifying a

                profile by Klaviyo''s web tracking.


                You can use this field as a filter when retrieving profiles via the Get Profiles endpoint.'
              type: string
              nullable: true
            first_name:
              description: Individual's first name
              type: string
              example: Sarah
              nullable: true
            last_name:
              description: Individual's last name
              type: string
              example: Mason
              nullable: true
            organization:
              description: Name of the company or organization within the company for whom the individual works
              type: string
              example: Example Corporation
              nullable: true
            locale:
              description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2)
              type: string
              example: en-US
              nullable: true
            title:
              description: Individual's job title
              type: string
              example: Regional Manager
              nullable: true
            image:
              description: URL pointing to the location of a profile image
              type: string
              example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg
              nullable: true
            location:
              $ref: '#/components/schemas/ProfileLocation'
              nullable: true
            properties:
              description: An object containing key/value pairs for any custom properties assigned to this profile
              type: object
              example:
                pseudonym: Dr. Octopus
              nullable: true
            meta:
              $ref: '#/components/schemas/OnsiteProfileMeta'
              nullable: true
      required:
      - type
      - attributes
    EventsBulkCreateQueryResourceObject:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/EventBulkCreateEnum'
        attributes:
          type: object
          properties:
            backfill:
              description: 'When true, the event is recorded but does NOT trigger flows. Use this when backfilling

                historical events so existing flow definitions do not re-fire on events that already

                fired in the past.'
              type: boolean
              default: false
              nullable: true
            profile:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/OnsiteProfileCreateQueryResourceObject'
              required:
              - data
            events:
              type: object
              properties:
                data:
                  type: array
                  items:
                    $ref: '#/components/schemas/BaseEventCreateQueryBulkEntryResourceObject'
              required:
              - data
          required:
          - profile
          - events
      required:
      - type
      - attributes
    SMSTransactional:
      type: object
      properties:
        can_receive_sms_transactional:
          description: Whether or not this profile is subscribed to receive transactional SMS.
          type: boolean
        consent:
          description: The consent status for SMS Transactional.
          type: string
          example: SUBSCRIBED
        consent_timestamp:
          description: The timestamp when consent was recorded or updated for Transactional SMS messaging , in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
        method:
          description: The method by which the profile was subscribed to Transactional SMS messaging .
          type: string
          example: TEXT
          nullable: true
        method_detail:
          description: Additional details about the method which the profile was subscribed to Transactional SMS messaging. This may be empty if no details were provided.
          type: string
          example: JOIN
          default: ''
          nullable: true
        last_updated:
          description: The timestamp when the SMS consent record was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
      required:
      - can_receive_sms_transactional
      - consent
    EmailMarketing:
      type: object
      properties:
        can_receive_email_marketing:
          description: Whether or not this profile has implicit consent to receive email marketing. True if it does profile does not have any global suppressions.
          type: boolean
        consent:
          description: The consent status for email marketing.
          type: string
          example: SUBSCRIBED
        consent_timestamp:
          description: The timestamp when consent was recorded or updated for email marketing, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
        last_updated:
          description: The timestamp when a field on the email marketing object was last modified.
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
        method:
          description: The method by which the profile was subscribed to email marketing.
          type: string
          example: PREFERENCE_PAGE
          nullable: true
        method_detail:
          description: Additional details about the method by which the profile was subscribed to email marketing. This may be empty if no details were provided.
          type: string
          example: mydomain.com/signup
          default: ''
          nullable: true
        custom_method_detail:
          description: Additional detail provided by the caller when the profile was subscribed. This may be empty if no details were provided.
          type: string
          example: marketing drive
          nullable: true
        double_optin:
          description: Whether the profile was subscribed to email marketing using a double opt-in.
          type: boolean
          example: true
          nullable: true
        suppression:
          description: The global email marketing suppression for this profile.
          type: array
          items:
            $ref: '#/components/schemas/EmailMarketingSuppression'
          nullable: true
        list_suppressions:
          description: The list suppressions for this profile.
          type: array
          items:
            $ref: '#/components/schemas/EmailMarketingListSuppression'
          nullable: true
      required:
      - can_receive_email_marketing
      - consent
    CampaignMessageEnum:
      type: string
      enum:
      - campaign-message
    WhatsappTransactionalChannel:
      type: object
      properties:
        consent:
          description: The consent status for the channel.
          type: string
          example: SUBSCRIBED
        consent_timestamp:
          description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
        last_updated:
          description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '2023-02-21T20:07:38+00:00'
          nullable: true
        created_timestamp:
          description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm).
          type: string
          format: date-time
          example: '202

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/klaviyo/refs/heads/main/openapi/klaviyo-events-api-openapi.yml