Common Interface List

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.

Common Interfaces

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

Last updated

Was this helpful?