canm: Network Management
canm.004 Key Exchange Response
Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked
canm.004 is the ISO 20022 KeyExchangeResponse message in the Network Management business area (canm). The latest version is canm.004.001.04, and 3 versions are in the repository.
- Message
- KeyExchangeResponse
- Latest version
- canm.004.001.04
- Submitting organisation
- ISO TC68/SC9/TG1
- MT equivalent
- None listed
In use: published in the current ISO 20022 catalogue.
What canm.004 is for
The KeyExchangeResponse message is sent by any party to any party (acquirer, agent or issuer) in response to a KeyExchangeInitiation message.
canm.004 versions
Every version published in the e-Repository, newest first. A message keeps its business purpose across versions; each new version is a separate schema with its own namespace.
| Version | Registration status | Published in |
|---|---|---|
| canm.004.001.04latest | Registered | Latest version set |
| canm.004.001.03 | Registered | Previous version set |
| canm.004.001.02 | Registered | Archive |
canm.004 message structure
The building blocks of canm.004.001.04 to three levels, with multiplicity ([0..1] optional, [1..1] mandatory, * any number) and the data type or component. Element names and definitions are from the ISO 20022 repository; usage guidelines such as CBPR+ or a market infrastructure's rules can restrict them further.
Document[1..1]KeyXchgRspnKeyExchangeResponse [1..1]HdrHeader [1..1]Header71Information related to the management of the protocol.
MsgFctnMessage Function [1..1]ExternalMessageFunction1CodeIdentifies the type of process related to the message.
PrtcolVrsnProtocol Version [1..1]Max2048TextVersion of the acquirer to issuer protocol specifications.
XchgIdExchange Identification [0..1]Max35TextUnique identification of an exchange of messages between two parties.
ReTrnsmssnCntrRe Transmission Counter [0..1]Max3NumericTextNumber of retransmission of the message.
CreDtTmCreation Date Time [1..1]ISODateTimeDate and time at which the message was sent.
BtchMgmtInfBatch Management Information [0..1]BatchManagementInformation1Information related to the batch and the collection to which the message belongs if any.
ColltnIdCollection Identification [0..1]Max35TextBtchIdBatch Identification [1..1]Max35TextMsgSeqNbMessage Sequence Number [0..1]Max15NumericTextMsgChcksmInptValMessage Checksum Input Value [0..1]Max140Binary
InitgPtyInitiating Party [1..1]GenericIdentification183Unique identification of the partner that has initiated the exchange.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35Text
RcptPtyRecipient Party [0..1]GenericIdentification183Unique identification of the partner that is the recipient of the message exchange.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35Text
TracDataTrace Data [0..*]AdditionalData1Information sent in the request message to be returned in the response one, for instance to help in the retrieval of the context of the exchange.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
TracbltTraceability [0..*]Traceability10Identification of partners involved in exchange from the merchant to the issuer, with the relative timestamp of their exchanges.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35TextDtTmInDate Time In [0..1]ISODateTimeDtTmOutDate Time Out [0..1]ISODateTime
KeyXchgFctnKey Exchange Function [1..1]CardServiceType5CodeType of key exchange function being performed.
OthrKeyXchgFctnOther Key Exchange Function [0..1]Max35TextOther key exchange function being performed.
MsgRsnMessage Reason [0..*]ISO8583MessageReasonCodeReason or purpose to send the message.
AltrnMsgRsnAlternate Message Reason [0..*]Max256TextAlternate reason to send a message.
PrgrmmProgramme [0..1]ProgrammeMode5Programme, network, or brand processes the transaction.
ApldIdApplied Identification [1..1]Max35TextIdentification of the programme, network, or brand applied to the transaction.
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the program, network, or brand processed the transaction.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
SysTracAudtNbSystem Trace Audit Number [1..1]Max12NumericTextNumber assigned by a transaction originator to assist in identifying a transaction uniquely.
TrnsmssnDtTmTransmission Date Time [1..1]ISODateTimeDate and time expressed in UTC of the message as sent by the initiator.
RtrvlRefNbRetrieval Reference Number [0..1]Exact12TextA reference supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof.
LifeCyclIdLife Cycle Identification [0..1]Exact15TextTransaction lifecycle identification
KeyXchgTpKey Exchange Type [0..1]KeyType1CodeDefines the type of key being exchanged.
OthrKeyXchgTpOther Key Exchange Type [0..1]Max35TextOther type of key being exchanged.
KeyXchgDataKey Exchange Data [0..1]KeyExchangeData1Contains information pertaining to a key exchange.
CtrlControl [0..1]Exact1HexBinaryTextIdentifies the key management scheme and associated structure of the remainder of the data element ISO 13492
KeySetIdrKey Set Identifier [0..1]Max8NumericTextkey-set identifier is a number that uniquely identifies a group of related keys that are all different but have certain characteristics in common.
DrvdInfDerived Information [0..1]Max32HexBinaryTextRandom number or counter in order to have a unique key per transaction.
AlgoAlgorithm [0..1]Max2NumericTextSelects the encryption algorithm used to encipher the keys contained in the associated key management data element.
KeyLngthKey Length [0..1]Max4NumericTextSpecifies the length of the keys being transported, not the encrypting key.
KeyPrtcnKey Protection [0..1]Max2NumericTextMechanism used to provide key confidentiality and integrity.
KeyIndxKey Index [0..1]Max5NumericTextIdentifies a unique key set when multiple keys with the same key set identifier are used.
NcrptdDataEncrypted Data [0..1]Max9999HexBinaryTextUses a structure within it prior to encryption to identify the data.
KeyChcksmValKey Checksum Value [0..1]Max9999HexBinaryTextContains a value used to verify a conveyed key.
JursdctnJurisdiction [0..1]Jurisdiction2Contains information that identifies or is specific to a transaction jurisdiction.
DmstIndDomestic Indicator [0..1]TrueFalseIndicatorWhen true, indicates the transaction is considered to be domestic.
DmstQlfctnDomestic Qualification [0..1]Max35TextIdentifies the reason the transaction is considered to be domestic or non-domestic.
SttlmSvcSettlement Service [0..1]SettlementService6Type of settlement service for specific services requiring settlement.
TpType [0..1]Max35TextType of settlement service applied
IdIdentification [0..1]Max35TextIdentification of settlement service applied.
ReqdDtRequested Date [0..1]ISODateDate requested for settlement.
DfrrdDeferred [0..1]TrueFalseIndicatorIndicate a deferred Settlement date.
DtDate [0..1]ISODateActual date of settlement.
TmTime [0..1]ISOTimeActual time of settlement.
PrdPeriod [0..1]Max35TextIdentifies the settlement period, cycle or group.
CutOffTmCut Off Time [0..1]ISODateTimeIdentifies the effective end time of the settlement date and/or period.
RptgNttyTpReporting Entity Type [0..1]Max35TextIdentifies the type of settlement reporting entity
RptgNttyIdReporting Entity Identification [0..1]Max35TextIdentification of the settlement reporting entity.
AddtlInfAdditional Information [0..*]AdditionalData1Additional Settlement Information.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
AddtlFeeAdditional Fee [0..*]AdditionalFee3Fees not included in the transaction amount.
TpType [1..1]TypeOfAmount21CodeType or class of fee.
OthrTpOther Type [0..1]Max35TextAdditional information to specify the type of amount of fee.
PrgmProgram [0..1]Max35TextIdentification of fee program.
DscrptrDescriptor [0..1]Max35TextIdentification of specific fee.
CdtDbtCredit Debit [0..1]CreditDebit3CodeContains code list for a credit or debit transaction
AmtAmount [1..1]ImpliedCurrencyAndAmountAmount exclusive of currency.
CcyCurrency [0..1]ISO3NumericCurrencyCodeCurrency for the type of amount.
RcncltnAmtReconciliation Amount [0..1]ImpliedCurrencyAndAmountAmount of the transaction in Reconciliation currency
RcncltnCcyReconciliation Currency [0..1]ISO3NumericCurrencyCodeCurrency code of Reconciliation and associated with Reconciliation amount.
RcncltnFctvXchgRateReconciliation Effective Exchange Rate [0..1]BaseOne25RateEffective exchange rate used in the conversion from transaction amount to reconciliation amount.
AssgnrAssigner [0..1]PartyType32CodeA code to identify the type of party who assign the fee.
OthrAssgnrOther Assigner [0..1]Max35TextOther type of party that assign the fee.
DescDescription [0..1]Max140TextShort description of the fee amount.
RcncltnReconciliation [0..1]Reconciliation4Identification of the reconciliation period between the acquirer and the issuer or their respective agents.
IdIdentification [0..1]Max35TextIdentification of the reconciliation.
DtDate [0..1]ISODateDate of the reconciliation.
ChckptRefCheckpoint Reference [0..1]Max35TextA value used to allow a period within a reconciliation date.
AddtlDataAdditional Data [0..*]AdditionalData2Contains additional data.
TpType [0..1]Max35TextType of information.
DtlsDetails [0..*]AdditionalData1Detail of the specific type of data.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
OrgnlRspnCdOriginal Response Code [0..1]ISO8583ResponseCodeOriginal Response code.
PrcgRsltProcessing Result [1..1]ProcessingResult23Outcome of the processing of the authorisation
RspnSrcIdResponse Source Identification [0..1]Max35TextIdentification of response source.
RspnSrcTpResponse Source Type [0..1]PartyType26CodeType of response source.
RspnSrcOthrTpResponse Source Other Type [0..1]Max35TextOther type of response source.
RspnSrcAssgnrResponse Source Assigner [0..1]PartyType9CodeEntity that assigns the identification for the response source.
RspnSrcCtryResponse Source Country [0..1]ISOMax3ACountryCodeCountry of the response source
RspnSrcShrtNmResponse Source Short Name [0..1]Max35TextShort name of the response source
RspnCdResponse Code [1..1]ISO8583ResponseCodeResponse code defined in ISO 8583.
ErrDtlError Detail [0..*]ErrorDetails3Error detail information.
TpType [1..1]MessageError1CodeOthrTpOther Type [0..1]Max35TextCdCode [0..1]Max35TextDescDescription [0..1]Max500TextDataElmtInErrData Element In Error [0..*]Max4000Text
AddtlInfAdditional Information [0..*]AdditionalData1Additional information relevant for the destination.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
PrtctdDataProtected Data [0..*]ProtectedData2Contains protected data and the attributes used to protect the data.
CnttTpContent Type [1..1]ContentType3CodeType of data protection.
EnvlpdDataEnveloped Data [0..1]EnvelopedData12Consists of an encrypted content of any type and encrypted content-encryption keys for one or more recipients.
VrsnVersion [0..1]NumberRcptRecipient [1..*]Recipient7Choice (choice)NcrptdCnttEncrypted Content [0..1]EncryptedContent8
NcrptdDataEncrypted Data [0..1]EncryptedData2Contains encrypted data and the attributes used to encrypt the data using the ISO 13492 methods for data encryption.
CtrlControl [0..1]Exact1HexBinaryTextKeySetIdrKey Set Identifier [0..1]Max8NumericTextDrvdInfDerived Information [0..1]Max32HexBinaryTextAlgoAlgorithm [0..1]Max2NumericTextKeyLngthKey Length [0..1]Max4NumericTextKeyPrtcnKey Protection [0..1]Max2NumericTextKeyIndxKey Index [0..1]Max5NumericTextPddgMtdPadding Method [0..1]Max2NumericTextNcrptdFrmtEncrypted Format [0..1]Max2NumericTextNcrptdElmtEncrypted Element [1..*]EncryptedDataElement2
SplmtryDataSupplementary Data [0..*]SupplementaryData1Additional information that can not be captured in the structured fields and/or other specific block.
PlcAndNmPlace And Name [0..1]Max350TextUnambiguous reference to the location where the supplementary data must be inserted in the message instance.
EnvlpEnvelope [1..1]SupplementaryDataEnvelope1Technical element wrapping the supplementary data.
SctyTrlrSecurity Trailer [0..1]ContentInformationType41Trailer of the message containing a MAC.
MACDataMAC Data [1..1]MACData1Type of data protection.
CtrlControl [1..1]Exact1HexBinaryTextKeySetIdrKey Set Identifier [1..1]Max8NumericTextDrvdInfDerived Information [0..1]Max32HexBinaryTextAlgoAlgorithm [1..1]Max2NumericTextKeyLngthKey Length [0..1]Max4NumericTextKeyPrtcnKey Protection [0..1]Max2NumericTextKeyIndxKey Index [0..1]Max5NumericTextPddgMtdPadding Method [0..1]Max2NumericTextInitlstnVctrInitialisation Vector [0..1]Max32HexBinaryText
MACMAC [1..1]Max8HexBinaryTextMessage Authentication Code data.
Have a canm.004 message? Paste it into the parser to see every element with its name and definition, and format checks on BICs, IBANs, dates and amounts.
External code sets used in canm.004
These elements take their values from ISO 20022 external code sets, which are published separately and updated every quarter without a new message version.
canm.004 questions
- What is the latest version of canm.004?
- The latest version in the ISO 20022 e-Repository release of 24 April 2025 is canm.004.001.04.
- What is the root element of canm.004?
- The XML document is Document with the namespace urn:iso:std:iso:20022:tech:xsd:canm.004.001.04, and its message element is KeyXchgRspn (KeyExchangeResponse).
- Is there an MT equivalent of canm.004?
- No Swift MT message is listed as its direct equivalent on this site. Many ISO 20022 messages have no MT counterpart.
All ISO 20022 messages · ISO 20022 code sets · MT messages
The ISO 20022 message definitions, element names and definitions on this page are reproduced from material published at iso20022.org under the ISO 20022 Intellectual Property Rights policy. This is not the official source: the up-to-date ISO 20022 standards and repository material are published only at iso20022.org. Explanations in our own words are by ZagTrader. ZagTrader is not affiliated with or endorsed by ISO or Swift.