{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/BatchCall", "title": "BatchCall", "type": "object", "required": [ "batch" ], "description": "A batch call sends multiple events in a single request.", "properties": { "batch": { "type": "array", "description": "An array of identify, track, page, screen, group, or alias call objects. Maximum 2500 events per batch. Each event must be less than 32 KB.", "maxItems": 2500, "items": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "The type of call.", "enum": [ "identify", "track", "page", "screen", "group", "alias" ] }, "userId": { "type": "string", "description": "Unique identifier for the user." }, "anonymousId": { "type": "string", "description": "A pseudo-unique substitute for a user ID." }, "event": { "type": "string", "description": "Event name, required for track calls." }, "properties": { "type": "object", "description": "Event or page/screen properties.", "additionalProperties": true }, "traits": { "type": "object", "description": "User or group traits.", "additionalProperties": true }, "groupId": { "type": "string", "description": "Group ID, required for group calls." }, "previousId": { "type": "string", "description": "Previous ID, required for alias calls." }, "name": { "type": "string", "description": "Page or screen name." }, "context": { "$ref": "#/components/schemas/Context" }, "integrations": { "$ref": "#/components/schemas/Integrations" }, "timestamp": { "type": "string", "format": "date-time", "description": "ISO 8601 date string." }, "messageId": { "type": "string", "description": "Unique identifier for the message." } } } }, "context": { "$ref": "#/components/schemas/Context" }, "integrations": { "$ref": "#/components/schemas/Integrations" } } }