Create a batch job
Creates a new asynchronous batch job that reads its data source row-by-row and dispatches a consumer event for each row. The data source can be a previously run report, an audience list, or an uploaded file asset (CSV, PSV, or JSON). The job begins processing immediately after creation; poll GET /v6/batches/{batchId} to monitor status. For small inline batches of events, use POST /v6/async-events in the event-api instead.
Authorizations
Body
Batch job creation request.
Body of a POST /v6/batches request.
Data source for the batch job. Required. Specify one of: REPORT (a previously completed report), AUDIENCE_LIST (an audience list build), or FILE_ASSET (an uploaded file asset).
- AUDIENCE_LIST
- FILE_ASSET
- REPORT
Column validation rules applied before the job begins dispatching. Each entry declares a column name and optional constraints; rows that fail validation are counted in failed_rows.
Column validation rules applied before the job begins dispatching. Each entry declares a column name and optional constraints; rows that fail validation are counted in failed_rows.
- FULL_NAME_MATCH
- PATTERN_NAME_MATCH
Fallback event name used when a row does not supply its own event name. Applied when event_name is omitted and no event_name column is present in the row.
Column names in the data source whose values are used as event column values when dispatching each row. For example, ["person_id"] will pass the row's person_id value as the identity key for event dispatch.
Column names in the data source whose values are used as event column values when dispatching each row. For example, ["person_id"] will pass the row's person_id value as the identity key for event dispatch.
Static key-value pairs merged into every dispatched event's data map. These are applied in addition to any per-row data derived from event_columns.
Event name to dispatch for each row in the data source. When set, all rows dispatch this event regardless of any event_name column in the data. Omit to use the default_event_name or the per-row value from event_columns.
Human-readable label for the batch job. Used for display and filtering. Omit to leave unnamed.
Access-control scopes that restrict which user roles can interact with this job. Accepted values: CLIENT_SUPERUSER, CLIENT_ADMIN.
Access-control scopes that restrict which user roles can interact with this job. Accepted values: CLIENT_SUPERUSER, CLIENT_ADMIN.
CLIENT_ADMIN, CLIENT_SUPERUSER Arbitrary string labels attached to the batch job for filtering and grouping. Tags are also surfaced in batch-job-created notifications.
Arbitrary string labels attached to the batch job for filtering and grouping. Tags are also surfaced in batch-job-created notifications.
Response
Batch job created. Returns the full job record with an initial status of PENDING.
