> ## Documentation Index
> Fetch the complete documentation index at: https://developers.phonovation.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Send Events

> Use this endpoint to batch import People events, including historical events that occurred up to `30` days ago. Batch items must reference an existing person profile and predefined [event type](https://portal.phonovation.com/people/events/definitions). You can send up to `5000` events in a single batch. Each individual item within a batch must not exceed `512,000` bytes. The entire batch, which includes all items combined, must not exceed `15,728,640` bytes.<br>Each event in the batch must reference an existing person profile and a predefined event type. If an event references a person identifier that does not match any existing profile, a new `CUSTOMER` profile will automatically be created for that identifier. <br>**Note**: The entire batch will fail to import if any single event fails due to missing event type, properties, etc.

**Required scope:** Enable one of: `people:manage`, `people:use`.



## OpenAPI

````yaml /openapi/phonovation-whatsapp.json post /people/3/events
openapi: 3.1.0
info:
  title: Phonovation Messaging APIs
  description: >-
    OpenAPI specification for Phonovation messaging, customer engagement, and
    platform APIs.
  contact:
    name: Phonovation support
    email: support@phonovation.com
  version: 3.250.0
  x-generatedAt: '2026-10-15T11:28:56.135064395Z'
servers:
  - url: https://api.messaging.phonovation.com
    description: Phonovation Messaging API production server
security: []
tags:
  - name: customer-engagement
    description: >
      Complete solutions that will help you drive better outcomes for your
      customers and business across the entire customer journey.
    x-type: category
    x-displayName: Customer Engagement
  - name: people
    description: >
      Build rich profiles for each person to create audience segments for more
      precise targeting. Manage duplicates and import your data over API.


      Events reflect actions that end users take on your website or in your
      mobile application.


      Events API is a robust way to send those events to Phonovation. Event can
      be sent only to an existing person in People module and an event
      definition should be created beforehand to describe contents of the event.


      Other events tracking options:

      * [ JavaScript SDK ](https://github.com/phonovation/people-web-sdk)

      * [iOS
      SDK](https://github.com/phonovation/mobile-messaging-sdk-ios/wiki/Events)

      * [Android
      SDK](https://github.com/phonovation/mobile-messaging-sdk-android/wiki/Events)
    x-type: product
    x-displayName: People
  - name: person-profile
    description: ''
    x-type: section
    x-displayName: Person profile
  - name: company-profile
    description: ''
    x-type: section
    x-displayName: Company profile
  - name: tags
    description: ''
    x-type: section
    x-displayName: Tags
  - name: custom-attributes
    description: ''
    x-type: section
    x-displayName: Custom attributes
  - name: custom-attributes-lists
    description: ''
    x-type: section
    x-displayName: 'Custom attributes: Lists'
  - name: contact-information:-push
    description: ''
    x-type: section
    x-displayName: 'Contact Information: Push'
  - name: events
    description: ''
    x-type: section
    x-displayName: Events
  - name: segments
    description: ''
    x-type: section
    x-displayName: Segments
  - name: moments
    description: >
      Use Moments to set up and manage automated messaging campaigns with your
      customers by building conversation workflows.
    x-type: product
    x-displayName: Moments
  - name: flow
    description: >
      [Flow](https://www.phonovation.com/docs/moments/manage-flow) is the
      Phonovation communication builder that helps you create and manage
      messaging campaigns. The Flows API allows you to add or remove people from
      communication programmatically for flows with an [active
      status](https://www.phonovation.com/docs/moments/manage-flow#launch-create).


      Use the Add Participants to flow endpoint to a person or batches of
      persons (between 1-1000 persons). The method works asynchronously to queue
      and process participants at a rate of 10 requests per second. For
      reporting of operation results, use the notifyUrl  field to provide a URL
      of your callback server that will receive a status report or use the Get a
      report on participants added to Flow endpoint.
    x-type: module
    x-displayName: Flow
  - name: conversations
    description: >-
      Conversations is a solution that allows Enterprises to engage in
      conversations with their customers over multiple channels. The solution is
      available either as a web-based cloud platform web interface or over HTTP
      API for 2-way messaging over SMS, WhatsApp, Viber, and Facebook messenger.
      It supports conversation threading, conversation management including
      queues and routing, agent assignment, resolution management and
      conversation history overview.
    x-type: product
    x-displayName: Conversations
  - name: conversation-management
    description: ''
    x-type: section
    x-displayName: Conversation management
  - name: conversation-tags
    description: ''
    x-type: section
    x-displayName: Conversation tags
  - name: conversation-messages
    description: ''
    x-type: section
    x-displayName: Conversation messages
  - name: conversation-events
    description: ''
    x-type: section
    x-displayName: Conversation events
  - name: conversation-notes
    description: ''
    x-type: section
    x-displayName: Conversation notes
  - name: conversation-agents
    description: ''
    x-type: section
    x-displayName: Conversation agents
  - name: conversation-queues
    description: ''
    x-type: section
    x-displayName: Conversation queues
  - name: conversation-routing
    description: ''
    x-type: section
    x-displayName: Conversation routing
  - name: bots
    description: ''
    x-type: section
    x-displayName: Bots
  - name: metadata
    description: ''
    x-type: section
    x-displayName: Metadata
  - name: templates
    description: ''
    x-type: section
    x-displayName: Templates
  - name: conversation-forms
    description: ''
    x-type: section
    x-displayName: Conversation forms
  - name: account-configuration
    description: ''
    x-type: section
    x-displayName: Account Configuration
  - name: agent-configuration-calls
    description: ''
    x-type: section
    x-displayName: Agent Configuration (Calls)
  - name: outbound-call-conversation-calls
    description: ''
    x-type: section
    x-displayName: Outbound Call Conversation (Calls)
  - name: waiting-strategies-calls
    description: ''
    x-type: section
    x-displayName: Waiting Strategies (Calls)
  - name: recording-configuration-calls
    description: ''
    x-type: section
    x-displayName: Recording Configuration (Calls)
  - name: recording-metadata-calls
    description: ''
    x-type: section
    x-displayName: Recording metadata (Calls)
  - name: recording-calls
    description: ''
    x-type: section
    x-displayName: Recording (Calls)
  - name: wrap-up-configuration-calls
    description: ''
    x-type: section
    x-displayName: Wrap Up Configuration (Calls)
  - name: wrap-up-time-calls
    description: ''
    x-type: section
    x-displayName: Wrap Up Time (Calls)
  - name: transfers-calls
    description: ''
    x-type: section
    x-displayName: Transfers (Calls)
  - name: transfer-to-external-number-configuration-calls
    description: ''
    x-type: section
    x-displayName: Transfer to External Number Configuration (Calls)
  - name: transfer-strategy-calls
    description: ''
    x-type: section
    x-displayName: Transfer Strategy (Calls)
  - name: call-hold-calls
    description: ''
    x-type: section
    x-displayName: Call Hold (Calls)
  - name: hold-configuration-calls
    description: ''
    x-type: section
    x-displayName: Hold Configuration (Calls)
  - name: call-timeout-calls
    description: ''
    x-type: section
    x-displayName: Call Timeout (Calls)
  - name: working-hours
    description: ''
    x-type: section
    x-displayName: Working Hours
  - name: tts-options-calls
    description: ''
    x-type: section
    x-displayName: TTS options (Calls)
  - name: away-audio-messages
    description: ''
    x-type: section
    x-displayName: Away Audio Messages
  - name: web-forms
    description: ''
    x-type: section
    x-displayName: Web Forms
  - name: answers
    description: >
      Answers is the Phonovation fully-encompassed chatbot building platform
      that enables you to build, test, and deploy highly customized chatbots of
      different types. Multiple channels are supported on Answers like WhatsApp,
      Facebook Messenger, Live Chat, Apple Business Chat, Viber, Google Business
      Messaging and other. Communication with Bot is achieved through existing
      Conversations solution infrastructure which enables integration and
      switching between communicating with bot and a live agent. Processing can
      start by receiving MO message or by receiving a trigger event. Users can
      manage bots (create, update, delete, start and stop bots) through a web
      interface. For more details, visit the [Answers
      documentation](https://www.phonovation.com/docs/answers).


      Answers API is in Early access stage.
    x-type: product
    x-displayName: Answers
  - name: answers-testing-start-test
    description: ''
    x-type: section
    x-displayName: Start Answers test
  - name: answers-testing-stop-test
    description: ''
    x-type: section
    x-displayName: Stop Answers test
  - name: answers-testing-send-message
    description: ''
    x-type: section
    x-displayName: Send inbound message to test
  - name: common-assets
    description: >
      Reuse assets created on Phonovation SaaS products in order to recreate
      configuration more easily on a single or across multiple accounts. Export
      or share Moments flows, Answers chatbots or other SaaS assets from your
      account and import it on another one.  


      This feature is in Early access stage.
    x-type: product
    x-displayName: Common Assets
  - name: saas-resource-export
    description: ''
    x-type: section
    x-displayName: Export resource
  - name: saas-resource-import
    description: ''
    x-type: section
    x-displayName: Import resource
  - name: saas-resource-share
    description: ''
    x-type: section
    x-displayName: Share resource
  - name: saas-status-request
    description: ''
    x-type: section
    x-displayName: Get SaaS request status
  - name: knowledge-base
    description: >-
      Knowledge Base is a centralized content management system for creating,
      organizing, and retrieving articles, attachments, and structured content.
      Content is organized into categories, folders, and a hierarchical content
      tree. Articles support draft and published workflow statuses, tagging,
      commenting, and file attachments.
    x-type: product
    x-displayName: Knowledge Base
  - name: knowledge-base-search
    description: ''
    x-type: section
    x-displayName: Search
  - name: knowledge-base-articles
    description: ''
    x-type: section
    x-displayName: Articles
  - name: knowledge-base-categories
    description: ''
    x-type: section
    x-displayName: Categories
  - name: knowledge-base-folders
    description: ''
    x-type: section
    x-displayName: Folders
  - name: knowledge-base-content-tree
    description: ''
    x-type: section
    x-displayName: Content Tree
  - name: knowledge-base-tags
    description: ''
    x-type: section
    x-displayName: Tags
  - name: knowledge-base-attachments
    description: ''
    x-type: section
    x-displayName: Attachments
  - name: ai-hub
    description: >
      AI-powered tools and services to help you create smarter and more
      personalized customer experiences.
    x-type: category
    x-displayName: AI Hub
  - name: ai-assistants
    description: >
      Phonovation AI assistant is a retrieval-augmented generation (RAG)
      solution that performs tasks based on documents and

      instructions you specify. This means the AI draws answers directly from
      your documents, resulting in more accurate

      and relevant responses. For more information on use cases and how to build
      AI assistants, visit our

      [AI Assistant](https://www.phonovation.com/docs/ai-hub/ai-assistant)
      product documentation.


      With AI Assistants API, you can:

      * Query your existing AI assistants created via [Phonovation
      Portal](https://www.phonovation.com/docs/ai-hub/ai-assistant/create-ai-assistant)

      * Retrieve context the AI assistant uses to answer your queries
    x-type: product
    x-displayName: AI Assistants
  - name: channels
    description: >
      Create a perfect customer experience by using the channels your customer
      already use and love.
    x-type: category
    x-displayName: Channels
  - name: sms
    description: >
      SMS (Short Message Service) is the most extensive messaging service
      available in terms of reach and coverage. A SMS can be sent to and from
      any mobile device in the world and does not necessarily require a data
      connection.


      Phonovation SMS API allows you to send and receive text messages (SMS),
      fetch or receive delivery reports on your endpoint in real time, and see
      message logs. You can send messages in different languages, schedule your
      messages, define delivery time window, and much more.


      To utilize SMS in combination with other channels, check out [Messages
      API](https://www.phonovation.com/docs/api/platform/messages-api).
    x-type: product
    x-displayName: SMS
  - name: outbound-sms
    description: >
      When you send an SMS to a phone number belonging to an end user's device
      you are sending an Outbound SMS. Historically, this was and still is
      referred to as a Mobile Terminated (MT) SMS, though nowadays an SMS is not
      always sent to a mobile device. In an Outbound SMS you can set the From or
      Sender field with whatever you have registered or purchased with
      Phonovation, either a Long Number, Short Code, or text based Sender.
    x-type: module
    x-displayName: Outbound SMS
  - name: send-message
    description: ''
    x-type: section
    x-displayName: Send a message
  - name: manage-scheduled-sms-messages
    description: ''
    x-type: section
    x-displayName: Manage Scheduled SMS Messages
  - name: confirm-conversion
    description: ''
    x-type: section
    x-displayName: Confirm conversion
  - name: inbound-sms
    description: >
      When an end user sends an SMS from their device to a Phone Number or Short
      Code they have sent an Inbound SMS. The Inbound SMS is routed to the
      Phonovation Platform and Phonovation in turn routes the SMS to its
      Customer who has purchased that Phone Number or Short Code. Inbound SMS,
      for historical reasons, are referred to as Mobile Originated (MO) SMS.
    x-type: module
    x-displayName: Inbound SMS
  - name: logs-and-status-reports
    description: >
      Status Reports tell you what happened to the SMS you sent, whether it was
      successfully delivered or failed to be delivered.

      They also provide timestamps, network information if available, and on SMS
      delivery failure, a status code indicating the reason. 

      Status Reports can be pushed in real-time to a Customer's webhook or can
      be retrieved by an API call. 

      Logs provide similar information to Status Reports but are available to
      query for 48hrs.
    x-type: module
    x-displayName: Logs and Status Reports
  - name: whatsapp
    description: >
      With 2 billion users, WhatsApp is the most used application worldwide. It
      enables you to reach more customers, sharing important and timely
      notifications, as well as provide real-time customer support. Phonovation
      is an official WhatsApp Business solution provider. Send and manage
      WhatsApp messages over Phonovation's WhatsApp API.


      To utilize WhatsApp in combination with other channels, check out
      [Messages
      API](https://www.phonovation.com/docs/api/platform/messages-api).


      [Learn more about WhatsApp channel and use
      cases](https://www.phonovation.com/docs/whatsapp).
    x-type: product
    x-displayName: WhatsApp
  - name: whatsapp-outbound-messages
    description: >
      When you send a WhatsApp message to a phone number belonging to an end
      user's device you are sending an outbound WhatsApp message. 

      There are several types of WhatsApp messages:
        - Template message – use a pre-defined template to send text, images, videos, share location, documents, attach buttons, and configure SMS failover.
        - Free-form text or media – use it only when contacted by the end user within a certain timeframe to send text, images, audio, video, stickers, share location, or contacts.
        - Interactive messages – send a message that your end user can interact with, such as interactive buttons, lists, or product messages.
    x-type: module
    x-displayName: Outbound messages
  - name: whatsapp-template-message
    description: ''
    x-type: section
    x-displayName: Template Message
  - name: whatsapp-text-and-media-messages
    description: ''
    x-type: section
    x-displayName: Text and media messages
  - name: send-whatsapp-interactive-messages
    description: ''
    x-type: section
    x-displayName: Interactive messages
  - name: whatsapp-events
    description: ''
    x-type: section
    x-displayName: Events
  - name: whatsapp-inbound-messages
    description: >
      When the end user sends a WhatsApp from their device to a phone number,
      they have sent an inbound WhatsApp message. 

      The inbound message is routed to the Phonovation Platform and Phonovation
      in turn routes the message to its customer who has registered the WhatsApp
      sender.

      Typical supporting features you’d use with inbound messages are:
        - Marking messages as read to communicate to the end user that you have read their message.
        - Downloading media and its metadata sent over by the end user.
    x-type: module
    x-displayName: Inbound messages
  - name: whatsapp-receive-inbound-message
    description: ''
    x-type: section
    x-displayName: Receive inbound message
  - name: whatsapp-get-inbound-media
    description: ''
    x-type: section
    x-displayName: Get inbound media
  - name: whatsapp-mark-message-as-read
    description: ''
    x-type: section
    x-displayName: Mark message as read
  - name: whatsapp-message-status-reports
    description: >
      Status Reports tell you what happened to the WhatsApp message you sent,
      whether it was successfully delivered or failed to be delivered, whether
      it’s been seen. 

      Status Reports can be pushed in real time to a customer's webhook or can
      be retrieved by an API call. 

      Logs provide similar information to Status Reports but are only available
      to query for 48hrs.

      There are a few reports you can set up for your WhatsApp messaging:
        - Delivery Reports - In case of a failure, you’ll receive a timestamp with a delivery failure message and a status code indicating the reason behind it.
        - Seen Reports – In case the message has been delivered successfully to the end user, this report will additionally inform you whether the message has been seen.
        - Payments - It provides all updates to your payment transaction in real time. It's also possible to fetch current state of the payment transaction in any time.
    x-type: module
    x-displayName: Message Status Reports
  - name: whatsapp-status-reports
    description: ''
    x-type: section
    x-displayName: Status Reports
  - name: whatsapp-payments
    description: ''
    x-type: section
    x-displayName: Payments
  - name: whatsapp-marketing-update
    description: ''
    x-type: section
    x-displayName: Marketing Update
  - name: whatsapp-service-management
    description: >
      As opposed to free-form messages, template messages can be sent and
      delivered at any time. 

      Here, you can manage your templates, from template registration,
      retrieving template statuses, to deleting existing templates.

      With each WhatsApp message, you can send various types of media. Here, you
      can manage your media and configure additional feature enhancing their
      functionality.

      Moreover you can fetch quality and business info of your senders.
    x-type: module
    x-displayName: Service Management
  - name: whatsapp-template-management
    description: ''
    x-type: section
    x-displayName: Template Management
  - name: whatsapp-flow-management
    description: ''
    x-type: section
    x-displayName: Flow Management
  - name: whatsapp-media-management
    description: ''
    x-type: section
    x-displayName: Media Management
  - name: whatsapp-sender-management
    description: ''
    x-type: section
    x-displayName: Sender Management
  - name: whatsapp-bulk-sender-registration
    description: ''
    x-type: section
    x-displayName: Bulk Sender Registration
  - name: whatsapp-identity-management
    description: >
      Set up identity change, an add-on available for senders hosted by
      Phonovation. This is supported for interactive buttons, interactive lists,
      or an interactive product message. 

      Identity change allows you to increase your security by preventing
      messages from being sent to unverified end users. 

      Once enabled for a sender, you would receive notifications when an end
      user's WhatsApp account (MSISDN) has potentially been transferred to a
      different user. 

      When a potential identity change has been detected, the outbound traffic
      towards that end user is blocked until you verify the user outside the
      channel and acknowledge the change.

      Contact your Account Executive for more information.
    x-type: module
    x-displayName: Identity Management
  - name: whatsapp-ad-conversions
    description: >
      The Conversions API for Business Messaging enables advertisers to
      consolidate web, app, physical store, and business messaging events into a
      single endpoint for Meta. With Phonovation, you can submit Purchase or
      LeadSubmitted conversion events for WhatsApp.
    x-type: module
    x-displayName: Ad Conversions
  - name: platform
    description: |
      Modular tools to scale and automate your business.
    x-type: category
    x-displayName: Platform
  - name: subscriptions-api
    description: >
      Subscriptions are a way to manage notifications sent to your webhooks by
      Phonovation.

      It is a useful feature if you want to narrow down the list of events to be
      notified about or specify different webhooks for different use cases.

      It will also allow you to set up authentication settings for your
      endpoint.


      If you want to use mutual TLS for the webhook that receives notification
      events from Phonovation, you can upload and manage a TLS certificate that
      Phonovation will use when connecting to your server. The certificate
      allows your server to verify that the request is really coming from
      Phonovation. For details, see [Create and Manage
      Certificates](https://www.phonovation.com/docs/cpaas-x/subscriptions-management/create-manage-subscriptions#create-and-manage-certificates).
    x-type: product
    x-displayName: Subscriptions Management
  - name: subscription
    description: ''
    x-type: section
    x-displayName: Subscription
  - name: profile
    description: ''
    x-type: section
    x-displayName: Profile
  - name: security
    description: ''
    x-type: section
    x-displayName: Security
  - name: certificate
    description: ''
    x-type: section
    x-displayName: Certificate
paths:
  /people/3/events:
    post:
      tags:
        - customer-engagement
        - people
        - events
      summary: Batch Send Events
      description: >-
        Use this endpoint to batch import People events, including historical
        events that occurred up to `30` days ago. Batch items must reference an
        existing person profile and predefined [event
        type](https://portal.phonovation.com/people/events/definitions). You can
        send up to `5000` events in a single batch. Each individual item within
        a batch must not exceed `512,000` bytes. The entire batch, which
        includes all items combined, must not exceed `15,728,640` bytes.<br>Each
        event in the batch must reference an existing person profile and a
        predefined event type. If an event references a person identifier that
        does not match any existing profile, a new `CUSTOMER` profile will
        automatically be created for that identifier. <br>**Note**: The entire
        batch will fail to import if any single event fails due to missing event
        type, properties, etc.


        **Required scope:** Enable one of: `people:manage`, `people:use`.
      operationId: send-custom-events
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.EventBatchResourceRequest
            examples:
              Request example:
                summary: Request example
                value:
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T13:00:27.864Z'
                    identifier:
                      id: example@gmail.com
                      type: EMAIL
                      sender: '75320'
                    properties:
                      transactionId: my-transaction-1
                      fromPromoCampaign: true
                      totalCost: 100
                      itemsInCart:
                        - itemId: 1
                          price: 25
                          quantity: 3
                          inStockSince: '2023-11-17T15:47:50.413Z'
                          category: clothes
                        - itemId: 2
                          price: 25
                          quantity: 1
                          inStockSince: '2023-12-17T15:47:50.413Z'
                          category: shoes
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T11:30:00.109Z'
                    identifier:
                      id: '15'
                      type: ID
                    properties:
                      transactionId: my-transaction-2
                      fromPromoCampaign: false
                      totalCost: 1539
                      itemsInCart:
                        - itemId: 7
                          price: 39
                          quantity: 1
                          inStockSince: '2024-09-21T10:12:50.209Z'
                          category: shirt
                        - itemId: 8
                          price: 250
                          quantity: 6
                          inStockSince: '2024-09-20T09:21:30.483Z'
                          category: jacket
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.EventBatchResourceRequest
            examples:
              Request example:
                summary: Request example
                value:
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T13:00:27.864Z'
                    identifier:
                      id: example@gmail.com
                      type: EMAIL
                      sender: '75320'
                    properties:
                      transactionId: my-transaction-1
                      fromPromoCampaign: true
                      totalCost: 100
                      itemsInCart:
                        - itemId: 1
                          price: 25
                          quantity: 3
                          inStockSince: '2023-11-17T15:47:50.413Z'
                          category: clothes
                        - itemId: 2
                          price: 25
                          quantity: 1
                          inStockSince: '2023-12-17T15:47:50.413Z'
                          category: shoes
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T11:30:00.109Z'
                    identifier:
                      id: '15'
                      type: ID
                    properties:
                      transactionId: my-transaction-2
                      fromPromoCampaign: false
                      totalCost: 1539
                      itemsInCart:
                        - itemId: 7
                          price: 39
                          quantity: 1
                          inStockSince: '2024-09-21T10:12:50.209Z'
                          category: shirt
                        - itemId: 8
                          price: 250
                          quantity: 6
                          inStockSince: '2024-09-20T09:21:30.483Z'
                          category: jacket
          text/json:
            schema:
              $ref: >-
                #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.EventBatchResourceRequest
            examples:
              Request example:
                summary: Request example
                value:
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T13:00:27.864Z'
                    identifier:
                      id: example@gmail.com
                      type: EMAIL
                      sender: '75320'
                    properties:
                      transactionId: my-transaction-1
                      fromPromoCampaign: true
                      totalCost: 100
                      itemsInCart:
                        - itemId: 1
                          price: 25
                          quantity: 3
                          inStockSince: '2023-11-17T15:47:50.413Z'
                          category: clothes
                        - itemId: 2
                          price: 25
                          quantity: 1
                          inStockSince: '2023-12-17T15:47:50.413Z'
                          category: shoes
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T11:30:00.109Z'
                    identifier:
                      id: '15'
                      type: ID
                    properties:
                      transactionId: my-transaction-2
                      fromPromoCampaign: false
                      totalCost: 1539
                      itemsInCart:
                        - itemId: 7
                          price: 39
                          quantity: 1
                          inStockSince: '2024-09-21T10:12:50.209Z'
                          category: shirt
                        - itemId: 8
                          price: 250
                          quantity: 6
                          inStockSince: '2024-09-20T09:21:30.483Z'
                          category: jacket
          application/*+json:
            schema:
              $ref: >-
                #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.EventBatchResourceRequest
            examples:
              Request example:
                summary: Request example
                value:
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T13:00:27.864Z'
                    identifier:
                      id: example@gmail.com
                      type: EMAIL
                      sender: '75320'
                    properties:
                      transactionId: my-transaction-1
                      fromPromoCampaign: true
                      totalCost: 100
                      itemsInCart:
                        - itemId: 1
                          price: 25
                          quantity: 3
                          inStockSince: '2023-11-17T15:47:50.413Z'
                          category: clothes
                        - itemId: 2
                          price: 25
                          quantity: 1
                          inStockSince: '2023-12-17T15:47:50.413Z'
                          category: shoes
                  - definitionId: addToCart
                    occurredTime: '2025-03-17T11:30:00.109Z'
                    identifier:
                      id: '15'
                      type: ID
                    properties:
                      transactionId: my-transaction-2
                      fromPromoCampaign: false
                      totalCost: 1539
                      itemsInCart:
                        - itemId: 7
                          price: 39
                          quantity: 1
                          inStockSince: '2024-09-21T10:12:50.209Z'
                          category: shirt
                        - itemId: 8
                          price: 250
                          quantity: 6
                          inStockSince: '2024-09-20T09:21:30.483Z'
                          category: jacket
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ProblemDetailsResponse
              examples:
                Invalid JSON request body:
                  summary: Invalid JSON request body
                  description: >-
                    Occurs when the request body is either missing, null, or not
                    properly structured as a JSON array, preventing successful
                    processing of the request.
                  value:
                    errors:
                      - index: -1
                        code: 400500
                        message: >-
                          Invalid request. Please ensure the request body is a
                          properly structured JSON array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid schema error:
                  summary: Invalid schema error
                  description: >-
                    Occurs when an event in the batch has a missing or incorrect
                    schema definition. This can happen if the event's definition
                    ID is not recognized, or if the properties do not match the
                    expected schema, such as having redundant properties or
                    incorrect types.
                  value:
                    errors:
                      - index: -1
                        code: 400501
                        message: >-
                          The event schema is invalid. Please ensure each event
                          has a valid definition ID and properties match the
                          expected schema. Details: <specific_error_message>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Empty batch error:
                  summary: Empty batch error
                  description: >-
                    Occurs when the request body contains an empty array for the
                    batch, which is required to have at least one item for
                    processing.
                  value:
                    errors:
                      - index: -1
                        code: 400502
                        message: >-
                          The batch cannot be empty. Please provide at least one
                          item in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Batch count exceeded:
                  summary: Batch count exceeded
                  description: >-
                    Occurs when the number of items in the batch exceeds the
                    maximum allowed limit, preventing successful processing of
                    the request.
                  value:
                    errors:
                      - index: -1
                        code: 400503
                        message: >-
                          The batch count exceeds the allowed limit of
                          <allowed_limit> items. Please reduce the number of
                          items in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid batch item error:
                  summary: Invalid batch item error
                  description: >-
                    Occurs when one or more properties of an event in the batch
                    fail validation checks. This can include issues such as
                    incorrect formats, values outside allowed ranges, or missing
                    required properties.
                  value:
                    errors:
                      - index: 0
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: eventId
                            message: >-
                              Must only include letters (A-Z, a-z), digits
                              (0-9), underscores (_), and hyphens (-).
                          - property: identifier.id
                            message: Must not be empty.
                      - index: 4
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: identifier.type
                            message: >-
                              Must be one of the following types:
                              <allowed_types>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Person not found error:
                  summary: Person not found error
                  description: >-
                    Occurs when the system is unable to locate a person using
                    the provided identifier in the event. This prevents the
                    event from being processed as the target person cannot be
                    identified.
                  value:
                    errors:
                      - index: 0
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                      - index: 4
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Internal event posting prohibition:
                  summary: Internal event posting prohibition
                  description: Occurs when attempting to post an internal event.
                  value:
                    errors:
                      - index: 0
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                      - index: 4
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
            application/json-patch+json:
              schema:
                $ref: >-
                  #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ProblemDetailsResponse
              examples:
                Invalid JSON request body:
                  summary: Invalid JSON request body
                  description: >-
                    Occurs when the request body is either missing, null, or not
                    properly structured as a JSON array, preventing successful
                    processing of the request.
                  value:
                    errors:
                      - index: -1
                        code: 400500
                        message: >-
                          Invalid request. Please ensure the request body is a
                          properly structured JSON array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid schema error:
                  summary: Invalid schema error
                  description: >-
                    Occurs when an event in the batch has a missing or incorrect
                    schema definition. This can happen if the event's definition
                    ID is not recognized, or if the properties do not match the
                    expected schema, such as having redundant properties or
                    incorrect types.
                  value:
                    errors:
                      - index: -1
                        code: 400501
                        message: >-
                          The event schema is invalid. Please ensure each event
                          has a valid definition ID and properties match the
                          expected schema. Details: <specific_error_message>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Empty batch error:
                  summary: Empty batch error
                  description: >-
                    Occurs when the request body contains an empty array for the
                    batch, which is required to have at least one item for
                    processing.
                  value:
                    errors:
                      - index: -1
                        code: 400502
                        message: >-
                          The batch cannot be empty. Please provide at least one
                          item in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Batch count exceeded:
                  summary: Batch count exceeded
                  description: >-
                    Occurs when the number of items in the batch exceeds the
                    maximum allowed limit, preventing successful processing of
                    the request.
                  value:
                    errors:
                      - index: -1
                        code: 400503
                        message: >-
                          The batch count exceeds the allowed limit of
                          <allowed_limit> items. Please reduce the number of
                          items in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid batch item error:
                  summary: Invalid batch item error
                  description: >-
                    Occurs when one or more properties of an event in the batch
                    fail validation checks. This can include issues such as
                    incorrect formats, values outside allowed ranges, or missing
                    required properties.
                  value:
                    errors:
                      - index: 0
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: eventId
                            message: >-
                              Must only include letters (A-Z, a-z), digits
                              (0-9), underscores (_), and hyphens (-).
                          - property: identifier.id
                            message: Must not be empty.
                      - index: 4
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: identifier.type
                            message: >-
                              Must be one of the following types:
                              <allowed_types>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Person not found error:
                  summary: Person not found error
                  description: >-
                    Occurs when the system is unable to locate a person using
                    the provided identifier in the event. This prevents the
                    event from being processed as the target person cannot be
                    identified.
                  value:
                    errors:
                      - index: 0
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                      - index: 4
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Internal event posting prohibition:
                  summary: Internal event posting prohibition
                  description: Occurs when attempting to post an internal event.
                  value:
                    errors:
                      - index: 0
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                      - index: 4
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ProblemDetailsResponse
              examples:
                Invalid JSON request body:
                  summary: Invalid JSON request body
                  description: >-
                    Occurs when the request body is either missing, null, or not
                    properly structured as a JSON array, preventing successful
                    processing of the request.
                  value:
                    errors:
                      - index: -1
                        code: 400500
                        message: >-
                          Invalid request. Please ensure the request body is a
                          properly structured JSON array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid schema error:
                  summary: Invalid schema error
                  description: >-
                    Occurs when an event in the batch has a missing or incorrect
                    schema definition. This can happen if the event's definition
                    ID is not recognized, or if the properties do not match the
                    expected schema, such as having redundant properties or
                    incorrect types.
                  value:
                    errors:
                      - index: -1
                        code: 400501
                        message: >-
                          The event schema is invalid. Please ensure each event
                          has a valid definition ID and properties match the
                          expected schema. Details: <specific_error_message>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Empty batch error:
                  summary: Empty batch error
                  description: >-
                    Occurs when the request body contains an empty array for the
                    batch, which is required to have at least one item for
                    processing.
                  value:
                    errors:
                      - index: -1
                        code: 400502
                        message: >-
                          The batch cannot be empty. Please provide at least one
                          item in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Batch count exceeded:
                  summary: Batch count exceeded
                  description: >-
                    Occurs when the number of items in the batch exceeds the
                    maximum allowed limit, preventing successful processing of
                    the request.
                  value:
                    errors:
                      - index: -1
                        code: 400503
                        message: >-
                          The batch count exceeds the allowed limit of
                          <allowed_limit> items. Please reduce the number of
                          items in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid batch item error:
                  summary: Invalid batch item error
                  description: >-
                    Occurs when one or more properties of an event in the batch
                    fail validation checks. This can include issues such as
                    incorrect formats, values outside allowed ranges, or missing
                    required properties.
                  value:
                    errors:
                      - index: 0
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: eventId
                            message: >-
                              Must only include letters (A-Z, a-z), digits
                              (0-9), underscores (_), and hyphens (-).
                          - property: identifier.id
                            message: Must not be empty.
                      - index: 4
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: identifier.type
                            message: >-
                              Must be one of the following types:
                              <allowed_types>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Person not found error:
                  summary: Person not found error
                  description: >-
                    Occurs when the system is unable to locate a person using
                    the provided identifier in the event. This prevents the
                    event from being processed as the target person cannot be
                    identified.
                  value:
                    errors:
                      - index: 0
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                      - index: 4
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Internal event posting prohibition:
                  summary: Internal event posting prohibition
                  description: Occurs when attempting to post an internal event.
                  value:
                    errors:
                      - index: 0
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                      - index: 4
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
            application/*+json:
              schema:
                $ref: >-
                  #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ProblemDetailsResponse
              examples:
                Invalid JSON request body:
                  summary: Invalid JSON request body
                  description: >-
                    Occurs when the request body is either missing, null, or not
                    properly structured as a JSON array, preventing successful
                    processing of the request.
                  value:
                    errors:
                      - index: -1
                        code: 400500
                        message: >-
                          Invalid request. Please ensure the request body is a
                          properly structured JSON array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid schema error:
                  summary: Invalid schema error
                  description: >-
                    Occurs when an event in the batch has a missing or incorrect
                    schema definition. This can happen if the event's definition
                    ID is not recognized, or if the properties do not match the
                    expected schema, such as having redundant properties or
                    incorrect types.
                  value:
                    errors:
                      - index: -1
                        code: 400501
                        message: >-
                          The event schema is invalid. Please ensure each event
                          has a valid definition ID and properties match the
                          expected schema. Details: <specific_error_message>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Empty batch error:
                  summary: Empty batch error
                  description: >-
                    Occurs when the request body contains an empty array for the
                    batch, which is required to have at least one item for
                    processing.
                  value:
                    errors:
                      - index: -1
                        code: 400502
                        message: >-
                          The batch cannot be empty. Please provide at least one
                          item in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Batch count exceeded:
                  summary: Batch count exceeded
                  description: >-
                    Occurs when the number of items in the batch exceeds the
                    maximum allowed limit, preventing successful processing of
                    the request.
                  value:
                    errors:
                      - index: -1
                        code: 400503
                        message: >-
                          The batch count exceeds the allowed limit of
                          <allowed_limit> items. Please reduce the number of
                          items in the request array.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Invalid batch item error:
                  summary: Invalid batch item error
                  description: >-
                    Occurs when one or more properties of an event in the batch
                    fail validation checks. This can include issues such as
                    incorrect formats, values outside allowed ranges, or missing
                    required properties.
                  value:
                    errors:
                      - index: 0
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: eventId
                            message: >-
                              Must only include letters (A-Z, a-z), digits
                              (0-9), underscores (_), and hyphens (-).
                          - property: identifier.id
                            message: Must not be empty.
                      - index: 4
                        code: 400504
                        message: >-
                          One or more batch items contain invalid properties.
                          Please review the details for specific validation
                          errors.
                        details:
                          - property: identifier.type
                            message: >-
                              Must be one of the following types:
                              <allowed_types>.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Person not found error:
                  summary: Person not found error
                  description: >-
                    Occurs when the system is unable to locate a person using
                    the provided identifier in the event. This prevents the
                    event from being processed as the target person cannot be
                    identified.
                  value:
                    errors:
                      - index: 0
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                      - index: 4
                        code: 400505
                        message: >-
                          Person with such identifier doesn't exist. Please
                          verify the identifier and ensure it corresponds to an
                          existing person in the system.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
                Internal event posting prohibition:
                  summary: Internal event posting prohibition
                  description: Occurs when attempting to post an internal event.
                  value:
                    errors:
                      - index: 0
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                      - index: 4
                        code: 400506
                        message: >-
                          Internal events posting prohibited. Please ensure that
                          only custom event definitions are used.
                    traceId: <trace_id>
                    type: https://tools.ietf.org/html/rfc9110#section-15.5.1
                    title: One or more validation errors occurred.
                    status: 400
        '401':
          $ref: '#/components/responses/ApiException401'
        '403':
          $ref: '#/components/responses/ApiException403'
        '500':
          $ref: '#/components/responses/ApiException500'
      security:
        - APIKeyHeader: []
components:
  schemas:
    b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.EventBatchResourceRequest:
      type: array
      description: An array of events submitted as a batch request for processing.
      items:
        type: object
        properties:
          eventId:
            type:
              - string
              - 'null'
            description: >-
              Unique identifier of the event. If provided, it helps prevent
              duplicate events in case of retries—for example, if the first API
              call fails and the same event is sent again. Passing the same
              `eventId` ensures the event is only recorded once in the person
              profile.<br>The value must be `1–36` characters long and can
              include letters `(A–Z, a–z)`, digits `(0–9)`, underscores `(_)`,
              and hyphens `(-)` only.
          definitionId:
            type: string
            description: Unique identifier of event schema.
          occurredTime:
            type: string
            format: date-time
            description: >-
              Time of event occurrence, as the following format
              `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. Events occurred more than 30 days
              ago will be rejected. Future dates are not allowed and will be
              automatically set to the current UTC time.
            example: '2025-03-17T13:00:27.864Z'
          identifier:
            type: object
            description: >-
              Used to match the event to an existing person profile using the
              provided identifier.<br> If no matching profile is found, a new
              profile will be automatically created.<br>**Note**: New profiles
              can only be created for the following identifier types: `PHONE`,
              `EMAIL`, or `EXTERNAL_ID`.
            properties:
              id:
                type: string
                description: >-
                  Unique identifier of the person who performed the event. The
                  value must match the `type` property.
              type:
                $ref: >-
                  #/components/schemas/fadcd3a5e2560b383cc614bf34d902f536c2b4a12ddd61a5d337e7d4f40ab864.PersonUniqueFieldType
              sender:
                type:
                  - string
                  - 'null'
                description: >-
                  Sender or application ID. `sender` is required for all
                  identifier types except `ID`, `EXTERNAL_ID`, `PHONE`, `EMAIL`.
            required:
              - id
              - type
          properties:
            type:
              - object
              - 'null'
            additionalProperties:
              type: object
            description: >-
              Object containing event properties. Must match the corresponding
              event definition. See People Events
              [documentation](https://www.phonovation.com/docs/people/events#properties-custom-events)
              for supported data types.
        required:
          - definitionId
          - identifier
          - occurredTime
      title: EventBatchResourceRequest
    b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ProblemDetailsResponse:
      type: object
      description: >-
        A structured response that provides detailed information about
        validation errors encountered during an API request.
      properties:
        status:
          type: integer
          format: int32
          description: The HTTP status code indicating the nature of the error.
        title:
          type: string
          description: >-
            A short, human-readable summary of the error type. This title
            remains consistent across similar error occurrences, aiding in easy
            identification.
        type:
          type: string
          format: uri
          description: >-
            A URI reference that provides additional information about the error
            type.
        traceId:
          type: string
          description: >-
            A unique identifier for the request, useful for tracing purposes.
            This ID helps in correlating logs and tracking the request through
            the system.
        errors:
          type: array
          description: >-
            An array containing detailed information about each error
            encountered.
          items:
            $ref: >-
              #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ErrorDetailsResponse
      required:
        - status
        - title
        - type
      title: ProblemDetailsResponse
    fadcd3a5e2560b383cc614bf34d902f536c2b4a12ddd61a5d337e7d4f40ab864.PersonUniqueFieldType:
      type: string
      enum:
        - ID
        - EXTERNAL_ID
        - PHONE
        - EMAIL
        - LINE
        - FACEBOOK
        - TELEGRAM
        - PUSH
        - WEB_PUSH
        - LIVE_CHAT
        - VIBER_BOTS
        - INSTAGRAM
        - INSTAGRAM_DM
        - TWITTER
        - APPLE_BUSINESS_CHAT
        - KAKAO_SANGDAM
        - GOOGLE_BUSINESS_MESSAGES
        - WHATSAPP
        - ZALO_FOLLOWER
        - TIKTOK_BM
      title: PersonUniqueFieldType
    b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ErrorDetailsResponse:
      type: object
      description: An object containing specific information about an error.
      properties:
        index:
          type: integer
          format: int32
          description: >-
            The position of the entity in the request array that caused the
            error. An index of -1 indicates a general error not tied to a
            specific entity.
        code:
          type: integer
          format: int32
          description: >-
            A specific error code that categorizes the type of error, aiding in
            quick identification and resolution.
        message:
          type: string
          description: A descriptive message explaining the nature of the error.
        details:
          type: array
          description: >-
            An array providing additional context about specific aspects of the
            error.
          items:
            $ref: >-
              #/components/schemas/b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ErrorDetailsItemResponse
      required:
        - code
        - index
        - message
      title: ErrorDetailsResponse
    ApiException:
      type: object
      properties:
        requestError:
          $ref: '#/components/schemas/ApiRequestError'
      title: ApiException
    b3ed157de85ce51bb7c17933fb84ff4b3e9bcb9fb8576a5ae189b97589d5bd1c.ErrorDetailsItemResponse:
      type: object
      description: ''
      properties:
        property:
          type: string
          description: The name of the specific property or field related to the error.
        message:
          type: string
          description: >-
            A descriptive message explaining the nature of the error associated
            with the property.
      required:
        - message
        - property
      title: ErrorDetailsItemResponse
    ApiRequestError:
      type: object
      properties:
        serviceException:
          $ref: '#/components/schemas/ApiRequestErrorDetails'
      title: ApiRequestError
    ApiRequestErrorDetails:
      type: object
      properties:
        messageId:
          type: string
          description: Identifier of the error.
        text:
          type: string
          description: Detailed error description.
        validationErrors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
              description: Validation errors.
          description: Validation errors.
      title: ApiRequestErrorDetails
  responses:
    ApiException401:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiException'
          example:
            requestError:
              serviceException:
                messageId: UNAUTHORIZED
                text: Unauthorized
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiException'
          example: |
            <?xml version="1.0" encoding="UTF-8"?><ApiException>
              <requestError>
                <serviceException>
                  <messageId>UNAUTHORIZED</messageId>
                  <text>Unauthorized</text>
                </serviceException>
              </requestError>
            </ApiException>
    ApiException403:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiException'
          example:
            requestError:
              serviceException:
                messageId: FORBIDDEN
                text: Forbidden
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiException'
          example: |
            <?xml version="1.0" encoding="UTF-8"?><ApiException>
              <requestError>
                <serviceException>
                  <messageId>FORBIDDEN</messageId>
                  <text>Forbidden</text>
                </serviceException>
              </requestError>
            </ApiException>
    ApiException500:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiException'
          example:
            requestError:
              serviceException:
                messageId: GENERAL_ERROR
                text: Something went wrong. Please contact support.
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiException'
          example: |
            <?xml version="1.0" encoding="UTF-8"?><ApiException>
              <requestError>
                <serviceException>
                  <messageId>GENERAL_ERROR</messageId>
                  <text>Something went wrong. Please contact support.</text>
                </serviceException>
              </requestError>
            </ApiException>
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: >
        This is the most secure authorization type and the one with the most
        flexibility.


        API keys can be generated by calling the dedicated API method.
        Furthermore, API keys can have a limited scope and cover only some API
        methods. Lastly, they can

        be revoked at any time. This range of possibilities makes API keys well
        suited for separating the API access rights across multiple applications
        or use cases.

        Finally, the loss of an API key is easily manageable.


        You can manage your API keys from
        [GUI](https://portal.phonovation.com/settings/accounts/api-keys), or
        programmatically

        with [dedicated API](#platform-&-connectivity/settings).


        API key Authorization header example:


        ```shell

        Authorization: App
        003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9

        ```
      name: Authorization
      in: header
      x-default: 'App '

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.