Temenos · AsyncAPI Specification

Temenos Banking Events

Version 1.0.0

Event-driven architecture for Temenos banking platform providing asynchronous integration through business and system events published to Apache Kafka topics. Enables loose coupling of Packaged Business Capabilities (PBCs) with support for both JMS point-to-point messaging for guaranteed once-and-only-once delivery and Kafka publish-subscribe for at-least-once delivery of data events. Events are published in JSON format with adapter support for XML and Avro transformation.

View Spec View on GitHub BankingCloud BankingCore BankingDigital BankingFinancial ServicesFintechOpen BankingPaymentsWealth ManagementAsyncAPIWebhooksEvents

Channels

temenos.events.account
publish onAccountEvent
Account event published
Account lifecycle events including creation, closure, status changes, and balance updates for all account types.
temenos.events.payment
publish onPaymentEvent
Payment event published
Payment processing events including order acceptance, execution confirmation, clearing status updates, and payment failures.
temenos.events.customer
publish onCustomerEvent
Customer event published
Customer lifecycle events including onboarding, profile updates, KYC status changes, and relationship modifications.
temenos.events.transaction
publish onTransactionEvent
Transaction event published
Transaction events published when financial transactions are committed to the system including debits, credits, and transfers.
temenos.events.compliance
publish onComplianceEvent
Compliance event published
Compliance and financial crime events including sanctions screening alerts, AML monitoring alerts, and risk score changes.
temenos.data.replication
publish onDataReplicationEvent
Data replication event published
Data replication events captured from memory when transactions are committed to the system. Used for populating the Analytics Data Store and Operational Data Store through real-time ETL processing.
temenos.events.system
publish onSystemEvent
System event published
System-level events including service health changes, configuration updates, and platform operational events.

Messages

AccountCreated
Account Created
Published when a new account is created
AccountClosed
Account Closed
Published when an account is closed
AccountStatusChanged
Account Status Changed
Published when an account status changes
PaymentOrderAccepted
Payment Order Accepted
Published when a payment order is accepted for processing
PaymentOrderConfirmed
Payment Order Confirmed
Published when a payment order is confirmed and booked
PaymentOrderFailed
Payment Order Failed
Published when a payment order fails processing
CustomerOnboarded
Customer Onboarded
Published when a new customer is onboarded
CustomerUpdated
Customer Updated
Published when customer details are updated
KycStatusChanged
KYC Status Changed
Published when a customer KYC status changes
TransactionCommitted
Transaction Committed
Published when a financial transaction is committed
SanctionAlertRaised
Sanction Alert Raised
Published when a sanctions screening alert is generated
RiskScoreChanged
Risk Score Changed
Published when a customer risk score is updated
DataReplicationEvent
Data Replication Event
Published for data replication when transactions are committed
SystemEvent
System Event
Published for system-level operational events

Servers

kafka
kafka kafka.temenos.com:9092
Temenos Kafka cluster for event streaming. Apache Kafka serves as the distributed event streaming platform for publishing and subscribing to banking events.
jms
jms jms.temenos.com:61616
JMS message broker for point-to-point event delivery with guaranteed once-and-only-once delivery semantics.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Temenos Banking Events
  description: >-
    Event-driven architecture for Temenos banking platform providing
    asynchronous integration through business and system events published
    to Apache Kafka topics. Enables loose coupling of Packaged Business
    Capabilities (PBCs) with support for both JMS point-to-point messaging
    for guaranteed once-and-only-once delivery and Kafka publish-subscribe
    for at-least-once delivery of data events. Events are published in
    JSON format with adapter support for XML and Avro transformation.
  version: '1.0.0'
  contact:
    name: Temenos Developer Support
    url: https://developer.temenos.com/
    email: [email protected]
  license:
    name: Temenos Terms of Service
    url: https://www.temenos.com/legal-information/website-terms-and-conditions/
servers:
  kafka:
    url: kafka.temenos.com:9092
    protocol: kafka
    description: >-
      Temenos Kafka cluster for event streaming. Apache Kafka serves as the
      distributed event streaming platform for publishing and subscribing
      to banking events.
    security:
      - sasl: []
  jms:
    url: jms.temenos.com:61616
    protocol: jms
    description: >-
      JMS message broker for point-to-point event delivery with guaranteed
      once-and-only-once delivery semantics.
    security:
      - userPassword: []
channels:
  temenos.events.account:
    description: >-
      Account lifecycle events including creation, closure, status changes,
      and balance updates for all account types.
    publish:
      operationId: onAccountEvent
      summary: Account event published
      description: >-
        Receive notifications for account lifecycle events when accounts
        are created, modified, closed, or have significant balance changes.
      message:
        oneOf:
          - $ref: '#/components/messages/AccountCreated'
          - $ref: '#/components/messages/AccountClosed'
          - $ref: '#/components/messages/AccountStatusChanged'
  temenos.events.payment:
    description: >-
      Payment processing events including order acceptance, execution
      confirmation, clearing status updates, and payment failures.
    publish:
      operationId: onPaymentEvent
      summary: Payment event published
      description: >-
        Receive notifications for payment lifecycle events when payment
        orders are accepted, confirmed, cleared, or fail processing.
      message:
        oneOf:
          - $ref: '#/components/messages/PaymentOrderAccepted'
          - $ref: '#/components/messages/PaymentOrderConfirmed'
          - $ref: '#/components/messages/PaymentOrderFailed'
  temenos.events.customer:
    description: >-
      Customer lifecycle events including onboarding, profile updates,
      KYC status changes, and relationship modifications.
    publish:
      operationId: onCustomerEvent
      summary: Customer event published
      description: >-
        Receive notifications for customer lifecycle events when customers
        are onboarded, updated, or have KYC status changes.
      message:
        oneOf:
          - $ref: '#/components/messages/CustomerOnboarded'
          - $ref: '#/components/messages/CustomerUpdated'
          - $ref: '#/components/messages/KycStatusChanged'
  temenos.events.transaction:
    description: >-
      Transaction events published when financial transactions are
      committed to the system including debits, credits, and transfers.
    publish:
      operationId: onTransactionEvent
      summary: Transaction event published
      description: >-
        Receive notifications when financial transactions are committed
        including debit, credit, and transfer operations.
      message:
        $ref: '#/components/messages/TransactionCommitted'
  temenos.events.compliance:
    description: >-
      Compliance and financial crime events including sanctions screening
      alerts, AML monitoring alerts, and risk score changes.
    publish:
      operationId: onComplianceEvent
      summary: Compliance event published
      description: >-
        Receive notifications for compliance events including new
        screening alerts and risk rating changes.
      message:
        oneOf:
          - $ref: '#/components/messages/SanctionAlertRaised'
          - $ref: '#/components/messages/RiskScoreChanged'
  temenos.data.replication:
    description: >-
      Data replication events captured from memory when transactions are
      committed to the system. Used for populating the Analytics Data Store
      and Operational Data Store through real-time ETL processing.
    publish:
      operationId: onDataReplicationEvent
      summary: Data replication event published
      description: >-
        Receive data change events for replicating committed transaction
        data to downstream data stores and analytics systems.
      message:
        $ref: '#/components/messages/DataReplicationEvent'
  temenos.events.system:
    description: >-
      System-level events including service health changes, configuration
      updates, and platform operational events.
    publish:
      operationId: onSystemEvent
      summary: System event published
      description: >-
        Receive notifications for system-level operational events.
      message:
        $ref: '#/components/messages/SystemEvent'
components:
  securitySchemes:
    sasl:
      type: scramSha256
      description: SASL/SCRAM-SHA-256 authentication for Kafka
    userPassword:
      type: userPassword
      description: Username/password authentication for JMS
  messages:
    AccountCreated:
      name: AccountCreated
      title: Account Created
      summary: Published when a new account is created
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: account.created
          correlationId:
            type: string
          timestamp:
            type: string
            format: date-time
    AccountClosed:
      name: AccountClosed
      title: Account Closed
      summary: Published when an account is closed
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: account.closed
    AccountStatusChanged:
      name: AccountStatusChanged
      title: Account Status Changed
      summary: Published when an account status changes
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: account.status.changed
    PaymentOrderAccepted:
      name: PaymentOrderAccepted
      title: Payment Order Accepted
      summary: Published when a payment order is accepted for processing
      contentType: application/json
      payload:
        $ref: '#/components/schemas/PaymentEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: payment.order.accepted
    PaymentOrderConfirmed:
      name: PaymentOrderConfirmed
      title: Payment Order Confirmed
      summary: Published when a payment order is confirmed and booked
      contentType: application/json
      payload:
        $ref: '#/components/schemas/PaymentEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: payment.order.confirmed
    PaymentOrderFailed:
      name: PaymentOrderFailed
      title: Payment Order Failed
      summary: Published when a payment order fails processing
      contentType: application/json
      payload:
        $ref: '#/components/schemas/PaymentEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: payment.order.failed
    CustomerOnboarded:
      name: CustomerOnboarded
      title: Customer Onboarded
      summary: Published when a new customer is onboarded
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CustomerEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: customer.onboarded
    CustomerUpdated:
      name: CustomerUpdated
      title: Customer Updated
      summary: Published when customer details are updated
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CustomerEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: customer.updated
    KycStatusChanged:
      name: KycStatusChanged
      title: KYC Status Changed
      summary: Published when a customer KYC status changes
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CustomerEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: customer.kyc.changed
    TransactionCommitted:
      name: TransactionCommitted
      title: Transaction Committed
      summary: Published when a financial transaction is committed
      contentType: application/json
      payload:
        $ref: '#/components/schemas/TransactionEvent'
    SanctionAlertRaised:
      name: SanctionAlertRaised
      title: Sanction Alert Raised
      summary: Published when a sanctions screening alert is generated
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ComplianceEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: compliance.sanction.alert
    RiskScoreChanged:
      name: RiskScoreChanged
      title: Risk Score Changed
      summary: Published when a customer risk score is updated
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ComplianceEvent'
      headers:
        type: object
        properties:
          eventType:
            type: string
            const: compliance.risk.changed
    DataReplicationEvent:
      name: DataReplicationEvent
      title: Data Replication Event
      summary: Published for data replication when transactions are committed
      contentType: application/json
      payload:
        $ref: '#/components/schemas/DataReplication'
    SystemEvent:
      name: SystemEvent
      title: System Event
      summary: Published for system-level operational events
      contentType: application/json
      payload:
        $ref: '#/components/schemas/SystemEventPayload'
  schemas:
    AccountEvent:
      type: object
      description: Account lifecycle event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        eventType:
          type: string
          description: Event type classification
        accountId:
          type: string
          description: Account identifier
        customerId:
          type: string
          description: Associated customer identifier
        accountType:
          type: string
          description: Account type
        currency:
          type: string
          description: Account currency
        status:
          type: string
          description: Account status after event
        previousStatus:
          type: string
          description: Account status before event
        timestamp:
          type: string
          format: date-time
          description: Event timestamp
        source:
          type: string
          description: Source application
    PaymentEvent:
      type: object
      description: Payment lifecycle event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        eventType:
          type: string
          description: Event type classification
        paymentOrderId:
          type: string
          description: Payment order identifier
        debitAccountId:
          type: string
          description: Debit account
        creditAccountId:
          type: string
          description: Credit account
        amount:
          type: number
          format: double
          description: Payment amount
        currency:
          type: string
          description: Payment currency
        paymentType:
          type: string
          description: Payment type
        bookingStatus:
          type: string
          description: Booking status
        failureReason:
          type: string
          description: Failure reason if applicable
        timestamp:
          type: string
          format: date-time
          description: Event timestamp
    CustomerEvent:
      type: object
      description: Customer lifecycle event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        eventType:
          type: string
          description: Event type classification
        customerId:
          type: string
          description: Customer identifier
        customerType:
          type: string
          description: Customer type
        kycStatus:
          type: string
          description: Current KYC status
        previousKycStatus:
          type: string
          description: Previous KYC status
        timestamp:
          type: string
          format: date-time
          description: Event timestamp
    TransactionEvent:
      type: object
      description: Financial transaction event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        transactionId:
          type: string
          description: Transaction identifier
        accountId:
          type: string
          description: Account identifier
        transactionType:
          type: string
          description: Transaction type
        amount:
          type: number
          format: double
          description: Transaction amount
        currency:
          type: string
          description: Currency
        debitOrCredit:
          type: string
          description: Debit or credit indicator
          enum:
            - DEBIT
            - CREDIT
        bookingDate:
          type: string
          format: date
          description: Booking date
        valueDate:
          type: string
          format: date
          description: Value date
        timestamp:
          type: string
          format: date-time
          description: Event timestamp
    ComplianceEvent:
      type: object
      description: Compliance event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        eventType:
          type: string
          description: Event type
        customerId:
          type: string
          description: Customer identifier
        alertId:
          type: string
          description: Alert identifier if applicable
        severity:
          type: string
          description: Event severity
          enum:
            - HIGH
            - MEDIUM
            - LOW
        riskScore:
          type: number
          format: double
          description: Risk score if applicable
        previousRiskScore:
          type: number
          format: double
          description: Previous risk score
        details:
          type: string
          description: Event details
        timestamp:
          type: string
          format: date-time
          description: Event timestamp
    DataReplication:
      type: object
      description: Data replication event payload
      properties:
        eventId:
          type: string
          description: Unique event identifier
        entityType:
          type: string
          description: Entity type being replicated
        entityId:
          type: string
          description: Entity identifier
        operation:
          type: string
          description: Operation type
          enum:
            - CREATE
            - UPDATE
            - DELETE
        data:
          type: object
          description: Entity data payload
          additionalProperties: true
        timestamp:
          type: string
          format: date-time
          description: Commit timestamp
    SystemEventPayload:
      type: object
      description: System event payload
      properties:
        eventId:
          type: string
          description: Event identifier
        eventType:
          type: string
          description: System event type
        source:
          type: string
          description: Source service
        severity:
          type: string
          description: Event severity
          enum:
            - INFO
            - WARNING
            - ERROR
            - CRITICAL
        message:
          type: string
          description: Event message
        timestamp:
          type: string
          format: date-time
          description: Event timestamp