---
title: "Generate Disclosures"
method: POST
path: "/settings/disclosures/generate"
tags: ["settings"]
---

# Generate Disclosures

`POST /settings/disclosures/generate`

## Request

- Base URL: `https://api.kobaltlabs.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kobaltlabs.com/settings/disclosures/generate`
- Auth: none declared

Generate disclosure documents from an Excel file.

## Request body `multipart/form-data`

- BodyGenerateDisclosuresSettingsDisclosuresGeneratePost
  - `file` string, binary, required

## Response `200`

Successful Response

- GenerateDisclosuresResponse
  - `documents` GeneratedDocumentResponse[], required
    - `filename` string, required
    - `download_url` string, required
    - `s3_key` string, required
    - `matched_file_id` string, uuid, nullable
    - `matched_filename` string, nullable
    - `matched_upload_id` string, uuid, nullable
    - `used_in_presets` string[]
  - `skipped_sheets` SkippedSheetInfo[]
    - `sheet` string, required
    - `missing_columns` string[], required
  - `archived_counts` ArchivedCountInfo[]
    - `sheet` string, required
    - `count` integer, required
  - `unknown_approaches` string[]
  - `debug` DisclosureGenerationDebug: Diagnostics describing how the `_Approaches` config sheet was interpreted. Surfaced on the results screen to make misconfigured workbooks easy to debug (e.g. config sheet not detected, sheet-name mismatch, unknown approach name).
    - `raw_sheet_names` string[]
    - `config_sheet_name_expected` string
    - `config_sheet_detected` string, nullable
    - `approach_mapping` ApproachMappingEntry[]
      - `sheet_name` string, required
      - `approach` string, required
    - `sheet_application` SheetApplicationEntry[]
      - `sheet` string, required
      - `approach` string, required
      - `status` string, required
    - `known_approaches` string[]
  - `library_sync` LibrarySyncResult
    - `synced` boolean, required
    - `message` string, nullable
    - `create` integer
    - `update` integer
    - `archive` integer
    - `reactivate` integer
    - `unchanged` integer

## Other responses

- `400`: No valid sheets; body includes invalid_sheets
- `422`: Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api.md) - [All operations](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api/revisions/8587332d5e43?raw)
