---
title: "Validate a prospective subscription"
method: POST
path: "/validate"
tags: ["Subscriptions"]
---

# Validate a prospective subscription

`POST /validate`

Validate a prospective subscription without committing to it.

Confirms the indication is still available to this entity on the chosen subscription date and that
the amount is within the indication's permitted limits, returning the matching indication (including
its current pricing). Use this as a pre-flight check before calling `/subscribe`. A 4xx response
indicates the prospective subscription would be rejected.

## Request body

- ValidateBody — Body for validating a prospective subscription before committing to it. Mirrors the fields of a subscription request. The endpoint performs a full validation: it confirms the indication is still available and that the amount is within the indication's permitted limits.
  - `amount` number, required — Proposed subscription amount in the currency of the indication
  - `entityCode` string, required — Subscribing entity code
  - `indicationUid` string, required — Uid of the indication to validate against.
  - `maturityAction` 'Roll' | 'Hold' | 'Redeem'
  - `source` string — Source of funds
  - `subscriptionDate` string, date, nullable — The date to subscribe to the FTF. A list of possible dates can be found in the subscriptionDates field for the indication. If no date provided, this will default to today.

## Response `200`

The matching indication if the prospective subscription is valid

- Indication — Indication schema.
  - `calendars` string[], required — List of calendars followed by product
  - `cellCode` string, required — Cell Code
  - `created` string, date-time — Indication creation date (timezone aware, London time).
  - `currency` string, required — FTF currency
  - `cutoffTime` string, time, required — Time of day at which subscription cut-off occurs for this product, expressed as a naive wall-clock time in London local time (Europe/London). It is the same for every subscriptionDate. Because it carries no date, it has no UTC offset (a wall-clock time maps to a different UTC instant under GMT vs BST); to obtain the timezone-aware cut-off instant, combine it with the chosen subscriptionDate in the Europe/London timezone.
  - `enabled` boolean, required — Controls if the indication is enabled or set to notify me
  - `enforceMaximum` boolean, required — Enforce maximum investment amount (if not enforced any subscription above maximum is subject to review)
  - `enforceMinimum` boolean, required — Enforce minimum investment amount (if not enforced any subscription below minimum is subject to review)
  - `expiry` string, date-time — Indication deprecated after expiring, rates subject to change (timezone aware, London time).
  - `extensionDays` integer, nullable — Extension frequency (in days) (extendables only)
  - `finalDays` integer, nullable — Final period (in days) (extendables only)
  - `indicativeFinalYield` number, nullable — Indicative final period yield, annualised APY (extendables only).
  - `indicativeYield` number, required — Indicative yield (annualised APY).
  - `issueDate` string, date, required — Issue date of the FTF
  - `maturityDate` string, date, required — Maturity date of the FTF
  - `maximum` number, required — Maximum Investment amount (in Millions)
  - `minExtensions` integer, nullable — Minimum extensions to remove dropdown rate (extendables only)
  - `minimum` number, nullable — Minimum investment amount (in Millions)
  - `nbPenaltyExtensions` integer, nullable — Minimum extensions to remove penalty spread (extendables only)
  - `obligorExposureCode` string, required — Obligor Exposure Code
  - `obligorExposureName` string, required — Obligor Exposure Name
  - `optionDate` string, date, nullable — Extension option date (extendables only)
  - `productCode` string, nullable — Product Code
  - `restricted` boolean, required — Controls if the indication is restricted for a particular entity
  - `sector` string, nullable — Product Sector
  - `subscriptionDates` string[], required — List of subscription dates
  - `term` string, required — The product term
  - `type` string, required — FTF type
  - `uid` string, required — Indication uid

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/treasuryspring/apis/treasuryspring-public-api.md) · [All operations](https://skmtc.net/treasuryspring/apis/treasuryspring-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/treasuryspring/treasuryspring-public-api/versions/d587dda25444/schema)
