Message FamiliesAnswers

Answers

The answer family: MT196 and MT296 answers to and from camt.111 investigation responses, with the :76: answer status codes.

Formats

FormatWhat it isVersions acceptedEmitted by default
mt196Answers (customer payments)n/an/a
mt296Answers (bank transfers)n/an/a
camt.111Investigation response.001.03.001.03

Pairs

FromTo
mt196, mt296camt.111
camt.111mt196, mt296

An answer never converts into a query or a cancellation request, and mt196 → mt296 is not a pair. The other answer format, camt.029 (resolution of investigation), is normalize-only. There is no canonical source.

How fields map

An answer normalizes to an investigation document of kind answer: a case id, a status, the references of the original query or payment, and narrative.

MT196/MT296 to camt.111.

  • :20: becomes the case id: the message id and the responder's investigation id.
  • :21: (the reference of the query being answered) becomes the original end-to-end id.
  • :76: lines become narrative. The first line starting with an answer status codeword (/CNCL/, /PDCR/, /RJCR/) also sets the status. The line stays in the narrative as well.
  • :77A: and :79: lines become narrative.
  • :11R:/:11S: identify the original message; a copied :32A: becomes the original amount and settlement date.

camt.111 to MT196/MT296. The status becomes a /STATUS/ first line of :76: (unless the narrative already starts with it). Narrative fills :76: (six lines in total) and then :77A: (20 lines). With nothing to write, :76: is NOTPROVIDED. The target id (mt196 or mt296) decides the message type.

Recognised answer status codes

:76: codewordMeaning
CNCLCancelled as requested
PDCRCancellation request pending
RJCRCancellation request rejected

Other camt.111 statuses (for example ACPT or RJCT) are carried verbatim as a /CODE/ line and flagged with RETURN_REASON_UNMAPPED.

Where information is lost

SituationWarning
Reason codes going to MT: MT answers have no field for themDROP_FIELD (lossy)
Narrative beyond :76: + :77A:, or beyond 500 characters per camt.111 blockTRUNC_NARRATIVE
A status outside the recognised listRETURN_REASON_UNMAPPED
A camt.111 status longer than four characters: NARR is written insteadDROP_FIELD (lossy)
No status at all: camt.111 gets NARR (status given in the narrative)MISSING_REQUIRED_DEFAULTED
camt.111 needs the original request's message id, requester, responder and investigation type, which MT does not carry; NOTPROVIDED placeholders are writtenMISSING_REQUIRED_DEFAULTED
Next responder, structured response data, assigner, UETR and creation time going to MTDROP_FIELD
A case id longer than 16 characters going to :20:TRUNC_REFERENCE

Conventions

  • Status is an extraction. The status codeword is read from the narrative but not removed from it, so the full :76: text survives in camt.111 RspnNrrtv.
  • Reason codes travel one way. A camt.111 status reason and original investigation type have no MT answer field; they are reported with DROP_FIELD when you convert to MT.
  • Sibling detection. A bare MT296 detects as mt196; send the FIN envelope or from=mt296 to keep the type.

Example

curl -sS -X POST "https://api.transmute.403fin.io/v1/convert?to=camt.111" \
  -H "Authorization: Bearer $TRANSMUTE_KEY" \
  -H "Content-Type: text/plain" \
  --data-binary @- <<'MT'
:20:ANSW-2026-0001
:21:QRY-2026-0001
:76:/CNCL/
MT

The result document, formatted:

<InvstgtnRspn>
  <MsgId>ANSW-2026-0001</MsgId>
  <RspndrInvstgtnId>ANSW-2026-0001</RspndrInvstgtnId>
  <InvstgtnSts><Sts>CNCL</Sts></InvstgtnSts>
  <InvstgtnData>
    <OrgnlInvstgtnSeq>1</OrgnlInvstgtnSeq>
    <RspnData><RspnNrrtv>/CNCL/</RspnNrrtv></RspnData>
  </InvstgtnData>
</InvstgtnRspn>
<OrgnlInvstgtnReq>
  <MsgId>NOTPROVIDED</MsgId>
  <InvstgtnTp><Prtry>NOTPROVIDED</Prtry></InvstgtnTp>
  <Undrlyg><IntrBk><OrgnlEndToEndId>QRY-2026-0001</OrgnlEndToEndId></IntrBk></Undrlyg>
  <Rqstr><Pty><Nm>NOTPROVIDED</Nm></Pty></Rqstr>
  <Rspndr><Pty><Nm>NOTPROVIDED</Nm></Pty></Rspndr>
</OrgnlInvstgtnReq>

The response carries four MISSING_REQUIRED_DEFAULTED (info) warnings, for OrgnlInvstgtnReq/MsgId, OrgnlInvstgtnReq/Rspndr, OrgnlInvstgtnReq/Rqstr and OrgnlInvstgtnReq/InvstgtnTp; meta.targetType is camt.111.001.03.