Central Ledger API Documentation

Base URL: /, Version: 1.0

Schemes: http

Summary

Tag: enums

Operation Description
GET /enums

Tag: health

Operation Description
GET /health

Tag: metrics

Operation Description
GET /metrics

Prometheus metrics endpoint

Tag: participants

Operation Description
GET /participants
POST /participants
GET /participants/limits

View limits for all participants

GET /participants/{name}
PUT /participants/{name}
GET /participants/{name}/endpoints

View participant endpoints

POST /participants/{name}/endpoints

Add/Update participant endpoints

GET /participants/{name}/limits

View participant limits

PUT /participants/{name}/limits

Adjust participant limits

GET /participants/{name}/positions

View participant positions

GET /participants/{name}/accounts

View participant accounts and balances

POST /participants/{name}/accounts

Create hub accounts

POST /participants/{name}/initialPositionAndLimits

Add initial participant limits and position

POST /participants/{name}/accounts/{id}

Record Funds In or Out of participant account

PUT /participants/{name}/accounts/{id}

Update participant accounts

PUT /participants/{name}/accounts/{id}/transfers/{transferId}

Record Funds In or Out of participant account

Tag: ledgerAccountTypes

Operation Description
GET /ledgerAccountTypes

View all ledger account types

Tag: ledgerAccountType

Operation Description
POST /ledgerAccountTypes

Create a ledgerAccount type

Tag: settlementModels

Operation Description
GET /settlementModels

View all settlement models

POST /settlementModels

Create a settlement model. This will create any associated ledgerAccountTypes for every participant that matches the settlementModel's currency

GET /settlementModels/{name}

View settlement model by name

PUT /settlementModels/{name}

Update a settlement model

Tag: transaction

Operation Description
GET /transactions/{id}

Retrieve transaction details by a transferId

Paths

GET /enums

Tags: enums
default

Successful

GET /health

Tags: health
default

Successful

View all ledger account types

GET /ledgerAccountTypes

Tags: ledgerAccountTypes
default

Successful

Create a ledgerAccount type

POST /ledgerAccountTypes

Tags: ledgerAccountType
default

Successful

Prometheus metrics endpoint

GET /metrics

Tags: metrics
default

Successful

GET /participants

Tags: participants
default

Successful

POST /participants

Tags: participants
default

Successful

View limits for all participants

GET /participants/limits

Tags: participants
Name Description Type Data Type Annotation
currency

Currency code

query string , x ∈ { AED , AFA , AFN , ALL , AMD , ANG , AOA , AOR , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EEK , EGP , ERN , ETB , EUR , FJD , FKP , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JEP , JMD , JOD , JPY , KES , KGS , KHR , KMF , KPW , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LTL , LVL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRO , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SPL , SRD , STD , SVC , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VEF , VND , VUV , WST , XAF , XAG , XAU , XCD , XDR , XFO , XFU , XOF , XPD , XPF , XPT , YER , ZAR , ZMK , ZMW , ZWD , ZWL , ZWN , ZWR }
type

Limit Type

query string
default

Successful

GET /participants/{name}

Tags: participants
Name Description Type Data Type Annotation
name

Participant name

path string
default

Successful

PUT /participants/{name}

Tags: participants
Name Description Type Data Type Annotation
name

Participant name

path string
default

Successful

View participant accounts and balances

GET /participants/{name}/accounts

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
default

Successful

Create hub accounts

POST /participants/{name}/accounts

Tags: participants
Name Description Type Data Type Annotation
name

Participant name

path string
default

Successful

Record Funds In or Out of participant account

POST /participants/{name}/accounts/{id}

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
id path integer
default

Successful

Update participant accounts

PUT /participants/{name}/accounts/{id}

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
id path integer
default

Successful

Record Funds In or Out of participant account

PUT /participants/{name}/accounts/{id}/transfers/{transferId}

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
id path integer
transferId path string
default

Successful

View participant endpoints

GET /participants/{name}/endpoints

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
default

Successful

Add/Update participant endpoints

POST /participants/{name}/endpoints

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
default

Successful

Add initial participant limits and position

POST /participants/{name}/initialPositionAndLimits

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
default

Successful

View participant limits

GET /participants/{name}/limits

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
currency

Currency code

query string , x ∈ { AED , AFA , AFN , ALL , AMD , ANG , AOA , AOR , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EEK , EGP , ERN , ETB , EUR , FJD , FKP , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JEP , JMD , JOD , JPY , KES , KGS , KHR , KMF , KPW , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LTL , LVL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRO , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SPL , SRD , STD , SVC , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VEF , VND , VUV , WST , XAF , XAG , XAU , XCD , XDR , XFO , XFU , XOF , XPD , XPF , XPT , YER , ZAR , ZMK , ZMW , ZWD , ZWL , ZWN , ZWR }
type

Limit Type

query string
default

Successful

Adjust participant limits

PUT /participants/{name}/limits

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
default

Successful

View participant positions

GET /participants/{name}/positions

Tags: participants
Name Description Type Data Type Annotation
name

Name of the participant

path string (2 to 30 chars)
currency

Currency code

query string , x ∈ { AED , AFA , AFN , ALL , AMD , ANG , AOA , AOR , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EEK , EGP , ERN , ETB , EUR , FJD , FKP , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JEP , JMD , JOD , JPY , KES , KGS , KHR , KMF , KPW , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LTL , LVL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRO , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SPL , SRD , STD , SVC , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VEF , VND , VUV , WST , XAF , XAG , XAU , XCD , XDR , XFO , XFU , XOF , XPD , XPF , XPT , YER , ZAR , ZMK , ZMW , ZWD , ZWL , ZWN , ZWR }
default

Successful

View all settlement models

GET /settlementModels

Tags: settlementModels
default

Successful

Create a settlement model. This will create any associated ledgerAccountTypes for every participant that matches the settlementModel's currency

POST /settlementModels

Tags: settlementModels
default

Successful

View settlement model by name

GET /settlementModels/{name}

Tags: settlementModels
Name Description Type Data Type Annotation
name

SettlementModel name

path string
default

Successful

Update a settlement model

PUT /settlementModels/{name}

Tags: settlementModels
Name Description Type Data Type Annotation
name

settlementModel name

path string
default

Successful

Retrieve transaction details by a transferId

GET /transactions/{id}

Tags: transaction
Name Description Type Data Type Annotation
id

Transfer Id

path string
default

Successful

Schema definitions

Amount: string , must match ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$

The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.

Currency: string , x ∈ { AED , AFN , ALL , AMD , ANG , AOA , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EGP , ERN , ETB , EUR , FJD , FKP , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JEP , JMD , JOD , JPY , KES , KGS , KHR , KMF , KPW , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRO , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SPL , SRD , STD , SVC , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VEF , VND , VUV , WST , XAF , XCD , XDR , XOF , XPF , YER , ZAR , ZMW , ZWD } (3 to 3 chars)

The currency codes defined in ISO 4217 as three-letter alphabetic codes are used as the standard naming representation for currencies.

CurrencyIsActive: object

isActive: boolean

Participant currency isActive boolean

Extension: object

Data model for the complex type Extension

key: string

Extension key.

value: string

Extension value.

ExtensionList: object

Data model for the complex type ExtensionList

extension: object[]

Number of Extension elements

GetTransactionResponse: object

GET /transaction/{id} response object

quoteId: QuoteId

Common id between the FSPs for the quote object, decided by the Payer FSP. The id should be reused for resends of the same quote for a transaction. A new id should be generated for each new quote for a transaction.

transactionId: TransactionId

Common id (decided by the Payer FSP) between the FSPs for the future transaction object. The actual transaction will be created as part of a successful transfer process. The id should be reused for resends of the same quote for a transaction. A new id should be generated for each new quote for a transaction.

transactionRequestId: string

Identifies an optional previously-sent transaction request.

payee: Party

Information about the Payee in the proposed financial transaction.

payer: Party

Information about the Payer in the proposed financial transaction.

amount: Money

Depending on amountType. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities.

transactionType: TransactionType

Type of transaction for which the quote is requested.

note: string

A memo that will be attached to the transaction.

extensionList: ExtensionList

Optional extension, specific to deployment.

LedgerAccountType: object

name: string (2 to 30 chars) , must match ^\w+$

Name of the ledger account type

description: string

Description of the ledger account type

isActive: boolean

Determines whether the ledger account is active

isSettleable: boolean

Determines whether the ledger account is settleable

Limit: object

Participant Limit

type: string

Limit Type

value: number , x ∈ { 0 }

Limit Value

Money: object

Data model for the complex type Money.

currency: Currency

Currency of the amount.

amount: Amount

Amount of Money.

NoAmountProvided: object

amount: number
currency: Currency

Currency code

ParticipantIsActive: object

isActive: boolean

Participant isActive boolean

ParticipantLimit: object

Participant Limit

type: string

Limit Type

value: number

Limit Value

alarmPercentage: number

limit threshold alarm percentage value

Participants: object

transferId: string
externalReference: string
action: string , x ∈ { recordFundsIn , recordFundsOutPrepareReserve }
reason: string
amount: NoAmountProvided
extensionList: ExtensionList

Party: object

Data model for the complex type Party.

partyIdInfo: PartyIdInfo

Party Id type, id, sub id or type, and FSP Id.

merchantClassificationCode: string

Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments.

name: string

Display name of the Party, could be a real name or a nick name.

personalInfo: PartyPersonalInfo

Personal information used to verify identity of Party such as first, middle, last name and date of birth.

PartyComplexName: object

Data model for the complex type PartyComplexName.

firstName: string

Party’s first name.

middleName: string

Party’s middle name.

lastName: string

Party’s last name.

PartyIdentifier: string (1 to 128 chars)

Identifier of the Party.

PartyIdInfo: object

Data model for the complex type PartyIdInfo.

partyIdType: PartyIdType

Type of the identifier.

partyIdentifier: PartyIdentifier

An identifier for the Party.

partySubIdOrType: string

A sub-identifier or sub-type for the Party.

fspId: string

FSP id (if known)

extensionList: ExtensionList

Optional extension, specific to deployment.

PartyIdType: string , x ∈ { MSISDN , EMAIL , PERSONAL_ID , BUSINESS , DEVICE , ACCOUNT_ID , IBAN , ALIAS }

Below are the allowed values for the enumeration - MSISDN An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the ITU-T E.164 standard. Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - EMAIL An email is used as reference to a participant. The format of the email should be according to the informational RFC 3696. - PERSONAL_ID A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - BUSINESS A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - DEVICE A specific device (for example, a POS or ATM) id connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - ACCOUNT_ID A bank account number or FSP account id should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - IBAN A bank account number or FSP account id is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier.

PartyPersonalInfo: object

Data model for the complex type PartyPersonalInfo.

complexName: PartyComplexName

First, middle and last name for the Party.

dateOfBirth: string

Date of birth for the Party.

PostInitialPositionAndLimitsRequest: object

currency: Currency

Currency code

limit: Limit
initialPosition: number

Initial Position Value

PostParticipantsNameAccountsRequest: object

currency: Currency
type: string

Account type

PostParticipantsNameEndpointsRequest: object

type: string

Endpoint Type

value: string

Endpoint Value

PostParticipantsRequest: object

name: string (2 to 30 chars)

Name of the participant

currency: Currency

Currency code

PutParticipantsNameLimitsRequest: object

currency: Currency

Currency code

limit: ParticipantLimit

QuoteId: string (at least 1 chars) , must match ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Quote Identifier. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to RFC 4122, that is restricted by a regular expression for interoperability reasons. An UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). A minLength of 1 has been specified due to the regex not being validated on empty strings, this should be removed once the enjoi module has been fixed.

RecordFundsOut: object

action: string , x ∈ { recordFundsOutCommit , recordFundsOutAbort }
reason: string

Refund: object

Data model for the complex type Refund.

originalTransactionId: string

Reference to the original transaction id that is requested to be refunded.

refundReason: string

Free text indicating the reason for the refund.

SettlementModel: object

name: string (2 to 30 chars)

Name of the settlement model

settlementGranularity: string , x ∈ { GROSS , NET }

Granularity type for the settlement model GROSS or NET

settlementInterchange: string , x ∈ { BILATERAL , MULTILATERAL }

Interchange type for the settlement model BILATERAL or MULTILATERAL

settlementDelay: string , x ∈ { DEFERRED , IMMEDIATE }

Delay type for the settlement model IMMEDIATE or DEFERRED

currency: Currency

Currency code

requireLiquidityCheck: boolean

Liquidity Check boolean

ledgerAccountType: string , x ∈ { INTERCHANGE_FEE , POSITION }

Account type for the settlement model

settlementAccountType: string

Account type into which the settlement should be settled into : POSITION, SETTLEMENT or INTERCHANGE_FEE_SETTLEMENT

autoPositionReset: boolean

Automatic position reset setting, which determines whether to execute the settlement transfer or not

SettlementModelIsActive: object

isActive: boolean

settlementModel isActive boolean

TransactionId: string (at least 1 chars) , must match ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Transaction Identifier. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to RFC 4122, that is restricted by a regular expression for interoperability reasons. An UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). A minLength of 1 has been specified due to the regex not being validated on empty strings, this should be removed once the enjoi module has been fixed.

TransactionType: object

Data model for the complex type TransactionType.

scenario: string

Deposit, withdrawal, refund, …

subScenario: string

Possible sub-scenario, defined locally within the scheme.

initiator: string

Who is initiating the transaction - Payer or Payee

initiatorType: string

Consumer, agent, business, …

refundInfo: Refund

Extra information specific to a refund scenario. Should only be populated if scenario is REFUND

balanceOfPayments: string

Balance of Payments code.

results matching ""

    No results matching ""