---
title: "Add documents for the specific application"
method: POST
path: "/mortgages/applications/{applicationId}/documents"
tags: ["Mortgage Application"]
---

# Add documents for the specific application

`POST /mortgages/applications/{applicationId}/documents`

## Request

- Base URL: `https://mortgage.common-api.ch`
- URL: `https://mortgage.common-api.ch/mortgages/applications/{applicationId}/documents`
- Auth: one of:
  - API key in header `X-API-Key`
  - OAuth 2
    - Authorization code: `https://example.com/oauth/authorize`
    - Token URL: `https://example.com/oauth/token` scopes: `read`, `write`

Documents can be assigned to a specific application ID.

## Path parameters

- `applicationId` string, uuid, required: The application identifier (UUID v4) defined by FI.

## Headers

- `X-CorAPI-Client-ID` string, required
- `X-Correlation-ID` string, required
- `User-Agent` string, required

## Request body `multipart/form-data`

- object
  - `documentType` 'cash' | 'gift' | 'reservation_deposit' | 'advancement_of_inheritance' | 'third_pillar' | 'pension_fund' | 'third_party_loan' | 'third_pillar_fund' | 'fungible_investments' | 'vested_benefit' | 'life_insurance_3a' | 'life_insurance_3b' | 'tax_statement' | 'lending_of_third_party_property' | 'employment' | 'self_employment' | 'additional_income' | 'pension_fund_income' | 'ahv_income' | 'fixed_expenses' | 'dividend' | 'publicly_notarized_purchase_contract' | 'draft_purchase_contract' | 'land_register_extract' | 'official_estimation' | 'building_insurance_certificate' | 'professional_estimation' | 'real_estate_documentation' | 'situation_cadastral_plan' | 'floor_plan' | 'property_pictures_outside' | 'property_pictures_inside' | 'proof_of_interest' | 'easements_contracts' | 'owner_association' | 'contract_for_the_establishment' | 'mortgage_note' | 'mortgage_note_erection' | 'salary_certificate_month' | 'salary_certificate_year' | 'consent_form' | 'debt_information' | 'divorce_copy' | 'building_plan' | 'survey_copy' | 'cubical_calculation' | 'other', required: All supported document types. For the enum value tax_statement. Tax statement is required.
  - `fileContent` string, binary, required: The file content.
  - `name` string, required: The name of the file without file type extension.
  - `size` integer, required: The file size in bytes.
  - `type` string, required: The file type.
  - `applicantId` string, uuid: UUID v4 of the applicant (existing applicant within the current application).

## Response `201`

created.

- CommonResourceCreatedResponse: Uuid v4 of the created resource.
  - `id` string, uuid, required: Uuid v4 of the created resource.

## Other responses

- `400`: Bad Request - The server cannot or will not process the request due to something that is perceived to be a client error as malformed request syntax.
- `401`: Unauthorized - The request has not been applied because it lacks valid authentication credentials for the target resource.
- `403`: Forbidden - The server understood the request but refuses to authorize it.
- `404`: Not Found - The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `405`: Method Not Allowed - The method received in the request-line is known by the origin server but not supported by the target resource.
- `500`: Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
- `501`: Not Implemented - The server does not support the functionality required to fulfill the request.
- `503`: Service Unavailable - The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.

## Changes

- **2025-07-28** `735bf0a87227`: 1 info
  - api operation id `addApplicationDocument` was added
- **2023-06-06** `13f87d5f5f25`: 1 breaking, 1 warning
  - added the new path request parameter `applicationId`
  - deleted the `path` request parameter `Application ID`
- **2023-03-13** `3661aeb7386e`: 1 breaking, 1 warning
  - added the new path request parameter `Application ID`
  - deleted the `path` request parameter `applicationId`
- **2022-11-04** `e7e09b626662`: 8 breaking, 1 warning, 1 info
  - the `detail` response's property type changed from `string` to `array` for status `400`
  - the `detail` response's property type changed from `string` to `array` for status `401`
  - the `detail` response's property type changed from `string` to `array` for status `403`
  - the `detail` response's property type changed from `string` to `array` for status `404`
  - …6 more
- **2022-11-04** `1b28f88a9921`: 9 breaking
  - removed the media type `application/json` for the response with the status `201`
  - the `detail` response's property type changed from `array` to `string` for status `400`
  - the `detail` response's property type changed from `array` to `string` for status `401`
  - the `detail` response's property type changed from `array` to `string` for status `403`
  - …5 more

[Operation history](https://skmtc.dev/swissfintechinnovations/apis/common-mortgage-api-public-2/changes/mortgages/applications/:applicationId/documents/post.md)

---

[API](https://skmtc.dev/swissfintechinnovations/apis/common-mortgage-api-public-2.md) - [All operations](https://skmtc.dev/swissfintechinnovations/apis/common-mortgage-api-public-2/llms.txt) - [OpenAPI document](https://skmtc.dev/swissfintechinnovations/apis/common-mortgage-api-public-2/revisions/32dae0ff8520?raw)
