---
title: "Create a Report Run"
method: POST
path: "/v1/reporting/report_runs"
---

# Create a Report Run

`POST /v1/reporting/report_runs`

Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).)

## Response `200`

Successful response.

- ReportingReportRun — The Report Run object represents an instance of a report type generated with specific run parameters. Once the object is created, Stripe begins processing the report. When the report has finished running, it will give you a reference to a file where you can retrieve your results. For an overview, see [API Access to Reports](https://docs.stripe.com/reporting/statements/api). Note that certain report types can only be run based on your live-mode data (not test-mode data), and will error when queried without a [live-mode API key](https://docs.stripe.com/keys#test-live-modes).
  - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `error` string, nullable — If something should go wrong during the run, a message about the failure (populated when `status=failed`).
  - `id` string, required — Unique identifier for the object.
  - `livemode` boolean, required — `true` if the report is run on live mode data and `false` if it is run on test mode data.
  - `object` 'reporting.report_run', required — String representing the object's type. Objects of the same type share the same value.
  - `parameters` FinancialReportingFinanceReportRunRunParameters, required
    - `columns` string[] — The set of output columns requested for inclusion in the report run.
    - `connected_account` string — Connected account ID by which to filter the report run.
    - `currency` string, currency — Currency of objects to be included in the report run.
    - `interval_end` integer — Ending timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after the user specified `interval_start` and 1 second before this report's last `data_available_end` value.
    - `interval_start` integer — Starting timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after this report's `data_available_start` and 1 second before the user specified `interval_end` value.
    - `payout` string — Payout ID by which to filter the report run.
    - `reporting_category` string — Category of balance transactions to be included in the report run.
    - `timezone` string — Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`.
  - `report_type` string, required — The ID of the [report type](https://docs.stripe.com/reports/report-types) to run, such as `"balance.summary.1"`.
  - `result` File — This object represents files hosted on Stripe's servers. You can upload files with the [create file](https://api.stripe.com#create_file) request (for example, when uploading dispute evidence). Stripe also creates files independently (for example, the results of a [Sigma scheduled query](#scheduled_queries)). Related guide: [File upload guide](https://docs.stripe.com/file-upload)
    - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
    - `expires_at` integer, nullable — The file expires and isn't available at this time in epoch seconds.
    - `filename` string, nullable — The suitable name for saving the file to a filesystem.
    - `id` string, required — Unique identifier for the object.
    - `links` object, nullable — A list of [file links](https://api.stripe.com#file_links) that point at this file.
      - `data` FileLink[], required — Details about each object.
        - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
        - `expired` boolean, required — Returns if the link is already expired.
        - `expires_at` integer, nullable — Time that the link expires.
        - `file` union, required — The file object this link points to.
          - string
          - File — recursive
        - `id` string, required — Unique identifier for the object.
        - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
        - `metadata` object, required — Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
        - `object` 'file_link', required — String representing the object's type. Objects of the same type share the same value.
        - `url` string, nullable — The publicly accessible URL to download the file.
      - `has_more` boolean, required — True if this list has another page of items after this one that can be fetched.
      - `object` 'list', required — String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
      - `url` string, required — The URL where this list can be accessed.
    - `object` 'file', required — String representing the object's type. Objects of the same type share the same value.
    - `purpose` 'account_requirement' | 'additional_verification' | 'business_icon' | 'business_logo' | 'customer_signature' | 'dispute_evidence' | 'document_provider_identity_document' | 'finance_report_run' | 'financial_account_statement' | 'identity_document' | 'identity_document_downloadable' | 'issuing_regulatory_reporting' | 'pci_document' | 'platform_terms_of_service' | 'selfie' | 'sigma_scheduled_query' | 'tax_document_user_upload' | 'terminal_android_apk' | 'terminal_reader_splashscreen' | 'terminal_wifi_certificate' | 'terminal_wifi_private_key', required — The [purpose](https://docs.stripe.com/file-upload#uploading-a-file) of the uploaded file.
    - `size` integer, required — The size of the file object in bytes.
    - `title` string, nullable — A suitable title for the document.
    - `type` string, nullable — The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`).
    - `url` string, nullable — Use your live secret API key to download the file from this URL.
  - `status` string, required — Status of this report run. This will be `pending` when the run is initially created. When the run finishes, this will be set to `succeeded` and the `result` field will be populated. Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated.
  - `succeeded_at` integer, nullable — Timestamp at which this run successfully finished (populated when `status=succeeded`). Measured in seconds since the Unix epoch.

## Other responses

- `default` — Error response.

---

[API](https://skmtc.net/stripe/apis/spec3.md) · [All operations](https://skmtc.net/stripe/apis/spec3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stripe/spec3/revisions/3653ad45bbec/schema)
