UMM Services Webhooks (v2026.08)

Introduction

Unified Money Movement Services (UMM) provides distinct product lines tailored for Banks, Credit Unions, Fintechs, and other Financial Institutions. These product lines are categorized according to the institution type utilizing the UMM Service and the nature of integration.

Client Type Purpose Integration Type API
Banks, Credit Unions Account-to-Account (A2A) Transfers for Retail and Business Clients Via Digital Banking Platforms maintained by the Bank/Credit Union Transfers & Payments
Fintechs (excluding Banks/Credit Unions) Transfers, Payments, Collections, etc. Via third-party initiation Integrated Payments

In addition to product-specific APIs, UMM also provides a suite of Administrative APIs. This includes the Health Monitoring API, which oversees all APIs offered under UMM Services.

General Instructions

Clients should follow the guidelines below when integrating with UMM Services Webhooks.

1 JSON Ignore Unknown Properties

To ensure seamless forward compatibility, please configure your event-handler JSON parser to ignore unknown properties in incoming event payloads. As event schemas update, new fields may be introduced without breaking changes. On the server side, our endpoints are configured to ignore unexpected request properties, so extra fields in event-related client payloads will not be considered.

Example

Incoming JSON (includes a field that may be added in a future release):

{
  "id": "pay_123",
  "status": "completed",
  "new_field_added_later": "xyz"
}

Parsed object with 'ignore unknown properties' enabled (new_field_added_later is discarded; parsing succeeds):

{
  "id": "pay_123",
  "status": "completed"
}
Setup Behavior
Ignore unknown properties = off Parsing fails when new_field_added_later (or any unknown field) appears
Ignore unknown properties = on (required) Parsing succeeds; unknown fields are discarded
2 ⚠️ Handling Event Sequence & Duplicates

Event messages are not guaranteed to arrive in order and may occasionally be delivered more than once.

Order: Refer to the timestamp request header to sequence events properly.

Duplicates: Track the idempotent_request_key (a unique client-generated token to filter out retries and duplicate events).

Authentication

UMM Services Event posting supports different authentication schemes.

API Keys over Custom HTTP Headers

In this authentication scheme, UMM Services would send API Keys, in the form of HTTP headers, as part of the webhook. These API Keys must be configured in UMM Services by the client. A client can specify upto a maximum of 5 API keys to be sent in a webhook. The client can check for the authenticity of the webhook by comparing the API keys and values received in the webhook with the ones configured in UMM Services.

Example :

test_header1:value1
test_header2:value2
test_header3:value3
test_header4:value4
test_header5:value5

HTTP Basic Authentication

With Basic Authentication, UMM Services sends a Base64-encoded string that contains the user name and password for the client in the Authorization header of the HTTP request. The client must configure the username and password for the basic authentication in UMM Services. The client can check for the authenticity of the webhook by verifying the username and password received in the webhook with the ones configured in UMM Services. Please note that Base64 is not a form of encryption and is similar to sending the user name and password in clear text.

Example :

Below  dXNlcm5hbWU6cGFzc3dvcmQ=   refers to Base64 encoded string of the provided username and password ( username:password )
(  : ( colon ) is appended in-between username and password before it is being encoded)
Authorization:Basic dXNlcm5hbWU6cGFzc3dvcmQ=

OAuth 2.0

UMM Services supports Open Authorization Protocol 2.0 with Auth scheme as “Bearer”. The client/biller needs to run an authorization server at its end. The client needs to configure the client id, the client secret, the token endpoint (URL) and the Auth scope in UMM Services. The Grant Type to be used is "client_credentials". UMM Services sends the token read from the token endpoint in the Authorization header of the webhook.

Example :

Below 4484e52dc4744374aced826a4543cd28948816ff   refers to the access token issued by Autherization server.
Authorization:Bearer 4484e52dc4744374aced826a4543cd28948816ff

Request Headers

Every webhook request will include the following headers

Request Header Parameters:
client_key
required
string <= 10 characters ^[a-zA-Z0-9]{1,10}$

The unique identifier assigned by the UMM Services to the client.
Example:CLIAAADDD0910

product
required
string <= 100 characters ^[a-zA-Z0-9_.& -]{1,100}$

The product identifier corresponding to the API.
Possible values:retail_transfers,smb_transfers,commercial_transfers,integrated_payments

payment_channel
required
string <= 100 characters ^[a-zA-Z0-9_.& -]{1,100}$

The FI channel vide which the API is invoked.
Possible values:retail_banking, commercial_banking, smb_banking, bank_bos, atm, kiosk, pos, mobile_banking, csm, online

idempotent_request_key
required
string <= 50 characters ^[a-zA-Z0-9_=-]{1,50}$

The unique token that clients can generate and maintain in order to identify an API request. This is used to identify duplicate requests and retrials.
Example:6bc5f0f49ee2412a93b0596d6a3c4eca

timestamp
required
any <ISO 8601 DateTime with offset YYYY-MM-DDThh:mm:ss.sss+/-hh:mm>

The UTC datetime when the API is invoked, in the ISO 8601 format
Example:2020-09-18T17:31:34.000-05:30