---
title: "Get a list of all mortgage products"
method: GET
path: "/mortgages/products"
tags: ["Mortgage Products and Conditions"]
---

# Get a list of all mortgage products

`GET /mortgages/products`

## Request

- Base URL: `https://mortgage.common-api.ch`
- URL: `https://mortgage.common-api.ch/mortgages/products`
- 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`

Get a complete overview of all available mortgage products sorted by productId.

## Query parameters

- `interest_rate_type` 'variable' | 'libor' | 'saron' | 'fixed'
- `duration` integer
- `cursor` string
- `limit` integer

## Headers

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

## Response `200`

Paginated list of all mortgage products with all related information sorted by productId.

- object
  - `productList` Product[], required
    - `interestRateType` 'variable' | 'libor' | 'saron' | 'fixed', required: type of interest rate.
    - `names` object[], required: name of mortgage product.
      - `description` string: Product name description.
      - `language` 'de' | 'fr' | 'it' | 'en': Language of product name.
    - `productId` string, uuid, required: Uuid of the product.
    - `productVariations` ProductVariation[]: ..
      - `duration` integer: The duration in years.
      - `rate` number, double: The interest rate.
      - `saronperiod` '1m' | '3m' | '6m' | '12m': The saron period.

## 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 `listProducts` was added
- **2024-11-18** `990b493a4a31`: 2 warning, 2 info
  - deleted the `query` request parameter `offset`
  - removed the optional property `_links` from the response with the `200` status
  - added the new optional `query` request parameter `cursor`
  - the response property `productList` became required for the status `200`
- **2024-10-31** `83979484bf5f`: 1 warning, 1 info
  - deleted the `query` request parameter `interestRateType`
  - added the new optional `query` request parameter `interest_rate_type`
- **2023-01-30** `85c41022fd68`: 1 breaking
  - for the `query` request parameter `interestRateType`, default value `missingDefaultOrExample` was removed
- **2023-01-30** `40df803036cd`: 1 breaking
  - for the `query` request parameter `interestRateType`, default value `missingDefaultOrExample` was added

[Operation history](https://skmtc.dev/swissfintechinnovations/apis/common-mortgage-api-public-2/changes/mortgages/products/get.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)
