---
title: "ExtractMessageResponse"
url: "https://dev.ionova.ai/apis/ars-address-resolution-service-4/versions/fdd2c316-7f84-4f04-8bb7-64e9bf97893b/schemas/ExtractMessageResponse"
---

> Full API specification: https://dev.ionova.ai/apis/ars-address-resolution-service-4/versions/fdd2c316-7f84-4f04-8bb7-64e9bf97893b.md

# ExtractMessageResponse

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: ARS — Address Resolution Service
  version: 4.3.1
servers:
  - url: https://api-uat.ionova.ai/ars
    description: UAT (test data only)
components:
  schemas:
    MessageType:
      type: string
      description: >
        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).
      enum:
        - pain.001
        - pain.002
        - pain.007
        - pain.008
        - pacs.002
        - pacs.003
        - pacs.004
        - pacs.008
        - pacs.009
        - pacs.010
        - camt.029
        - camt.052
        - camt.053
        - camt.054
        - camt.055
        - camt.056
        - camt.057
        - camt.058
        - camt.060
        - camt.105
        - camt.106
        - camt.107
        - camt.108
        - camt.109
        - camt.110
        - camt.111
    SchemeCode:
      type: string
      description: Payment scheme identifier.
      enum:
        - SCT
        - SCT_INST
        - SDD_CORE
        - SDD_B2B
        - OCT_INST
        - CBPRPLUS
        - CHAPS
        - T2
        - EURO1
        - FEDWIRE
        - OTHER
    PartyRole:
      type: string
      description: >
        ISO 20022 party role. Determines the PostalAddress24 XSD variant:

        - **__2 variant** (ultimate_debtor, ultimate_creditor,
        initiating_party):
          TownName AND Country are MANDATORY. FULLY_UNSTRUCTURED is NEVER permitted (REG-05).
        - **__1 variant** (debtor, creditor):
          Max 3 AddressLines. FULLY_UNSTRUCTURED is permitted until SR2026 cutover (2026-11-22T02:30:00Z) for INBOUND;
          banned OUTBOUND post-cutover.
      enum:
        - debtor
        - creditor
        - ultimate_debtor
        - ultimate_creditor
        - initiating_party
    AddressFormat:
      type: string
      description: Detected or target address format classification.
      enum:
        - FULLY_STRUCTURED
        - HYBRID
        - FULLY_UNSTRUCTURED
    PostalAddress:
      type: object
      description: >
        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.
      properties:
        addressLine:
          type: array
          items:
            type: string
            maxLength: 70
          maxItems: 7
          description: Unstructured address lines (max 70 chars each). Max 3 for __1
            variant parties, max 2 for __2 variant parties.
          xml:
            name: AdrLine
            wrapped: false
        streetName:
          type: string
          maxLength: 70
          xml:
            name: StrtNm
        buildingNumber:
          type: string
          maxLength: 16
          xml:
            name: BldgNb
        buildingName:
          type: string
          maxLength: 35
          xml:
            name: BldgNm
        floor:
          type: string
          maxLength: 70
          xml:
            name: Flr
        postBox:
          type: string
          maxLength: 16
          xml:
            name: PstBx
        room:
          type: string
          maxLength: 70
          xml:
            name: Room
        postCode:
          type: string
          maxLength: 16
          xml:
            name: PstCd
        townName:
          type: string
          maxLength: 35
          description: Required for __2 variant parties (ultimate_debtor,
            ultimate_creditor, initiating_party). Best practice for all.
          xml:
            name: TwnNm
        townLocationName:
          type: string
          maxLength: 35
          xml:
            name: TwnLctnNm
        districtName:
          type: string
          maxLength: 35
          xml:
            name: DstrctNm
        countrySubDivision:
          type: string
          maxLength: 35
          xml:
            name: CtrySubDvsn
        country:
          type: string
          pattern: ^[A-Z]{2}$
          description: ISO 3166-1 alpha-2. Strongly recommended. Required for __2 variant
            parties.
          xml:
            name: Ctry
        countryOfResidence:
          type: string
          pattern: ^[A-Z]{2}$
          description: ISO 3166-1 alpha-2. Country where the party is resident. Distinct
            from country in the postal address.
          xml:
            name: CtryOfRes
    Identification:
      type: object
      description: Optional party identifiers. Used for entity conflict detection (R-04).
      properties:
        organisationId:
          type: object
          xml:
            name: OrgId
          properties:
            anyBic:
              type: string
              description: BIC (8 or 11 chars).
              xml:
                name: AnyBIC
            lei:
              type: string
              description: Legal Entity Identifier (20 chars).
              xml:
                name: LEI
            other:
              type: string
              description: Other organisation identifier.
              xml:
                name: Othr
        privateId:
          type: object
          xml:
            name: PrvtId
          properties:
            other:
              type: string
              description: Private individual identifier.
              xml:
                name: Othr
    ExtractMessageResponse:
      type: object
      xml:
        name: ExtractMessageResponse
      properties:
        messageType:
          $ref: "#/components/schemas/MessageType"
        scheme:
          $ref: "#/components/schemas/SchemeCode"
        discoveredAddresses:
          type: integer
        partyAddresses:
          type: array
          items:
            type: object
            properties:
              partyRole:
                $ref: "#/components/schemas/PartyRole"
              xpath:
                type: string
              postalAddressVariant:
                type: string
                enum:
                  - __1
                  - __2
              format:
                $ref: "#/components/schemas/AddressFormat"
              postalAddress:
                $ref: "#/components/schemas/PostalAddress"
              identification:
                $ref: "#/components/schemas/Identification"
              countryOfResidence:
                type: string
                pattern: ^[A-Z]{2}$
              isMandatory:
                type: boolean
                description: Whether this address is legally required for this scheme and
                  corridor.
              complianceReady:
                type: boolean
                description: Whether this address would pass SR2026 post-cutover enforcement.
        timestamp:
          type: string
          format: date-time
```
