Answers
The answer family: MT196 and MT296 answers to and from camt.111 investigation responses, with the :76: answer status codes.
Formats
| Format | What it is | Versions accepted | Emitted by default |
|---|---|---|---|
mt196 | Answers (customer payments) | n/a | n/a |
mt296 | Answers (bank transfers) | n/a | n/a |
camt.111 | Investigation response | .001.03 | .001.03 |
Pairs
| From | To |
|---|---|
mt196, mt296 | camt.111 |
camt.111 | mt196, 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: codeword | Meaning |
|---|---|
CNCL | Cancelled as requested |
PDCR | Cancellation request pending |
RJCR | Cancellation 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
| Situation | Warning |
|---|---|
| Reason codes going to MT: MT answers have no field for them | DROP_FIELD (lossy) |
Narrative beyond :76: + :77A:, or beyond 500 characters per camt.111 block | TRUNC_NARRATIVE |
| A status outside the recognised list | RETURN_REASON_UNMAPPED |
A camt.111 status longer than four characters: NARR is written instead | DROP_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 written | MISSING_REQUIRED_DEFAULTED |
| Next responder, structured response data, assigner, UETR and creation time going to MT | DROP_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.111RspnNrrtv. - Reason codes travel one way. A camt.111 status reason and original investigation type have no MT answer field; they are reported with
DROP_FIELDwhen you convert to MT. - Sibling detection. A bare MT296 detects as
mt196; send the FIN envelope orfrom=mt296to 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.