ARS — Address Resolution Service

EP-06 — Classify Party Address

Lightest available endpoint. Returns format classification only — no validation,
verification, conversion, or normalisation. Extremely low latency.

Classification logic:

  • FULLY_STRUCTURED: Country + TownName present AND no AddressLine.
  • HYBRID: Country + TownName present AND AddressLine present.
  • FULLY_UNSTRUCTURED: anything else.

No issues[] or reasons[] in response. Context fields are analytics only.

Processing precedence: channelProfile → processingOptions → context.

post
https://api-uat.ionova.ai/ars/classify-party-address

Headers

X-Request-IDstring(uuid)

Client-supplied correlation ID echoed in response headers for tracing.

Body

ClassifyPartyAddressRequest

EP-06 request. Lightweight classification only — no repair.

channelNamestring
postalAddressobject

ISO 20022 PostalAddress24 object. All 14 structured fields are supported.
Country is strongly recommended for all submissions.
AddressLine is limited to max 7 elements in schema; practical publishing limits
are governed by OutputMode (EPC=2, CBPR_PLUS=3, MT_LEGACY=2, COMPLIANCE=7).
PMPG non-duplication rule: structured fields (TownName, Country) must NOT also
appear in AddressLine simultaneously.

Show Child Parameters
postalAddressXmlobject

ISO 20022 XML tag equivalents of PostalAddress. Alternative input format — clients
may supply either postalAddress (JSON) or postalAddressXml (XML tag names), not both.

Show Child Parameters
contextobject

Analytics only for this endpoint — no processing fallback.

Show Child Parameters

Response

Classification completed

ClassifyPartyAddressResponse

formatstring

Detected or target address format classification.

Allowed values:FULLY_STRUCTUREDHYBRIDFULLY_UNSTRUCTURED

hasAddressLineboolean
addressLineCountinteger
hasStructuredFieldsboolean
hasTownNameboolean
hasCountryboolean
post/classify-party-address

Body

{ "postalAddress": { "postCode": "1000", "townName": "Brussels", "country": "BE", "addressLine": [ "CITY HALL GROTE MARKT 1" ] } }
 

Layer 1 — Regulatory

R-transaction exemption assessment at party address level.

EP-07 — R-Transaction Party Address

Evaluates EPC Section 8.3 exemption for a single R-transaction address.
The address is NEVER modified.

Exemption logic:

  • originalExecutionDatetime < 2026-11-22T02:30:00Z → exempt; unstructured accepted.
  • originalExecutionDatetime ≥ cutover → SR2026 enforcement applies.
  • Not provided → exemptionApplicable: null; structural validation attempted.

EPC §8.3: pain.002 and pain.007 report structural issues as warnings only.

Processing precedence: channelProfile → processingOptions → context.

post
https://api-uat.ionova.ai/ars/r-transaction-party-address

Headers

X-Request-IDstring(uuid)

Client-supplied correlation ID echoed in response headers for tracing.

Body

RTransactionPartyAddressRequest

EP-07 request. R-transaction address exemption assessment.

channelNamestring
postalAddressobjectrequired

The exact address as it appears in the R-message. Must not be altered.

Show Child Parameters
originalExecutionDatetimestring(date-time)

When the original payment was executed. Determines SR2026 exemption eligibility.

processingOptionsobject

Per-request overrides of the channelProfile configuration. Only fields present
here override the corresponding channelProfile value. Fields absent here fall
through to channelProfile. This is NOT a general-purpose configuration block —
it only overrides values already set in channelProfile.

Show Child Parameters
contextobject

Analytics/audit passthrough AND processing fallback layer.
Fields labelled “Analytics + Processing fallback” are used as last-resort defaults
when both channelProfile and processingOptions leave a parameter unresolved.
Pure analytics fields are written to the ARS audit log but do not affect processing.
Processing precedence: channelProfile → processingOptions → context.

Show Child Parameters

Response

R-transaction assessment completed

RTransactionPartyAddressResponse

decisionstring

Top-level processing decision.

Allowed values:ACCEPTREJECTPARTIAL_SUCCESS

rTransactionContextobject

R-transaction exemption assessment result.

Show Child Parameters
resultobject

Address exactly as submitted — NO repair is applied.

Show Child Parameters
statisticsobject

Processing statistics block returned on all endpoints.

Show Child Parameters
timestampstring(date-time)
post/r-transaction-party-address

Body

{ "channelName": "MY_SEPA_SCT", "postalAddress": { "addressLine": [ "10 Unter den Linden", "10117 Berlin" ], "country": "DE" }, "originalExecutionDatetime": "2026-10-01T08:00:00Z" }
 

Layer 2 — Message

Complete ISO 20022 message in — all party addresses discovered and processed
automatically via XPath registry.

EP-08 — Process Message Party Addresses

Message-level equivalent of EP-01. Submit a complete ISO 20022 message — ARS
discovers all party addresses via XPath registry, applies the correct
PostalAddress24 variant per role, and runs the full 7-step pipeline.

XPath registry covers:

  • pain.001: debtor, creditor, ultimate_debtor, ultimate_creditor, initiating_party (5 roles)
  • pain.008: creditor, debtor, initiating_party (3 roles)
  • pacs.008: debtor, creditor, ultimate_debtor, ultimate_creditor (4 roles)
  • pacs.003: debtor, creditor (2 roles)
  • pacs.009: debtor, creditor (2 roles)

Either messageContent or messageXml required. If both, messageXml takes precedence.
OCT_INST: payer address always mandatory regardless of EEA status.

Processing precedence: channelProfile → processingOptions → context.

post
https://api-uat.ionova.ai/ars/process-message-party-addresses

Headers

X-Request-IDstring(uuid)

Client-supplied correlation ID echoed in response headers for tracing.

Idempotency-Keystring

Idempotency key for safe retry of POST requests. Duplicate submissions with the same key return the cached response.

<= 64 characters

Body

ProcessMessageRequest

EP-08 request. Full ARS AutoCorrect on all party addresses in an ISO 20022 message.

channelNamestring

Name of a registered channelProfile. Loads scheme, direction, outputMode, and other defaults.

executionDatetimestring(date-time)

Transaction execution datetime for SR2026 cutover enforcement.

messageContentobject

JSON equivalent of the ISO 20022 message. One of messageContent or messageXml required.

messageXmlstring

Raw ISO 20022 XML string. Takes precedence over messageContent if both provided.

processingOptionsobject

Per-request overrides of the channelProfile configuration. Only fields present
here override the corresponding channelProfile value. Fields absent here fall
through to channelProfile. This is NOT a general-purpose configuration block —
it only overrides values already set in channelProfile.

Show Child Parameters
contextobject

Analytics/audit passthrough AND processing fallback layer.
Fields labelled “Analytics + Processing fallback” are used as last-resort defaults
when both channelProfile and processingOptions leave a parameter unresolved.
Pure analytics fields are written to the ARS audit log but do not affect processing.
Processing precedence: channelProfile → processingOptions → context.

Show Child Parameters
includearray[string]

Response

Message processing completed

ProcessMessageResponse

decisionstring

Top-level processing decision.

Allowed values:ACCEPTREJECTPARTIAL_SUCCESS

messageTypestring

ISO 20022 message type. R-transaction types (pain.002, pain.007, pacs.002,
pacs.004, camt.029, camt.052, camt.053, camt.054, camt.055, camt.056, camt.058, camt.110, camt.111) must be submitted to R-transaction endpoints only
(EP-07, EP-15). Submitting them to Check/Convert endpoints returns HTTP 422 (REG-06).

Allowed values:pain.001pain.002pain.007pain.008pacs.002pacs.003pacs.004pacs.008pacs.009pacs.010camt.029camt.052camt.053camt.054camt.055camt.056camt.057camt.058camt.060camt.105camt.106camt.107camt.108camt.109camt.110camt.111

schemestring

Payment scheme identifier.

Allowed values:SCTSCT_INSTSDD_CORESDD_B2BOCT_INSTCBPRPLUSCHAPST2EURO1FEDWIREOTHER

discoveredAddressesinteger
resultsarray

Full address processing result object (used in EP-01 and all Layer 1 responses).

Show Child Parameters
statisticsobject

Processing statistics block returned on all endpoints.

Show Child Parameters
issuesarray[object]

Legacy issue object. Preserved for backward compatibility with v4.0 integrations.
New integrations should use reasons[] instead.

Show Child Parameters
timestampstring(date-time)
post/process-message-party-addresses

Body

{ "channelName": "MY_CBPR_OUT", "executionDatetime": "2026-10-15T10:00:00Z", "messageXml": "<Document>...</Document>" }