---
title: "Create Batch StatementJobs"
method: POST
path: "/organizations/{orgId}/statementjobs/batch"
tags: ["StatementJob"]
---

# Create Batch StatementJobs

`POST /organizations/{orgId}/statementjobs/batch`

Create a batch of StatementJobs for multiple bills.

Initiate the creation of multiple StatementJobs asynchronously for the list of bills with the given UUIDs:
* The default format for generating Bill Statements is in JSON format and according to the Bill Statement Definition you've specified at either Organization level or Account level.
* If you also want to generate the Statements in CSV format, use the `includeCsvFormat` request body parameter.
* The response body provides a time-bound pre-signed URL, which you can use to download the JSON format Statement.
* When you have generated a Statement for a Bill, you can also obtain a time-bound pre-signed download URL using either the [Retrieve Bill Statement in JSON Format](https://www.m3ter.com/docs/api#tag/Bill/operation/GetBillJsonStatement) and [Retrieve Bill Statement in CSV Format](https://www.m3ter.com/docs/api#tag/Bill/operation/GetBillCsvStatement) calls found in the [Bill](https://www.m3ter.com/docs/api#tag/Bill) section of this API Reference.

**Notes:**
* If the response to the Create StatementJob call shows the `statementJobStatus` as `PENDING` or `RUNNING`, you will not receive the pre-signed URL in the response. Wait a few minutes to allow the StatementJob to complete and then use the [Get StatmentJob](https://www.m3ter.com/docs/api#tag/StatementJob/operation/GetStatementJob) call in this section to obtain the pre-signed download URL for the generated Bill Statement.
* When you have submitted a StatementJob and a Bill Statement has been generated, you can also download the Statement directly from a Bill Details page in the Console. See [Working with Bill Statements](https://www.m3ter.com/docs/guides/billing-and-usage-data/running-viewing-and-managing-bills/working-with-bill-statements) in our user Documentation.

## Path parameters

- `orgId` string, required

## Request body

- StatementsBatchJobRequest
  - `version` integer — The version number of the entity: - **Create entity:** Not valid for initial insertion of new entity - *do not use for Create*. On initial Create, version is set at 1 and listed in the response. - **Update Entity:** On Update, version is required and must match the existing version because a check is performed to ensure sequential versioning is preserved. Version is incremented by 1 and listed in the response.
  - `billIds` string[], required — The list of unique identifiers (UUIDs) of the bills associated with the StatementJob.
  - `includeCsvFormat` boolean — A Boolean value indicating whether the generated statement includes a CSV format. * TRUE - includes the statement in CSV format. * FALSE - no CSV format statement.

## Response `200`

Returns a list of the created StatementJobs

- StatementJobResponse[]
  - `id` string, required — The UUID of the entity.
  - `version` integer — The version number: - **Create:** On initial Create to insert a new entity, the version is set at 1 in the response. - **Update:** On successful Update, the version is incremented by 1 in the response.
  - `statementJobStatus` 'PENDING' | 'RUNNING' | 'COMPLETE' | 'CANCELLED' | 'FAILED' — The current status of the StatementJob. The status helps track the progress and outcome of a StatementJob.
  - `billId` string — The unique identifier (UUID) of the bill associated with the StatementJob.
  - `orgId` string — The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service.
  - `includeCsvFormat` boolean — A Boolean value indicating whether the generated statement includes a CSV format. * TRUE - includes the statement in CSV format. * FALSE - no CSV format statement.
  - `presignedJsonStatementUrl` string — The URL to access the generated statement in JSON format. This URL is temporary and has a limited lifetime.
  - `jsonStatementStatus` 'LATEST' | 'STALE' | 'INVALIDATED'
  - `presignedCsvStatementUrl` string
  - `csvStatementStatus` 'LATEST' | 'STALE' | 'INVALIDATED'
  - `dtCreated` string, date-time — The date and time *(in ISO-8601 format)* when the StatementJob was created.
  - `dtLastModified` string, date-time — The date and time *(in ISO-8601 format)* when the StatementJob was last modified.
  - `createdBy` string — The unique identifier (UUID) of the user who created this StatementJob.
  - `lastModifiedBy` string — The unique identifier (UUID) of the user who last modified this StatementJob.

## Other responses

- `4XX` — Error message
- `5XX` — Error message

---

[API](https://skmtc.net/m3ter-com/apis/m3ter-api.md) · [All operations](https://skmtc.net/m3ter-com/apis/m3ter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/m3ter-com/m3ter-api/versions/ac93d1a9e6d9/schema)
