> For the complete documentation index, see [llms.txt](https://api-docs.flagstoneim.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.flagstoneim.com/apis/products.md).

# Product Catalog

**What it is:** The Product Catalog API lets you browse the savings products available on our platform.

Products are offered by financial institutions and include fixed term deposits, instant access accounts, and notice accounts - each with specific rates, terms, and deposit limits.

**How it works:** Query the products endpoint to get a list of all available products with their current issues (rate tranches).

Each product includes the financial institution details, FSCS protection status, and associated documents.

Use the product issue endpoint to get specific rates and issue details.

**Base URL:** `https://api.sandbox.flagstoneim.com/products`

**API Version:** `2022-07-01`

***

## 📋 Endpoints

| Method | Path                                                                               | Description                           |
| ------ | ---------------------------------------------------------------------------------- | ------------------------------------- |
| `GET`  | `/`                                                                                | List all available products           |
| `GET`  | `/{productId}`                                                                     | Get full detail of a specific product |
| `GET`  | `/{productId}/{issueNumber}/summary`                                               | Get product issue details with rates  |
| `GET`  | `/{productId}/issue/{issueNumber}/version/{versionNumber}/document/{documentType}` | Download product document             |

***

## 📦 1. List All Products

**What it is:** Returns all products available to your financial partner, including their current issues and rates.

**How it works:** Call the root endpoint to get the full product catalog. Each product includes one or more issues (rate tranches), financial institution details, and term information.

```http
GET /
cdpapi-Subscription-Key: your-api-key-here
```

**Response** (200 OK):

```json
{
  "productItems": [
    {
      "productId": "1",
      "productTermType": "FixedTerm",
      "termLengthUnit": "Month",
      "termLength": 1,
      "noticeLengthUnit": "NoNotice",
      "noticeLength": 0,
      "productIssues": [
        {
          "productIssueNumber": 1,
          "productIssueVersionNumber": 1,
          "isClosedToNewAccounts": false,
          "ratePercent": 2.5,
          "depositPerAccountMinimum": 1000,
          "depositPerAccountMaximum": 10000,
          "aer": 2.9,
          "documents": [
            {
              "documentId": "2",
              "documentVersion": 2,
              "documentType": "FlagstoneTerms",
              "contentTypes": ["text/html"],
              "uri": "api.flagstoneim.com/products/6/issue/1/version/1/document/FlagstoneTerms"
            }
          ]
        }
      ],
      "financialInstitution": {
        "financialInstitutionId": "2",
        "financialInstitutionVersion": 1,
        "isFscsProtected": false,
        "isSharia": false,
        "financialInstitutionName": "Aldmore Bank",
        "financialInstitutionShortName": "ALD",
        "financialInstitutionType": "Bank",
        "countryCode": "GBR"
      },
      "currencyCode": "GBP",
      "interestPaidType": "AtMaturity",
      "interestPaysFrequency": "Month",
      "dateLastUpdatedUTC": "2022-01-02T14:50:09.0000000+00:00"
    }
  ]
}
```

### Understanding the Product Model

| Field              | Description                                           |
| ------------------ | ----------------------------------------------------- |
| `productTermType`  | `FixedTerm`, `InstantAccess`, or `Notice`             |
| `termLengthUnit`   | `Day`, `Month`, `Year`, or `NoTerm` (instant access)  |
| `termLength`       | Duration in the unit specified (0 for instant access) |
| `noticeLengthUnit` | `Day`, `Month`, `Year`, or `NoNotice`                 |
| `noticeLength`     | Notice period required for withdrawals                |
| `interestPaidType` | When interest is paid - `AtMaturity`, `Daily`, etc.   |
| `currencyCode`     | Three-letter ISO-4217 currency code (GBP, EUR, USD)   |

### Product Issues

Each product has one or more **issues** - these represent rate tranches:

| Field                       | Description                             |
| --------------------------- | --------------------------------------- |
| `productIssueNumber`        | The issue number of this tranche        |
| `productIssueVersionNumber` | The version within the issue            |
| `ratePercent`               | The headline interest rate              |
| `aer`                       | Annual Equivalent Rate                  |
| `depositPerAccountMinimum`  | Minimum deposit amount                  |
| `depositPerAccountMaximum`  | Maximum deposit amount                  |
| `isClosedToNewAccounts`     | Whether this issue accepts new deposits |

### Financial Institution

Each product is offered by a financial institution:

| Field                         | Description                                                                              |
| ----------------------------- | ---------------------------------------------------------------------------------------- |
| `financialInstitutionName`    | Full name of the bank/building society                                                   |
| `isFscsProtected`             | Whether deposits are covered by FSCS (Financial Services Compensation Scheme) protection |
| `isSharia`                    | Whether this is a Sharia-compliant institution                                           |
| `countryCode`                 | Country of the institution (ISO-3166)                                                    |
| `financialInstitutionGroupId` | Institutions in the same group share FSCS limits                                         |

***

## 🔍 2. Get Product Detail

**What it is:** Returns the full detail of a specific product, including all issues and their version history.

```http
GET /{productId}
cdpapi-Subscription-Key: your-api-key-here
```

**Response** (200 OK): Returns the same product structure as the list endpoint, but for a single product with full issue version history.

| Status | Meaning           |
| ------ | ----------------- |
| `200`  | Product found     |
| `404`  | Product not found |

***

## 📊 3. Get Product Summary

**What it is:** Returns a summary of a specific product issue, including projected returns for a proposed deposit amount.

**How it works:** Supply the product ID, issue number, and optionally a proposed deposit amount to see estimated balance and net rate.

```http
GET /{productId}/{issueNumber}/summary?proposedDepositAmount=10000
cdpapi-Subscription-Key: your-api-key-here
```

**Response** (200 OK):

```json
{
  "productId": 11,
  "productIssueNumber": 1,
  "netRate": 0.55,
  "estimatedBalance": 10055,
  "dateOfAccountOpen": "2021-10-18T00:00:00.0000000+00:00",
  "termsAndConditionsUrl": "https://api.flagstoneim.com/products/11/issue/1/version/1/document/FlagstoneTerms"
}
```

***

## 📄 4. Get Product Document

**What it is:** Download product documents such as terms and conditions, deposit information, or Flagstone terms.

```http
GET /{productId}/issue/{issueNumber}/version/{versionNumber}/document/{documentType}
Accept: application/pdf
cdpapi-Subscription-Key: your-api-key-here
```

**Document Types:**

* `ProductTermsAndConditions`
* `DepositInformation`
* `FlagstoneTerms`

**Response:** Returns the document as a binary file stream.

***

## 📖 Full API Reference

For the complete OpenAPI specification including all schemas and field descriptions, see the [Products API Reference](/api-reference/products-api-ref.md).
