Free

Free structured payment reference check (JSON body)

Same contract as the GET, with the reference in a JSON body — convenient for references carrying characters awkward to url-encode.

post/v1/reference/validate

Request body

referencestring required
reference_type'rf' | 'scor' | 'qrr' | 'ogm' | 'vcs' | 'viitenumero' | 'kid' | 'ocr'

Example request

{
  "reference": "+++010/8068/17183+++"
}

Response

Reference verdict

referencestring required

Normalized: uppercase, separators removed

scheme'rf' | 'qrr' | 'ogm' | 'viitenumero' | 'kid' | 'ocr' nullable required

Null when no supported scheme matches the string

validboolean nullable required

null is a REAL answer, not a missing one: the scheme was recognised and cannot be checked without the creditor bank configuration (KID, OCR). Never present null to a user as invalid.

status'checked' | 'unverifiable_without_creditor_config' | 'unrecognised' required
check_digit_expectedstring

A STRING, so a two-digit value beginning with zero survives — an OGM remainder of 3 is "03", and a remainder of 0 is written "97".

sourcestring nullable required

The document that publishes the rule. Null only when no scheme matched, so no rule was applied. Relay it: it is what makes the verdict auditable.

as_ofstring

YYYY-MM of that document — the date it carries, never a future validity date

notestring required

What was checked, and what was not

pairing_verdictstring

Pointer to POST /v1/iban/validate for the QRR/SCOR pairing verdict

Example response

{
  "reference": "RF18539007547034",
  "check_digit_expected": "18",
  "also_valid_as": {
    "scheme": "viitenumero"
  },
  "as_of": "2023-10"
}

Changes