---
title: "Create report"
method: POST
path: "/v1/applications/{applicationId}/reports"
tags: ["Reports"]
---

# Create report

`POST /v1/applications/{applicationId}/reports`

An Akahu Apply report provides an aggregate, enriched view of the data from the application's resources.

The output of a report can be downloaded as an HTML document for human consumption, or as JSON data for further processing.

Report processing is asynchronous, so you must poll the `GET /v1/applications/{applicationId}/report/{reportId}` endpoint until it reaches a final status. The output of a report can only by accessed once it has been assigned a status of `completed`.

## Path parameters

- `applicationId` string, required

## Request body

- object
  - `_documents` DocumentId[] — Optionally specify which documents to include in the report. If omitted, all documents in the application will be included. The provided value must reference a subset of the documents from this application. Documents from other applications cannot be included.

## Response `200`

Success

- Report — Once your Application has been populated with the required data Resources, a Report can be created. A Report combines the data from all Application Resources into an aggregate, enriched dataset.
  - `_id` string, required
  - `status` 'processing' | 'completed' | 'failed', required — The status of a report: - `processing` This report is currently being synthesized. - `completed` This report has successfully been synthesized and data can now be retrieved from it. - `failed` This report has failed to be synthesized. See `failure_reason` for more information.
  - `failure_reason` ReportFailureReason — If a report has failed to be synthesized, this field provides additional information about what went wrong.
    - `code` 'internal_error' | 'timeout', required
    - `message` string
  - `resources` ReportResource[], required — The resources that were used to generate this report.
    - union
      - ReportResourceDocument
        - `type` 'document', required
        - `_id` string, required
      - ReportResourceDatafile
        - `type` 'datafile', required
        - `_id` string, required
      - ReportResourceOneoffOpenBankingConnection
        - `type` 'oneoff_ob_connection', required
        - `_id` string, required
  - `generated_at` string, date-time — The date that this report completed synthesis.
  - `expires_at` string, date-time, required — The date that this report expires. After this date the report will no longer be accessible.
  - `spending_categories` SpendingCategory[] — When this report is `completed`, this field will hold a list of all spending categories used in this report.
    - `code` string, required — A unique code for this spending category.
    - `name` string, required — The name of this spending category.
  - `income_categories` IncomeCategory[] — When this report is `completed`, this field will hold a list of all income categories used in this report.
    - `code` string, required — A unique code for this income category.
    - `name` string, required — The name of this income category.
  - `insights` InsightCategoryCode[] — When this report is `completed`, this field will hold a list of all insights used in this report.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.dev/akahu/apis/akahu-enduring-api.md) · [All operations](https://skmtc.dev/akahu/apis/akahu-enduring-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/akahu/akahu-enduring-api/revisions/b2de9915920d/schema)
