SEPA Instant Transfer Gateway API 1.7.1

SEPA Gateway API provides an access to the SEPA Instant compliant messaging systems, offering the simplified (yet fully functional) JSON message format instead of ISO 20022 XMLs.

The JSON API abstracts away most of the low level technical details like message IDs and duplicated reference data. This approach allows to simplify integration and significantly reduce the amount of data being transferred over the wire.

Feature highlights:

  • Provides a full specter of SEPA Instant scheme functionality offered by the Bank of Lithuania
  • Comprehensive and straightforward JSON API
  • Automatic handling of ISO 20022 XML messages (including formation, parsing, signing, etc)
  • Automatic adjustment of payment settlement date based on TARGET2 business calendar and Bank of Lithuania's SICT cut-off time
  • Automatic conversion of Unicode characters for outgoing messages according to SEPA requirements

Download AsyncAPI specification

Servers

  • amqps://sepagateway.live.thefintechlab.com/amqps 0.9.1production
    Security:
    • User/Password

      Provide your username and password for SASL/PLAIN

  • amqp://sepagateway.stage.thefintechlab.com/amqp 0.9.1stage
    Security:
    • User/Password

      Provide your username and password for SASL/PLAIN

Operations

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDcreateNewOutgoingInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    OutgoingInstantPaymentMessageoutgoingInstantPaymentMessage

    Request to initiate an outgoing instant payment

    Message IDoutgoingInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDrejectInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    RejectInstantPaymentMessagerejectInstantPaymentMessage

    Rejects a previously received incoming instant payment.

    Message IDrejectInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDconfirmInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    ConfirmInstantPaymentMessageconfirmInstantPaymentMessage

    Confirms a previously received incoming instant payment.

    Message IDconfirmInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDcancelInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    CancelInstantPaymentMessagecancelInstantPaymentMessage

    Request cancellation of a previously sent outgoing payment.

    Message IDcancelInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDreturnInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    ReturnInstantPaymentMessagereturnInstantPaymentMessage

    Return a previously received incoming payment.

    Message IDreturnInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDretainInstantPayment

    Available only on servers:

    object

    Accepts the following message:

    RetainInstantPaymentMessageretainInstantPaymentMessage

    Do not return funds for a cancelled incoming payment.

    Message IDretainInstantPaymentMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDsendLiquidityTransfer

    Available only on servers:

    object

    Accepts the following message:

    LiquidityTransferRequestMessageliquidityTransferMessage

    Send liquidity transfer request between internal accounts.

    Message IDliquidityTransferMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDsendInstantCancellationStatusRequest

    Available only on servers:

    object

    Accepts the following message:

    RequestInstantCancellationStatusMessageinstantCancellationStatusRequestMessage

    Request status of an outgoing instant payment cancellation.

    Message IDinstantCancellationStatusRequestMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDsendSystemUnavailabilityReport

    Available only on servers:

    object

    Accepts the following message:

    SystemUnavailabilityReportMessagesystemUnavailabilityReportMessage

    Notification about temporary system unavailability.

    Message IDsystemUnavailabilityReportMessage
    object

    Examples

  • SEND outgoing_payments

    Message queue to send messages to

    Operation IDsendCancelSystemUnavailabilityReport

    Available only on servers:

    object

    Accepts the following message:

    CancelSystemUnavailabilityReportMessagecancelSystemUnavailabilityReportMessage

    Cancel a previously sent system unavailability report.

    Message IDcancelSystemUnavailabilityReportMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenInstantMessageAccepted

    Available only on servers:

    object

    Accepts the following message:

    InstantMessageAcceptedinstantMessageAcceptedMessage

    Outgoing payment confirmed and settled by CENTROlink

    Message IDinstantMessageAcceptedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenInstantMessageRejected

    Available only on servers:

    object

    Accepts the following message:

    InstantMessageRejectedinstantMessageRejectedMessage

    Outgoing payment was rejected by CENTROlink

    Message IDinstantMessageRejectedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenInstantPaymentCancelled

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentCancelledMessageinstantPaymentCancelledMessage

    Previously sent instant payment was cancelled.

    Message IDinstantPaymentCancelledMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenLiquidityTransferReport

    Available only on servers:

    object

    Accepts the following message:

    LiquidityTransferReportMessageliquidityTransferReportMessage

    Notification about successfully processed liquidity transfer

    Message IDliquidityTransferReportMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenAccountStatementReport

    Available only on servers:

    object

    Accepts the following message:

    AccountStatementReportMessageaccountStatementReportMessage

    Incoming message about account statement balances

    Message IDaccountStatementReportMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenInstantPaymentReceived

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentReceivedMessageinstantPaymentReceivedMessage

    Callback with new incoming payment

    Message IDinstantPaymentReceivedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDlistenInstantPaymentReturned

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentReturnedMessageinstantPaymentReturnedMessage

    Notification that previously sent payment has been returned

    Message IDinstantPaymentReturnedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveInstantPaymentDebited

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentDebitedMessageinstantPaymentDebitedMessage

    Incoming instant payment was debited (recalled) by Bank of Lithuania

    Message IDinstantPaymentDebitedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveLiquidityPositionReport

    Available only on servers:

    object

    Accepts the following message:

    LiquidityPositionReportMessageliquidityPositionReportMessage

    Liquidity position report from Bank of Lithuania

    Message IDliquidityPositionReportMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveInstantPaymentTransactionsReport

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentTransactionsReportMessageinstantPaymentTransactionsReportMessage

    Report of SEPA Instant transactions from Bank of Lithuania

    Message IDinstantPaymentTransactionsReportMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveInstantPaymentStatusRequest

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentStatusRequestMessageinstantPaymentStatusRequestMessage

    Notification about current state of the payment

    Message IDinstantPaymentStatusRequestMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveInstantPaymentRetained

    Available only on servers:

    object

    Accepts the following message:

    InstantPaymentRetainedMessageinstantPaymentRetainedMessage

    Notification about denying to return funds on cancellation

    Message IDinstantPaymentRetainedMessage
    object

    Examples

  • RECEIVE incoming_payments

    Message queue to receive messages from

    Operation IDreceiveParticipantUnavailabilityReport

    Available only on servers:

    object

    Accepts the following message:

    ParticipantUnavailabilityReportMessageparticipantUnavailabilityReportMessage

    Notification about temporary unavailability of a participant

    Message IDparticipantUnavailabilityReportMessage
    object

    Examples

Messages

  • #1OutgoingInstantPaymentMessageoutgoingInstantPaymentMessage

    Request to initiate an outgoing instant payment

    Message IDoutgoingInstantPaymentMessage
    object
  • #2RejectInstantPaymentMessagerejectInstantPaymentMessage

    Rejects a previously received incoming instant payment.

    Message IDrejectInstantPaymentMessage
    object
  • #3ConfirmInstantPaymentMessageconfirmInstantPaymentMessage

    Confirms a previously received incoming instant payment.

    Message IDconfirmInstantPaymentMessage
    object
  • #4CancelInstantPaymentMessagecancelInstantPaymentMessage

    Request cancellation of a previously sent outgoing payment.

    Message IDcancelInstantPaymentMessage
    object
  • #5ReturnInstantPaymentMessagereturnInstantPaymentMessage

    Return a previously received incoming payment.

    Message IDreturnInstantPaymentMessage
    object
  • #6RetainInstantPaymentMessageretainInstantPaymentMessage

    Do not return funds for a cancelled incoming payment.

    Message IDretainInstantPaymentMessage
    object
  • #7LiquidityTransferRequestMessageliquidityTransferMessage

    Send liquidity transfer request between internal accounts.

    Message IDliquidityTransferMessage
    object
  • #8RequestInstantCancellationStatusMessageinstantCancellationStatusRequestMessage

    Request status of an outgoing instant payment cancellation.

    Message IDinstantCancellationStatusRequestMessage
    object
  • #9SystemUnavailabilityReportMessagesystemUnavailabilityReportMessage

    Notification about temporary system unavailability.

    Message IDsystemUnavailabilityReportMessage
    object
  • #10CancelSystemUnavailabilityReportMessagecancelSystemUnavailabilityReportMessage

    Cancel a previously sent system unavailability report.

    Message IDcancelSystemUnavailabilityReportMessage
    object
  • #11InstantMessageAcceptedinstantMessageAcceptedMessage

    Outgoing payment confirmed and settled by CENTROlink

    Message IDinstantMessageAcceptedMessage
    object
  • #12InstantMessageRejectedinstantMessageRejectedMessage

    Outgoing payment was rejected by CENTROlink

    Message IDinstantMessageRejectedMessage
    object
  • #13InstantPaymentCancelledMessageinstantPaymentCancelledMessage

    Previously sent instant payment was cancelled.

    Message IDinstantPaymentCancelledMessage
    object
  • #14LiquidityTransferReportMessageliquidityTransferReportMessage

    Notification about successfully processed liquidity transfer

    Message IDliquidityTransferReportMessage
    object
  • #15AccountStatementReportMessageaccountStatementReportMessage

    Incoming message about account statement balances

    Message IDaccountStatementReportMessage
    object
  • #16InstantPaymentReceivedMessageinstantPaymentReceivedMessage

    Callback with new incoming payment

    Message IDinstantPaymentReceivedMessage
    object
  • #17InstantPaymentReturnedMessageinstantPaymentReturnedMessage

    Notification that previously sent payment has been returned

    Message IDinstantPaymentReturnedMessage
    object
  • #18InstantPaymentDebitedMessageinstantPaymentDebitedMessage

    Incoming instant payment was debited (recalled) by Bank of Lithuania

    Message IDinstantPaymentDebitedMessage
    object
  • #19LiquidityPositionReportMessageliquidityPositionReportMessage

    Liquidity position report from Bank of Lithuania

    Message IDliquidityPositionReportMessage
    object
  • #20InstantPaymentTransactionsReportMessageinstantPaymentTransactionsReportMessage

    Report of SEPA Instant transactions from Bank of Lithuania

    Message IDinstantPaymentTransactionsReportMessage
    object
  • #21InstantPaymentStatusRequestMessageinstantPaymentStatusRequestMessage

    Notification about current state of the payment

    Message IDinstantPaymentStatusRequestMessage
    object
  • #22InstantPaymentRetainedMessageinstantPaymentRetainedMessage

    Notification about denying to return funds on cancellation

    Message IDinstantPaymentRetainedMessage
    object
  • #23ParticipantUnavailabilityReportMessageparticipantUnavailabilityReportMessage

    Notification about temporary unavailability of a participant

    Message IDparticipantUnavailabilityReportMessage
    object

Schemas

  • bic
    string
    must match: [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}
      Examples values:
    • "TESTLT21"
    • "TESTLT21XXX"
  • iban
    string
    must match: [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}
      Examples values:
    • "LT121000011101001000"
  • localDateTime
    string
    must match: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}
      Examples values:
    • "2019-11-21T16:32:59"
  • currency
    string
    must match: [A-Z]{3,3}

    Currency code (ISO 4217)

      Examples values:
    • "EUR"
    • "USD"
  • countryCode
    string
    must match: [A-Z]{2,2}

    Country code (ISO 3166-1 alpha-2)

      Examples values:
    • "LT"
    • "DE"
  • object

    Information on party’s account

  • object

    Information on party’s account

  • monetaryAmount
    number
    [ 0.01 .. 999999999.99 ]

    Monetary amount. Length of fractional part is 2 digits

  • object

    Information on party’s personal details

  • object

    Structured address.

  • object
  • object
  • object

    Proxy of party’s account

  • object

    Proxy type on party’s personal details

  • object
  • object
  • cancellationReasonCode
    string

    Cancellation reason code.

    • DUPLICATE -- Payment was duplicated
    • FRAUD -- Fraud
    • TECHNICAL_ISSUE -- Technical issue
    • DEBTOR_REQUESTED_ISSUE -- Issue requested by Debtor
    • WRONG_AMOUNT -- Wrong amount
    • WRONG_IBAN -- Wrong IBAN
    • UNKNOWN -- Unknown
      Allowed values:
    • "DUPLICATE"
    • "FRAUD"
    • "TECHNICAL_ISSUE"
    • "DEBTOR_REQUESTED_ISSUE"
    • "WRONG_AMOUNT"
    • "WRONG_IBAN"
    • "UNKNOWN"
  • retainInstantPaymentReasonCode
    string

    Reason code for retaining the incoming payment:

    • INSUFFICIENT_FUNDS (AM04) – There are insufficient funds on the account
    • CLOSED_ACCOUNT (AC04) – The account is closed
    • LEGAL_REASONS (LEGL) – For legal reasons, specifying the reason in clear text
    • REFUSAL (CUST) – Refusal by Creditor to return
    • NO_ANSWER_FROM_CREDITOR (NOAS) – No answer is received from the Creditor
    • NO_FUNDS_RECEIVED (NOOR) – The funds were not received
    • ALREADY_RETURNED (ARDT) – The funds have already been returned
    • UNKNOWN (UNKNOWN) – Unknown
      Allowed values:
    • "INSUFFICIENT_FUNDS"
    • "CLOSED_ACCOUNT"
    • "LEGAL_REASONS"
    • "REFUSAL"
    • "NO_ANSWER_FROM_CREDITOR"
    • "NO_FUNDS_RECEIVED"
    • "ALREADY_RETURNED"
    • "UNKNOWN"
  • instantMessageType
    string

    Type of instant message

    • INCOMING_PAYMENT — IFCCTRNS-IN (Incoming payment)
    • OUTGOING_PAYMENT — IFCCTRNS-OUT (Outgoing payment)
    • STATUS_REPORT — IFPSRPRT-OUT (Status report)
    • STATUS_REQUEST — IFPSRPRQ-OUT (Status request)
    • CANCELLATION — IFPCRQST-OUT (Cancellation request)
    • PAYMENT_RETAINMENT — IROINVST-OUT (Retainment)
    • PAYMENT_RETURN — IPRTRN-OUT (Return)
    • LIQUIDITY_TRANSFER — ILTREQ-OUT (Liquidity transfer)
      Allowed values:
    • "INCOMING_PAYMENT"
    • "OUTGOING_PAYMENT"
    • "STATUS_REPORT"
    • "STATUS_REQUEST"
    • "CANCELLATION"
    • "PAYMENT_RETAINMENT"
    • "PAYMENT_RETURN"
    • "LIQUIDITY_TRANSFER"
  • instantPaymentRejectionReason
    string

    Reason for instant payment rejection

    • INCORRECT_ACCOUNT_NUMBER (AC01) – Incorrect account number
    • INCORRECT_IBAN (AC03) – Incorrect IBAN
    • CLOSED_ACCOUNT (AC04) – Closed account
    • BLOCKED_ACCOUNT (AC06) – Blocked account
    • TRANSACTION_FORBIDDEN (AG01) – Transaction forbidden
    • INVALID_BANK_OPERATION_CODE (AG02) – Invalid bank operation code
    • ORIGINAL_PAYMENT_NOT_RECEIVED (AG09) – Original payment not received
    • INSTRUCTING_AGENT_SUSPENDED (AG10) – Instructing agent suspended
    • CREDITOR_AGENT_SUSPENDED (AG11) – Creditor agent suspended
    • INSUFFICIENT_FUND (AM04) – Insufficient funds
    • WRONG_AMOUNT (AM09) – Wrong amount
    • AMOUNT_EXCEEDS_LIMIT (AM23) – Amount exceeds settlement limit
    • ALREADY_RETURNED_TRANSACTION (ARDT) – Already returned transaction
    • REQUESTED_BY_CUSTOMER (CUST) – Requested by customer
    • DUPLICATE_PAYMENT (DUPL) – Duplicate payment
    • FOLLOWING_CANCELLATION_REQUEST (FOCR) – Following cancellation request
    • FRAUDULENT_TRANSACTION (FRAD) – Fraudulent transaction
    • LEGAL_DECISION (LEGL) – Legal decision
    • CUSTOMER_NOT_SPECIFIED_REASON (MS02) – Not specified reason (customer)
    • AGENT_NOT_SPECIFIED_REASON (MS03) – Not specified reason (agent)
    • NO_ANSWER_FROM_CUSTOMER (NOAS) – No answer from customer
    • ORIGINAL_CREDIT_TRANSFER_NOT_RECEIVED (NOOR) – Original credit transfer not received
    • MISSING_DEBTOR_ACCOUNT_IDENTIFICATION (RC01) – Bank identifier incorrect
    • MISSING_DEBTOR_ACCOUNT_OR_ID (RR01) – Missing debtor account or identification
    • MISSING_DEBTOR_NAME_OR_ADDRESS (RR02) – Missing debtor name or address
    • MISSSING_CREDITOR_NAME_OR_ADDRESS (RR03) – Missing creditor name or address
    • REGULATORY_REASON (RR04) – Regulatory reason
    • TECHNICAL_ERROR (TECH) – Technical error
    • CUT_OFF_TIME (TM01) – Invalid cut-off time
    • INSUFFICIENT_LIQUIDITY (XT04) – Insufficient liquidity
    • INVALID_ACCEPTANCE_DATE_TIME (XT06) – Invalid acceptance date/time
    • DEBTOR_AGENT_NOT_ALLOWED_SEND_IP (XT79) – Debtor agent not allowed to send IP
    • CREDIT_AGENT_NOT_ALLOWED_SEND_IP (XT80) – Creditor agent not allowed to receive IP
    • PARTICIPANT_PRODUCT_USAGE_NOT_ALLOWED (XT83) – Product usage not allowed
    • UNKNOWN (UNKNOWN) – Unknown reason
      Allowed values:
    • "INCORRECT_ACCOUNT_NUMBER"
    • "INCORRECT_IBAN"
    • "CLOSED_ACCOUNT"
    • "BLOCKED_ACCOUNT"
    • "TRANSACTION_FORBIDDEN"
    • "INVALID_BANK_OPERATION_CODE"
    • "ORIGINAL_PAYMENT_NOT_RECEIVED"
    • "INSTRUCTING_AGENT_SUSPENDED"
    • "CREDITOR_AGENT_SUSPENDED"
    • "INSUFFICIENT_FUND"
    • "WRONG_AMOUNT"
    • "AMOUNT_EXCEEDS_LIMIT"
    • "ALREADY_RETURNED_TRANSACTION"
    • "REQUESTED_BY_CUSTOMER"
    • "DUPLICATE_PAYMENT"
    • "FOLLOWING_CANCELLATION_REQUEST"
    • "FRAUDULENT_TRANSACTION"
    • "LEGAL_DECISION"
    • "CUSTOMER_NOT_SPECIFIED_REASON"
    • "AGENT_NOT_SPECIFIED_REASON"
    • "NO_ANSWER_FROM_CUSTOMER"
    • "ORIGINAL_CREDIT_TRANSFER_NOT_RECEIVED"
    • "MISSING_DEBTOR_ACCOUNT_IDENTIFICATION"
    • "MISSING_DEBTOR_ACCOUNT_OR_ID"
    • "MISSING_DEBTOR_NAME_OR_ADDRESS"
    • "MISSSING_CREDITOR_NAME_OR_ADDRESS"
    • "REGULATORY_REASON"
    • "TECHNICAL_ERROR"
    • "CUT_OFF_TIME"
    • "INSUFFICIENT_LIQUIDITY"
    • "INVALID_ACCEPTANCE_DATE_TIME"
    • "DEBTOR_AGENT_NOT_ALLOWED_SEND_IP"
    • "CREDIT_AGENT_NOT_ALLOWED_SEND_IP"
    • "PARTICIPANT_PRODUCT_USAGE_NOT_ALLOWED"
    • "UNKNOWN"
  • instantReturnReasonCode
    string

    Reason for returned instant payment.

    • FOLLOWING_CANCELLATION_REQUEST (FOCR) – Following cancellation
    • UNKNOWN (UNKNOWN) – Unknown
      Allowed values:
    • "FOLLOWING_CANCELLATION_REQUEST"
    • "UNKNOWN"
  • object
  • object

    Allows to create a new outgoing instant payment.

  • object
  • object

    Rejects a previously received incoming instant payment.

  • object
  • object

    Confirms a previously received incoming instant payment.

  • object

    Cancel a previously sent outgoing instant payment.

  • object
  • object

    Return a previously received instant payment.

  • object
  • object

    Do not return funds for a previously received payment cancellation.

  • object
  • object

    Request for liquidity transfer between internal accounts.

  • object
  • object

    Request for the status of an outgoing instant payment cancellation.

  • object
  • object

    System unavailability report details.

  • object
  • object

    Payload for cancelling a previously sent system unavailability report.

  • object
  • object

    Payload of accepted instant message

  • object
  • object

    Payload of rejected instant message

  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • object
  • instantStatusRequestMessageType
    string

    Type of the message for which the status was requested:

    • PAYMENT – Outgoing instant payment
    • CANCELLATION – Payment cancellation
    • UNKNOWN – Unknown type
      Allowed values:
    • "PAYMENT"
    • "CANCELLATION"
    • "UNKNOWN"
  • object
  • object
  • object
  • object
  • object
  • object