---
title: "Free ISO 20022 postal-address conformity check"
method: POST
path: "/v1/address/check"
tags: ["Free"]
---

# Free ISO 20022 postal-address conformity check

`POST /v1/address/check`

FREE rule check on a postal address YOU have already structured, for the November 2026 structured-address deadlines (SPS 2026 in force 14 Nov 2026, last SIC release accepting unstructured addresses 20 Nov 2026, Fedwire production 16 Nov 2026, T2 R2026.NOV). Pure rule evaluation — it reads no database, which is why it is free. Every finding names the document the rule comes from, with its date. Schemes: sps, hvps_plus, fedwire. No 'cbpr+' scheme is offered, on purpose. The CBPR+ usage guideline and the PMPG "November 2026 postal address guidance" are published on swift.com, which was unreachable on 26.08.2026 (iso20022.org likewise; europeanpaymentscouncil.eu returns 403 on its document library). Every rule applied here is quoted from a document that was actually read, and each finding names it. A boolean claiming CBPR+ conformity would be a guess dressed as a verdict. It does NOT parse or normalise a free-text address into a structured one — that needs national postal reference data we do not hold.

## Request body

- object
  - `scheme` 'sps' | 'hvps_plus' | 'fedwire', required — The payment scheme whose rules to apply. 'hvps+' is accepted as a spelling of 'hvps_plus'. 'cbpr+' is refused with an explanation rather than answered with a guess.
  - `address` object, required — The ISO 20022 PostalAddress elements you intend to send, in ISO tag vocabulary. An unknown property is rejected rather than ignored, so a caller who writes `town` instead of `twn_nm` is told rather than handed a green verdict on an address nobody looked at.
    - `twn_nm` string
    - `ctry` string
    - `pst_cd` string
    - `strt_nm` string
    - `bldg_nb` string
    - `adr_tp` string — Address Type. Forbidden by SPS ("N — Must not be sent").
    - `adr_line` string[]

## Response `200`

Conformity verdict. One finding per rule evaluated, passing or failing, so a caller can see what was checked and not only what broke.

- object
  - `scheme` 'sps' | 'hvps_plus' | 'fedwire', required
  - `conforms` boolean, required — True when no finding failed. Rules that did not apply do not count against it.
  - `findings` object[], required
    - `rule` string, required
    - `verdict` 'pass' | 'fail' | 'not_applicable', required — not_applicable marks a rule whose precondition is not met — an AdrLine rule on an address with no AdrLine. It is a real answer, not a polite pass.
    - `detail` string, required
    - `source` string, required — The document the rule comes from, with its date.
  - `note` string, required — Why no cbpr+ scheme is offered. Served on every answer.

## Other responses

- `400` — Malformed body, unknown address element, unknown scheme, or scheme 'cbpr+' — which is refused with the reason.

---

[API](https://skmtc.dev/ibanforge/apis/ibanforge-api.md) · [All operations](https://skmtc.dev/ibanforge/apis/ibanforge-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ibanforge/ibanforge-api/revisions/9499dba434ea/schema)
