Common Interface List
Last updated
Last updated
The Common Interface List includes a list of all of the common interfaces that are in use in the Mojaloop 2.0 Reference Architecture presently. Common Interfaces are used by several Bounded Contexts, hence the name.
Each Common Interface listed includes the following information: source or publisher event name or endpoint, communications style, publisher/provider Bounded Context, a description of the interface function, and a checklist of Bounded Contexts where it is being used.
Event name OR endpoint | Comms Style | Publisher/Provider BC | Description | FSP Interop API BC | Admin/Operation API BC | Participant Lifecycle Management BC | Transfers BC | Accounts & Balances BC | Settlements BC | Account Lookup BC | Agreements / Quotes BC | 3rd Party Initiated Payments | Notifications & Alerts BC | Scheduling BC | Auding BC | Security - authZ BC | Security - authN BC | Security - auditing BC | Security - loging BC | Security - crypto BC |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TransferCommittedFulfiled
Event
Transfers BC
Transfer Committed event indicating the final outcome of the Transfer Commited stage of a transfer has been processed by the Transfers BC
x
x
LiquidityThresholdExceeded
gRPC
Transfers BC
An event thrown when a given participant's liquidity threshold is exceeded and a action should be taken
X
TransferPrepared
Event
Transfers BC
Transfer Prepared event indicating the final outcome of the Transfer Prepare stage of a transfer has been processed by the Transfers BC
x
TransferQueryResponse
Event
Transfers BC
Event containing response as a result of a TransferQueryReceived event
x
TransferRejectRequestProcessed
Event
Transfers BC
Event confirming that a Transfer Reject request was processed by the Transfers BC
x
TransferPrepareRequestTimedout
Event
Transfers BC
Event for a Transfer Timeout when a transfer was still being prepared.
x
TransferFulfilComitRequestTimedout
Event
Transfers BC
Event for a Transfer Timeout when a transfer was in a final prepared state (i.e. waiting for a fulfilment, or rejection to be reveived).
x
TransferPrepareDuplicateCheckFailed
Event
Transfers BC
Event representing a failed duplicate check validation failure as a result of processing a TransferPrepareAccountAllocated event.
x
TransferPrepareLiquidityCheckFailed
Event
Transfers BC
Event representing a failed liquidity check validation failure as a result of processing a TransferPrepareAccountAllocated event.
x
TransferPrepareInvalidPayerCheckFailed
Event
Transfers BC
Event representing a failed Payer Participant check validation failure as a result of processing a TransferPrepareAccountAllocated event.
x
TransferPrepareInvalidPayeeCheckFailed
Event
Transfers BC
Event representing a failed Payee Participant check validation failure as a result of processing a TransferPrepareAccountAllocated event.
x
TransferPrepareAccountsAllocated
Event
Settlements BC
Transfer Prepare request event with enriched information containing the applicable accounts for liquidity validation/allocation for each participant
x
/random-number-gen
Event
Security BC - crypto
random number generator. Can be used to generate (1) id (2) secret and (3) FIDO challenge
x
x
x
x
x
/hash-gen
HTTP/Rest
Security BC - crypto
Hash generation. Can be used to hash random numbers and user info. Hash is used for basic authentication and signature verification.
x
x
x
x
x
/signature-gen
HTTP/Rest
Security BC - crypto
generate signature. used to sign audit records for immutability.
x
x
x
x
x
/signature-ver
HTTP/Rest
Security BC - crypto
verify siganture. used for FIDO authentication and authorization. This is also used to validate audit record on retrieval.
x
x
x
x
x
x
x
/encrypt
HTTP/Rest
Security BC - crypto
generic encryption
x
x
x
x
/decrypt
HTTP/Rest
Security BC - crypto
generic decryption
x
x
x
x
/pin-translation
HTTP/Rest
Security BC - crypto
translate banking PIN block from one encryption zone to another. Can be used for Interbank ATM or POS transaction.
x
/fido-register
HTTP/Rest
Security BC - crypto
Composite Crypto function. stores authenticator ECC public key alongside user infor.
x
x
/fido-authenticate
HTTP/Rest
Security BC - crypto
authenticate FIDO signature
x
x
/fido-authorize
HTTP/Rest
Security BC - crypto
authorize FIDO transaction after gesture (pressed button, finger print, etc)
x
x
/kms-key-definition
HTTP/Rest
Security BC - crypto
cryptographic key definition (key usage, duration, label)
x
/kms-aes-key-gen
HTTP/Rest
Security BC - crypto
Cryptographic key generation for symetric encryption
x
/kms-ecc-key-gen
HTTP/Rest
Security BC - crypto
Cryptogrphic key generation for Eliptic Curve key pair generation.
x
/crypto-adapter-set
HTTP/Rest
Security BC - crypto
Cryptographic Provider/adapter set (AWS, AZURE, on-prem HSM, software local libraries ... etc)
x
/iam-token-verifty
HTTP/Rest
Security BC - crypto
basic authentication token verification. Composite call to AIM adapter.
x
x
x
x
/kms-pem-gen
HTTP/Rest
Security BC - crypto
PKI keys for client authention and CLI functions.
x
x
x
/ssl-terminate
HTTP/Rest
Security BC - crypto
SLL termination
x
/kms-load-key
HTTP/Rest
Security BC - crypto
load cryptographic keys in key store
x
/app-authorize
HTTP/Rest
Security BC - authZ
Calls AuthZ BC to verify the authorization token. This also calls IAM function to verify roles.
x
x
x
x
/app-fido-authorize
HTTP/Rest
Security BC - authZ
Calls Cyrpto BC to authorize transaction
x
x
x
/app-pem-auth
HTTP/Rest
Security BC - authZ
Uses PKI private and public key to authenticate APIs calls. uses the user IAM profile (user info + role) to auhorize.
x
x
/app-basic-auth
HTTP/Rest
Security BC - authN
Calls AuthZ BC to verify id and secret. Returns authorization token
x
x
x
x
CreateScheduleReminder
gRPC
Scheduling BC
Create a schedule reminder with the necessary information to create a event or api callback once the reminder has elapsed
x
DeleteScheduleReminder
gRPC
Scheduling BC
Event indicating that a timeout has occured for a scheduled reminder
x
POST /config/schemas/
HTTP/Rest
Platform Configuration
(upsert) To publish the initial or new versions of a BC configuration managment object schema at bootstrap - includes version number
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
GET /config/schemas/
HTTP/Rest
Platform Configuration
To get schema and current configurations of a all bounded contexts
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
GET /config/schemas/:boundedContextId
HTTP/Rest
Platform Configuration
To get schema and current configurations of a specifric bounded context
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ConfigurationValuesChanged
Event
Platform Configuration
Event sent when changes happend on a configuration - should include at least the bounded context ID, maybe the key names with changed values
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
POST /config/schemas/:boundedContextId
HTTP/Rest
Platform Configuration
To publish the initial or new versions of a BC configuration managment object schema at bootstrap - includes version number
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
POST /config/secrets/
HTTP/Rest
Platform Configuration
(upsert) To publish the list of expected secrets (keys) a bounded context requires to operate - send at bootstrap - includes version number
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
GET /config/secrets/
HTTP/Rest
Platform Configuration
To a list of secret keys each BC needs to operate - from all bounded contexts
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
GET /config/secrets/:boundedContextId
HTTP/Rest
Platform Configuration
To a list of secret keys each BC needs to operate - from a specifric bounded context
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
GET /config/secrets/:boundedContextId/values
HTTP/Rest
Platform Configuration
This call can only be performed by the owner bouded context (verify sig) and should return the secrets along with the keys for that bounded context
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
SecretsValuesChanged
Event
Platform Configuration
Event sent when changes happend on a secret - should include at least the bounded context ID, maybe the key names with changed secrets
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
UpdateParticipantAccountThreshold
gRPC
Participant Lifecycle Management BC
Updates the thresholds of the accounts specified
X
GetParticipantsTransfersData
gRPC
Participant Lifecycle Management BC
Query Service to attain Participant information for Transfer purposes (i.e. validations, etc)
x
GetParticipantCallbackInfo
gRPC
Participant Lifecycle Management BC
API to query Participant information for Callbacks. Example of the FSPIOP Interop APIs BC using this to query the necessary information required for it to produce a NotifyRequested event.
x
GetParticipantQuoteData
gRPC
Participant Lifecycle Management BC
Query Service to attain Participant information for Quote purposes (i.e. validations, etc)
x
CreateParticipant
HTTP/Rest
Participant Lifecycle Management BC
Request to create a new participant with a single payload defining ALL the relevant details of the Participant
X
GetPendingParticipants
HTTP/Rest
Participant Lifecycle Management BC
Retrieves all the participants that are in the PEND-APPROVAL state, i.e. Participants that have not yet been approved or rejected
X
ApproveParticipant
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant that is in a state of pending approval
X
CreateParticipantAccountsWithLimits
gRPC
Participant Lifecycle Management BC
Notify that the participant has been created and subsequint accounts with limits be created aswell
X
ParticipantCreated
Event
Participant Lifecycle Management BC
Notifies that the participant has been created, accounts and limis included.
X
ManageFunds
HTTP/Rest
Participant Lifecycle Management BC
Call to either Withdraw or Deposit funds.
X
GetPendingManageFunds
HTTP/Rest
Participant Lifecycle Management BC
Request all manage funds requests that have to be approved
X
ApproveManageFunds
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Deposit or withdraw request
X
ManageFundsCreditDebitPairInstruction
gRPC
Participant Lifecycle Management BC
Update the accounting with the relevant credit and debit entries.
X
ReserveLiquidityCover
HTTP/Rest
Participant Lifecycle Management BC
Request to reserve an amount of liquidity cover either a value or a %
X
GetPendingLiquidityCoverReservations
HTTP/Rest
Participant Lifecycle Management BC
Get LiquidityCover requests that are currently awaiting approval
X
ApproveLiquidityCoverReservation
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Liquidity Cover Reservation
X
UpdateParticipantState
HTTP/Rest
Participant Lifecycle Management BC
Request to change the current state of a given participant
X
GetPendingStateUpdates
HTTP/Rest
Participant Lifecycle Management BC
Gets all partacipants with status change requests that are pending approval
X
ApproveParticipantStateUpdate
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant state change
X
ParticipantStateUpdated
gRPC
Participant Lifecycle Management BC
Notify BC's that the state of a participant has changed
X
X
X
X
X
X
X
ParticipantLiquidityThresholdExceeded
Event
Participant Lifecycle Management BC
A notification should be sent that a given participant's liquidity threshold is exceeded.
X
AddParticipantAccount
HTTP/Rest
Participant Lifecycle Management BC
Request to create a new account for a given participant
X
GetPendingParticipantsAccounts
HTTP/Rest
Participant Lifecycle Management BC
Gets all participants and accounts that require approval to be created
X
ApproveParticipantAccount
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant account create request
X
CreateParticipantAccountWithLimits
gRPC
Participant Lifecycle Management BC
Creates the relevant accounts within the Accounts and Balances BC
X
ParticipantAccountAdded
Event
Participant Lifecycle Management BC
Event to notify that the participant account has been created
X
UpdateAccountStatus
HTTP/Rest
Participant Lifecycle Management BC
Request to either enable or disable the participant's account based on the information passed
X
GetPendingAccountsWithStatusUpdates
HTTP/Rest
Participant Lifecycle Management BC
Get all accounts that are pending approval for a status change
X
ApproveAccountStatusUpdate
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant account status change
X
Enabled/DisabledParticipantAccount
gRPC
Participant Lifecycle Management BC
Either enables or disables the account based on the information passed
X
ParticipantAccountEnabled
Event
Participant Lifecycle Management BC
Notify that a participant's account has been enabled
X
ParticipantAccountDisabled
Event
Participant Lifecycle Management BC
Notify that a participant's account has been disabled
X
UpdateAccountLimit
HTTP/Rest
Participant Lifecycle Management BC
Request to update the limits on a given participant's account
X
GetPendingAccountsWithLimitUpdates
HTTP/Rest
Participant Lifecycle Management BC
Get all accounts with pending updates to the limits
X
ApproveAccountLimitUpdate
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Update account limit request
X
UpdateParticipantAccountLimit
gRPC
Participant Lifecycle Management BC
Update the limits on a given participant's account
X
ParticipantAccountLimitUpdated
Event
Participant Lifecycle Management BC
Event to notify that the participant account's limit has been created
X
UpdateAccountThreshold
HTTP/Rest
Participant Lifecycle Management BC
Request to update the threshold for a given participant account
X
GetPendingAccountsWithThresholdUpdates
HTTP/Rest
Participant Lifecycle Management BC
Get all the accounts with pending threshold updates
X
ApproveAccountThresholdUpdate
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant account threshold update
X
ParticipantAccountThresholdUpdated
Event
Participant Lifecycle Management BC
Event to notify that the accounts' threshold was updated
X
UpdateEndpoints
HTTP/Rest
Participant Lifecycle Management BC
Request to update the endpoints of a given participant
X
GetPendingEndpointUpdates
HTTP/Rest
Participant Lifecycle Management BC
Gets all the participant endpoint update requests that are pending approval
X
ApproveEndpointsUpdate
HTTP/Rest
Participant Lifecycle Management BC
Approve OR Reject - Participant Endupoint Update
X
ParticipantEndpointsUpdated
Event
Participant Lifecycle Management BC
An event to notify that the Participant's endpoint have been updated
X
X
X
X
X
X
GetParticipantInfo
gRPC
Participant Lifecycle Management BC
Gets all information regarding to a given Participant
X
X
X
X
GetParticipantInfo
HTTP/Rest
Participant Lifecycle Management BC
Gets all information regarding to a given Participant
X
GetLiquidityCoverCurrentState
HTTP/Rest
Participant Lifecycle Management BC
Request to get the current state of liquidity cover
X
NotifyReport
Event
Notifications & Alerts BC
Notification Report event containing a report of the notification, indicating if it was successful (with an applicable response from the destination) or failed with an applicable error/reason
x
/log-read-build-log
HTTP/Rest
Logging BC
log consumer. provides endpoint for applications write log topic. Building logs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
/read-log
HTTP/Rest
Logging BC
read logs. Optionally calls Crypto BC to decrypt and or verify siganture
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
NotifyRequested
Event
FSP Interop API BC
Notification Request event containing the FSPIOP forwarding request or callback that will be send to a specific participant
x
TransferPrepareRequested
Event
FSP Interop API BC
Transfer Prepare request event
x
TransferPrepareCallbackReport
Event
FSP Interop API BC
Transfer Prepare Callback report for the Payee participant
x
TransferFulfilCommittedRequested
Event
FSP Interop API BC
Transfer Fulfilment request event indicating that a "commit" was processed by the Payee participant
x
TransferFulfilCommittedCallbackReport
Event
FSP Interop API BC
Transfer Fulfil Callback report for the Payer/Payee participant
x
TransferQueryReceived
Event
FSP Interop API BC
Event indicating containing information for a Transfer Query
x
TransferQueryResponseCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Query Response callback a Participant participant
x
TransferRejectRequested
Event
FSP Interop API BC
Event for a Transfer Reject from a Payee participant
x
TransferRejectRequestProcessedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Reject Response callback to a Payer participant
x
TransferPrepareRequestTimedoutCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Timeout Response callback to a Payer participant
x
TransferFulfilCommitRequestTimedoutCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Timeout Response callback to a Payer/Payee participants
x
TransferPrepareDuplicateCheckFailedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Prepare Duplicate Check Failed Response callback to a Payer/Payee participants
x
TransferPrepareLiquidityCheckFailedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Prepare Liquidity Check Failed Response callback to a Payer/Payee participants
x
TransferPrepareInvalidPayerCheckFailedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Payer Participant Check Failed Response callback to a Payer/Payee participants
x
TransferPrepareInvalidPayeeCheckFailedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Transfer Payee Participant Check Failed Response callback to a Payer/Payee participants
x
QuoteRequestReceived
Event
FSP Interop API BC
Event containing a Quote Request from a Payer participant
x
QuoteReceivedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Quote Request to a Payee participants
x
QuoteResponseReceived
Event
FSP Interop API BC
Event containing a Quote Request Response from a Payee participant
x
QuoteAcceptedCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Quote Respose to a Payer participants
x
InvalidQuoteRequestCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Invalid Quote Request to a Payer participants
x
InvalidFSPInQuoteRequestCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Invalid FSP in Quote Request to a Payer participants
x
RuleViolatedInQuoteRequestCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Rule Violated in Quote Request to a Payer participants
x
RuleViolatedInQuoteResponseCallbackReport
Event
FSP Interop API BC
Event containing callback response report for a Rule Violated in Quote Response to a Payer participants
x
/app-fido-register
HTTP/Rest
FSP Interop API BC
Calls Cyrpto BC to register user
x
x
x
/audit-log-write
Event
Auditing BC
Writes audit entries into Kafka audit topic. Consumer calls Crypto BC to encrypt and / or sign logging records.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
/audit-read-build-audit-log
HTTP/Rest
Auditing BC
audit consumer. provides endpoint for applications write audit topic. Building logs
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
/read-audit-log
HTTP/Rest
Auditing BC
read audit logs. calls Crypto BC to decrypt and or verify siganture
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
QuoteRequestAccepted
Event
Agreements/Quotes BC
Event for a Quote Request being processed by the Transfers BC
x
QuoteResponseAccepted
Event
Agreements/Quotes BC
Event for a Quote Response being processed by the Transfers BC
x
InvalidQuoteRequest
Event
Agreements/Quotes BC
Event representing a quote validation failure as a result of processing a QuoteReuestReceived event.
x
InvalidFSPInQuoteRequest
Event
Agreements/Quotes BC
Event representing an invalid FSP in Quote Request failure as a result of processing a QuoteReuestReceived event.
x
RuleViolatedInQuoteRequest
Event
Agreements/Quotes BC
Event representing an Rule Violated in Quote Request failure as a result of processing a QuoteReuestReceived event.
x
RuleViolatedInQuoteResponse
Event
Agreements/Quotes BC
Event representing an Rule Violated in Quote Response failure as a result of processing a QuoteReuestReceived event.
x
/app-register
HTTP/Rest
Admin/Operation API BC
Calls Crypto BC to obtain id and secret
x
x
x
x
GetLiquidityCoverHistory
HTTP/Rest
Admin/Operation API BC
Request the account position history
X
GetReservations
HTTP/Rest
Admin/Operation API BC
Request the reservations
X
GetCurrentLiquidityPosition
gRPC
Accounts & Balances BC
Get the current liquidity position for validation to update liquidity cover reservastion
X
RecordLiquidityReservationEntries
gRPC
Accounts & Balances BC
Records the relevant entries for the liquidity cover reservations
X
RequestAccountsPositions
gRPC
Accounts & Balances BC
Get account positions for a given participant
X
RequestAccountPositionHistory
gRPC
Accounts & Balances BC
Get accounts position history for a given participant
X
RequestReservationAccounts
gRPC
Accounts & Balances BC
Request the accounts related to reservations'
X
ProcessTransferPrepare
gRPC
Accounts & Balances BC
Process Transfer Prepare request for debiting the Payer liquidity, and crediting the Payer position via reservation of funds
x
ProcessTransferFulfil
gRPC
Accounts & Balances BC
Process Transfer Fulfil request for debiting the Payer reserved funds, and crediting the Payee liquidity
x
/log-write
Event
Writes log entries into Kafka logging topic. Consumer optionally calls Crypto BC to encrypt and / or sign logging records.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x