---
title: "Batch Send Events"
method: POST
path: "/people/3/events"
tags: ["customer-engagement", "people", "events"]
---

# Batch Send Events

`POST /people/3/events`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/people/3/events`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`
  - API key in header `Authorization`
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`

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.infobip.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.

## Request body

- object[]: An array of events submitted as a batch request for processing.
  - `eventId` string, nullable: 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` string, required: Unique identifier of event schema.
  - `occurredTime` string, date-time, required: 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.
  - `identifier` object, required: 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`.
    - `id` string, required: Unique identifier of the person who performed the event. The value must match the `type` property.
    - `type` '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', required
    - `sender` string, nullable: Sender or application ID. `sender` is required for all identifier types except `ID`, `EXTERNAL_ID`, `PHONE`, `EMAIL`.
  - `properties` object, nullable: Object containing event properties. Must match the corresponding event definition. See People Events [documentation](https://www.infobip.com/docs/people/events#properties-custom-events) for supported data types.

## Response `202`

Accepted

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
