---
title: "Swift MT9xx to camt Statement Migration Mapper"
method: POST
path: "/v1/tools/map_mt9xx_to_camt"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Swift MT9xx to camt Statement Migration Mapper

`POST /v1/tools/map_mt9xx_to_camt`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/map_mt9xx_to_camt`
- Auth: none declared

Maps a pasted Swift MT900/910/940/942/950 statement or notification message to a camt.052/053/054-shaped JSON mapping object, plus a fidelity report (truncation findings, unmappable tags, and a 60F + sum(61) = 62F balance-consistency check for statement types). Swift retires these MT9xx messages in the 2027-28 coexistence window, receive-capability for the camt equivalents is mandated from November 2027, and Swift itself provides no MT-to-ISO 20022 conversion tool -- the translation burden lands on the receiving corporate or treasury. Field vocabulary (MT tag to camt element path) is reused from the tools/402 MT/MX field decoder. Kernel output stays JSON only; camt XML serialization from that JSON happens page-side. Distinct from the tools/565 camt.053 reconciliation workbench, which reconciles already-mapped camt.053 data against a ledger rather than mapping the message format.

**Tool URL:** https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html

## Request body

- object
  - `declared_mt_type` unknown, required
  - `message_text` unknown, required
  - `target` unknown, required

## Response `200`

Successful tool execution result

- object
  - `account_id` string
  - `camt_message_root` string
  - `coexistence_note` string
  - `default_target` string
  - `disambiguation` string
  - `fidelity_report` object
    - `balance_check` object
      - `actual_closing_signed_cents` integer
      - `currency_consistent` boolean
      - `discrepancy_cents` integer
      - `expected_closing_signed_cents` integer
      - `opening_signed_cents` integer
      - `pass` boolean
      - `sum_entries_signed_cents` integer
    - `data_loss_warnings` unknown[]
      - unknown
    - `truncation_findings` unknown[]
      - unknown
    - `unmappable_tags` unknown[]
      - unknown
  - `mapping` object[]
    - `camt_path` string
    - `mt_tag` string
    - `transform` string
    - `value` string
  - `message_id` string
  - `mt_type` string
  - `mt_type_conflict` boolean
  - `no_swift_endorsement` string
  - `notification` string
  - `pii_note` string
  - `rejected_inputs` unknown[]
    - unknown
  - `statement` object
    - `closing` object
      - `amount_cents` integer
      - `currency` string
      - `date_iso` string
      - `dc` string
      - `signed_cents` integer
    - `entries` object[]
      - `amount_cents` integer
      - `bank_reference` string
      - `camt_path` string
      - `customer_reference` string
      - `dc` string
      - `entry_date_mmdd` string
      - `funds_code` string
      - `narrative` string
      - `signed_cents` integer
      - `transaction_type_code` string
      - `value_date_iso` string
    - `opening` object
      - `amount_cents` integer
      - `currency` string
      - `date_iso` string
      - `dc` string
      - `signed_cents` integer
    - `seq_number` string
    - `stmt_number` string
  - `target` string
  - `target_overridden` boolean
  - `verdict` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
