---
title: "Download Bills URL"
method: POST
path: "/organizations/{orgId}/bills/download/csv/url"
tags: ["Bill"]
---

# Download Bills URL

`POST /organizations/{orgId}/bills/download/csv/url`

## Request

- Base URL: `https://api.m3ter.com`
- URL: `https://api.m3ter.com/organizations/{orgId}/bills/download/csv/url`
- Auth: OAuth 2
  - Authorization code: `https://m3ter.auth.us-east-1.amazoncognito.com/oauth2/authorize`, token URL `https://m3ter.auth.us-east-1.amazoncognito.com/oauth2/token`
  - Client credentials, token URL `/oauth/token`
- TypeScript: <https://skmtc.dev/m3ter-com/apis/m3ter-api/docs/organizations/:orgId/bills/download/csv/url/post.ts> (a function with typed inputs; its response is checked against the schema)

Generate a URL for downloading a CSV file containing a comprehensive list of Bills data  for the specified organization for a specified period. This endpoint facilitates easy exporting of billing data for external analysis and reporting.

The response to this call returns a pre-signed `downloadUrl`, which you then enter into your browser to download the CSV file of the Bill entities.

You can use the `externalSystem` request parameter to control the format of the Bills data in the CSV file:
- **STANDARD** A wider range of Bills data columns is given.
- **XERO** A more limited range of data columns is given and compatible with loading into your 3rd-party Xero system.

**NOTES:** 
- **Download Limits**. You can only download Bills for a period of up to 31 days or up to a maximum of 5000 Bills. If you attempt a download that exceeds either of these two limits, you'll receive an error message
- **Empty Bills**. The CSV formatted file is compiled for download by taking each of the line items found in Bills that exist in your Organization for the specified period. The Bill for each line item record is given, along with Bill Total and other billing attributes. However, this means that if you have an *empty Bill* that exists for the specified period - one for which *no line items currently exist* - then no line item records will be shown for this Bill in the CSV file you download.

## Path parameters

- `orgId` string, required

## Request body

- DownloadCsvRequest
  - `startDate` string, date-time: Specifies the start date of the billing period for downloading Bills. Format should be a valid date in ISO 8601 format. Bills with a start date on or after this date will be included in the download.
  - `endDate` string, date-time: Specifies the end date of the billing period for downloading Bills. Format should be a valid date in ISO 8601 format. Bills with an end date on or before this date will be included in the download.
  - `externalInvoiceDateStart` string, date-time: *(Optional)*. Specifies the start date in ISO 8601 format for filtering Bills by external invoice date.
  - `externalInvoiceDateEnd` string, date-time: *(Optional)*. Specifies the end date in ISO 8601 format for filtering Bills by external invoice date.
  - `externalSystem` 'STANDARD' | 'XERO': *(Optional)*. Specifies the format of the Bills data given: - **STANDARD** A wider range of data columns is given. - **XERO** A more limited range of data columns is given and compatible with loading into your 3rd-party Xero system.

## Response `200`

Returns the download URL

- ObjectUrlResponse
  - `downloadUrl` string, url: The pre-signed download URL.

## Other responses

- `4XX`: Error message
- `5XX`: Error message

---

[API](https://skmtc.dev/m3ter-com/apis/m3ter-api.md) - [All operations](https://skmtc.dev/m3ter-com/apis/m3ter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/m3ter-com/apis/m3ter-api/revisions/85c514abc692?raw)
