openapi: 3.2.0 info: contact: {} title: Batches Batch API version: '2026' x-api-evangelist: harvested: '2026-08-13' method: searched source: https://dash.readme.com/api/v1/api-registry/azzp6hramsfxryvv source-note: Published by Omnisend on its own docs host api-docs.omnisend.com (ReadMe project @omnisend, branch v2026-03-15); registry document referenced by the reference page as oasPublicUrl. servers: - url: https://api.omnisend.com/api tags: - name: Batch paths: /batches: get: description: 'Get batches **Scopes:** `products.read`, `contacts.read`, `events.read` **Rate Limiting:** This endpoint is rate limited to 400 requests per minute.
Open Postman collection' parameters: - description: Offset (minimum 0) in: query name: offset schema: type: integer default: 0 - description: Limit (1-250) in: query name: limit schema: type: integer default: 100 - description: Status in: query name: status schema: type: string enum: - pending - inProgress - finished - stopped - description: 'Date from (format: yyyy-mm-dd)' in: query name: dateFrom schema: type: string - description: 'Date to (format: yyyy-mm-dd)' in: query name: dateTo schema: type: string - description: Endpoint in: query name: endpoint required: true schema: type: string enum: - products - contacts - events - $ref: '#/components/parameters/APIVersionHeader' responses: '200': description: List of batches content: application/json: schema: $ref: '#/components/schemas/ListBatchesResponse' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ValidationProblem' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Problem' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Problem' security: - Bearer: - products.read - contacts.read - events.read - ApiKeyAuth: [] summary: Get batches tags: - Batch post: description: 'Batch operations allow for multiple actions of a similar type to be executed in a single request. Utilizing the batch endpoint is recommended to avoid hitting rate limits and to enhance overall performance. Creating batches is an asynchronous process that initiates the creation or updating of the specified items. * POST batch operations to create multiple items simultaneously. * PUT batch operations to apply multiple updates to multiple items. Each batch operation can include up to 100 actions. The required scopes depend on the type of batch operation being performed. **WARNING**: Before sending a batch of **events**, ensure there are no automations configured in Omnisend that could send messages to customers based on the imported data. This could result in duplicate messages being sent to customers. **Scopes:** `products.write`, `contacts.write`, `events.write` **Rate Limiting:** This endpoint is rate limited to 400 requests per minute.
Open Postman collection' parameters: - $ref: '#/components/parameters/APIVersionHeader' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBatchRequest' description: Batch to create required: true responses: '201': description: Batch created successfully with the given ID content: application/json: schema: $ref: '#/components/schemas/CreateBatchResponse' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ValidationProblem' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Problem' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Problem' security: - Bearer: - products.write - contacts.write - events.write - ApiKeyAuth: [] summary: Create batch tags: - Batch /batches/{batchID}: get: description: 'Get batch information **Scopes:** `products.read`, `contacts.read`, `events.read` **Rate Limiting:** This endpoint is rate limited to 400 requests per minute.
Open Postman collection' parameters: - description: Batch ID in: path name: batchID required: true schema: type: string - $ref: '#/components/parameters/APIVersionHeader' responses: '200': description: Batch information content: application/json: schema: $ref: '#/components/schemas/Batch' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ValidationProblem' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Problem' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Problem' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Problem' security: - Bearer: - products.read - contacts.read - events.read - ApiKeyAuth: [] summary: Get batch information tags: - Batch /batches/{batchID}/items: get: description: 'Get batch items **Scopes:** `products.read`, `contacts.read`, `events.read` **Rate Limiting:** This endpoint is rate limited to 400 requests per minute.
Open Postman collection' parameters: - description: Batch ID in: path name: batchID required: true schema: type: string - $ref: '#/components/parameters/APIVersionHeader' responses: '200': description: Batch items for a given batch ID content: application/json: schema: $ref: '#/components/schemas/Batch' '400': description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ValidationProblem' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Problem' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Problem' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Problem' security: - Bearer: - products.read - contacts.read - events.read - ApiKeyAuth: [] summary: Get batch items tags: - Batch components: schemas: Batch: properties: batchID: example: 5f92cbf10cf217478ba93561 type: string createdAt: example: '2021-01-01T00:00:00Z' type: string endedAt: example: '2021-01-01T00:00:00Z' type: string endpoint: example: contacts type: string errors: items: $ref: '#/components/schemas/BatchItem' type: array errorsCount: example: 0 type: integer eventID: example: 5f92cbf10cf217478ba93561 type: string finishedCount: example: 100 type: integer method: example: POST type: string origin: example: api type: string responses: items: $ref: '#/components/schemas/BatchItem' type: array startedAt: example: '2021-01-01T00:00:00Z' type: string status: example: finished type: string totalCount: example: 100 type: integer type: object CreateBatchRequest: properties: endpoint: enum: - products - contacts - events - categories example: contacts type: string items: items: {} maxItems: 100 minItems: 1 type: array method: enum: - POST - PUT example: POST type: string origin: example: omnisend type: string required: - endpoint - items - method type: object CreateBatchResponse: properties: batchID: type: string totalCount: type: integer type: object ListBatchesResponse: properties: batches: items: $ref: '#/components/schemas/Batch' type: array paging: $ref: '#/components/schemas/Paging' type: object Problem: description: Standard error response returned by all API endpoints on failure. properties: detail: description: Human-readable explanation of this specific error occurrence example: A human-readable explanation of the error. type: string instance: description: Request trace identifier for support and debugging example: urn:omnisend:request:00000000-0000-0000-0000-000000000001 type: string status: description: HTTP status code example: 0 type: integer title: description: Short description of the error type example: Problem type: string type: description: URI that identifies the error type example: https://problems.omnisend.com/problem type: string type: object ValidationProblem: description: Error response returned when the request contains invalid input. The errors array lists every field that failed validation. properties: detail: description: Human-readable explanation of this specific error occurrence example: A human-readable explanation of the error. type: string errors: description: List of fields that failed validation items: $ref: '#/components/schemas/FieldError' type: array instance: description: Request trace identifier for support and debugging example: urn:omnisend:request:00000000-0000-0000-0000-000000000001 type: string status: description: HTTP status code example: 0 type: integer title: description: Short description of the error type example: Problem type: string type: description: URI that identifies the error type example: https://problems.omnisend.com/problem type: string type: object Paging: properties: limit: example: 100 type: integer next: example: https://api.omnisend.com/api/batches?limit=100&offset=105 type: string offset: example: 5 type: integer previous: example: https://api.omnisend.com/api/batches?limit=100&offset=5 type: string type: object FieldError: description: A single field validation failure within a validation error response. properties: code: description: Error code indicating the type of failure example: invalid_format type: string field: description: Dot-separated path to the field that failed validation example: content.email.subject type: string message: description: Human-readable explanation of what is wrong with the field value example: Must be a valid email address type: string type: object BatchItem: properties: itemID: example: 5f92cbf10cf217478ba93561 type: string request: {} response: {} responseCode: example: 200 type: integer status: example: finished type: string type: object parameters: APIVersionHeader: description: API version that specifies the response format and behaviour in: header name: Omnisend-Version required: true schema: type: string default: '2026-03-15' securitySchemes: ApiKeyAuth: in: header name: Authorization type: apiKey Bearer: type: oauth2 flows: clientCredentials: tokenUrl: https://app.omnisend.com/oauth2/token scopes: {}