February 2025
🚀 Added

Use Card Rails To Move Money

We enhanced the capabilities of our Deliver API to include real-time fund transfers to and from bank accounts via debit card, powered by Visa Direct.

Using the new card transfers, U.S. customers are now able to use Deliver to reach over 99% of bank accounts in the US via a linked debit card. 

To do this, initiate an API request with speed asap with a linked card as the destination, and funds will arrive in seconds.

Interested in incorporating cards in your production flows? Reach out to service@orum.io and we’ll get you set up quickly.

Lookup Trace IDs

You may now lookup a trace ID for a transfer through our Portal & API!

In the API, there are now two new fields located in the source and destination objects of the Transfers object. These fields are trace_number and return_trace_number.

In the portal, there are two places where the trace number can be looked up:

  1. New selectable columns in the Transfers Table, Trace Number and Return Trace Number

  2. Within the Transfer Details page for each transfer, under the Source and Destination headers

Trace numbers will only be present for transfers on a go-forward basis, and may not always be available, depending on the processor.

January 2025
🚀 Added

Deleting Resources

You can now delete persons, businesses and external accounts through the portal or via an API request.

To delete in the portal, simply navigate to the Actions menu of the persons, businesses, or accounts table, and select Delete for the entity that you’d like to delete.

Once deleted, the status of the resource will transition to closed and the resources will still appear in GET responses.

January 2025
❇️ Improved

New Enhanced Search & Filter

You can now search the Persons, Businesses, Transfers, and Verify tables using additional advanced Search & Filter.

To try it out, click the new Filter button in the table, as seen below:

You will then see a pop-up that includes all the additional parameters that you can filter by. You may filter by a single parameter or multiple. See below for an examples of the new pop-up as well as a filtered table.

Happy searching! If you have any questions or feedback, please reach out to the team at service@orum.io!

December 2024
🚀 Added

Verify Now Validates Account Ownership Via Name Match

You now can do even more with Verify, our first-of-its-kind bank account verification solution.

Today, we’re thrilled to announce a third tier of verification, Verify Account Ownership Via Name Match, all available via the same API integration.

With three distinct verification tiers now available, we’ve also made Verify more flexible so you can choose whether to validate bank account status or turn on higher tiers that also validate the control of the bank account or ownership via name match.

To achieve this, a new type of bank account verification field has been added to the Verify API, giving you the option to run tiered Verify requests either independently or simultaneously:

  • status_ownership: Verifies the status of a bank account alongside the Account Ownership Via Name Match request

  • control_ownership: Verifies the status of a bank account and that the end user has control of the bank account alongside the name match request.

If you don’t have access to Verify and would like to discuss adding the solution or if you have additional questions about the latest enhancements, we’d be happy to chat. You can reach out to our team either by replying to this message or emailing service@orum.io.

November 2024
🚀 Added

Cancel Transfers via Portal and API

You can now cancel transfers through the portal or through an API request.

Cancel via Portal

From the Transfers page within the Orum Portal, click the new Actions button, select Cancel, and confirm your choice. That’s it! The status of the transfer will update to Failed and display an info icon noting that the transfer was manually canceled.

Cancel via API

Please check out our Cancel API Docs here!

General Notes on Cancellations

  • Cancellations cannot be reversed.

  • Transfers may only be canceled if they are in “Pending” status. If a transfer is unable to be canceled, the option will be greyed out.

  • Canceling an ACH or SDACH transfer will only succeed if the transfer has not yet been submitted for processing (see cutoff times for more details).

  • For A2A transfers, the credit leg may be canceled regardless of the payment method (RTP, FedNow, ACH, or SDACH) if the credit leg has not yet been submitted.

  • Only users with Admin or Payment Initiator roles are enabled to cancel transfers.

October 2024
🚀 Added

Verify Single Accounts via Portal

You can now do even more with Verify from the Orum Portal. Our new enhancements make it easy for you to Verify Account Status of individual bank accounts with a few simple clicks — giving your operations more flexibility and efficiency to handle one-off Account Status verifications.

Here are the details:

From the Verify page within the Orum Portal, click the + Verify Account button, fill in the information, and then Verify Account. That’s it — the results will appear as a new row in the Verify Details table.

It’s important to note that only users with Admin or Payment Initiator roles are enabled to use this new feature.

September 2024
❇️ Improved

Routing Number Validation Check on Creating External Accounts

When creating an external account, we have now added a synchronous validation check to ensure that the routing number that is being passed is a valid routing number.

If the routing number is not valid, we fail the creation of the account and send an error message as shown below:

{
 "error_code": "invalid_routing_number",
 "message": "Routing number is invalid. Pass a valid 9-digit routing number."
}
September 2024
🚀 Added

New: Initiate Payments Directly in our Portal!

You can now initiate single leg payments directly through the Orum Portal! See below for a breakdown of the newly available feature.

Top Ups to your FBO

You can now top up your FBO balance directly through the portal. Simply log in to the Orum Portal and visit the “Balance” page. You should see a “Top up balance” button in the top right as below:

Next, click the button and select an enterprise account. If your enterprise does not have an associated enterprise account in Verified status, then you can create one directly through the modal.

Lastly, fill out your top-up details and initiate! You will be able to track the status of the initiated transfer in the Transfers table as per usual.

Debits & Credits to/from a single Person or Business

You may also initiate a debit from a single person/business, or credit a single person/business. To initiate a payment to a person/business, first visit their details page in the portal. Ex: see a Persons details page below:

Next, locate the account to which you’d like to send/receive money from, and select the new “Transfer Money” option underneath the Actions menu of their associated accounts:

Then, fill out your transfer details and initiate! You will be able to track the status of the initiated transfer in the Transfers table as per usual.

Note: Only users with Admin or Payment Initiator roles will be able to view and use the payment initiation feature.

Please reach out to Orum Support with any questions or feedback. We’re super excited to get this in your hands!

August 2024
❇️ Improved

New Authentication Flow!

We’ve made two major updates to our authentication flow - please see below!

1. Removal of API Keys

From now onwards, you will no longer need to manage two sets of API Keys & API Credentials to authenticate to our APIs. Instead, you will only need to manage a set of API Credentials.

All API calls now have the field x-api-key as optional, and only API Credentials are necessary to authenticate moving forward.

2. Updated Auth Endpoint

We have released a new auth endpoint (/oauth/token) that adheres to the standard OAuth2 spec. With this update, you can now use off the shelf OAuth2 clients for your integrations! Some examples below:

Lastly, in order to use the new endpoint, you must create a new set of API Credentials through the Orum Portal.

All credentials created through the Orum Portal from this point forward can only be used with the new /oauth/token endpoint.

Previous Endpoint & Credential Deprecation Plan

We will continue to support the deprecated /authenticate and /refresh endpoints along with all previously created API Credentials. However, the functionality to rotate any existing credentials will be removed from the Orum Portal. If you must rotate any existing credentials, please reach out to Orum Support.

We will urge all existing customers to migrate to the new endpoint by January 15, 2025, and will support the deprecated endpoints and credentials until then.

July 2024
🚀 Added

New: Verify Accounts in Bulk in the Portal!

Introducing a new way to access all of the benefits of our Verify product without having to write a line of code!

Users can now verify accounts in bulk by simply uploading a CSV containing all account details and instantly access verification results.

This new feature is available in the Verify tab in the portal under the new “Verify Initiations” tab - as seen below!

June 2024
🚀 Added

Add Persons, Businesses, and Accounts Directly in the Portal!

Now, you can add a Person, Business, or Account directly through the Orum Portal!

To add Persons & Businesses, please navigate to the “Persons” or “Businesses” page in the Orum portal and select the ”+ New Person” or ”+ New Business” button in the top right corner.

To add Accounts, please select a Person or Business from the table, and scroll down to select ”+ New Account” to create an account that is associate to that Person or Business.

Only portal users with the Admin or Payment Initiator roles will be able to access this feature.

April 2024
🚀 Added

Introducing Debit Block Detection

Orum customers will now be able to determine if an account is debitable, and if not - if it is due to a debit block. Orum’s debit block detection enables customers to determine whether or not a debit block has been placed on an account. The goal of this functionality is to inform you when there is an account that cannot be debited, so that you can inform your end users that an action is required in order to make the account debitable.

March 2024
🚀 Added

Transfer Groups Now Available

Transfer Groups are now available! We have recently added Transfer Group APIs to allow for grouping together any set of transfers that may be associated with the same flow.

To create a transfer group, you must specify the ultimate source or destination of the group. Once specified, a group will be created, and you can attach the generated unique ID when creating all applicable transfers moving forward. Please see the updated Transfers request body.

Additionally, you may also search for all transfers associated with a transfer group by specifying the unique ID as a query parameter in the Get Transfer API.

February 2024
🚀 Added

Wire Transfers Now Available

A new credit rail has been added to the Momentum API - wire transfers. This means that along with FedNow, RTP, Same Day ACH, and ACH, you can wire transfers from the Orum FBO to external accounts. To do this, you will initiate an API request with speed “wire”, and funds will arrive quickly and securely.

Unlike our other speed options for which Orum orchestrates fallback routing, if you choose wire in the speed parameter we will not reroute the transfer to another rail if an error occurs.

To note, the wire option in the Momentum API can only be used to facilitate outbound payments. It cannot be used to facilitate debits into the Orum FBO or Account-to-Account transfers.

If you’d like to incorporate wires in your production flows, reach out to any Orum team member and we’ll get you set up.

January 2024
❇️ Improved

New and Improved Transfers Table

We’ve updated the transfers table in the transfers page to allow users to select additional columns and drag-and-drop to re-order! The table is also now paginated to allow for easier scrolling and searching.

See below for a sneak peek of our new design!

January 2024
🚀 Added

New CSV Export for Transfers

You can now export transfer data directly from the Transfers page in the Orum Portal! This data includes transfer status, source/destination name, amount, payment method, and failure codes, giving you the exact details you need to build custom reports! Read the full post on our blog.

December 2023
🚀 Added

New query parameters in GET all endpoints

Querying for a specific person, business, account, or transfer just got easier.

Reference_id query parameters

When you create a resource (person, business, external account, or transfer) you supply a reference id - your own unique identifier for that resource.

  • Person or Business: customer_reference_id

  • External account: account_reference_id

  • Transfer: transfer_reference_id

Now you can supply the applicable reference id as a parameter in a GET all request and obtain the specific resource you are looking for.

Transfer status query parameter

If you want to see only a subset of your submitted transfer requests, you can query for transfers matching a specific status:

  • Created

  • Pending

  • Completed

  • Failed

Check these new query parameters out in our API reference docs!

November 2023
🚀 Added

New: Instant Rail Eligibility Endpoint

Now you can check whether your end users are eligible to receive RTP transfers!

New Instant Rail Eligibility Endpoint!

Orum is excited to announce a new API that allows customers to check whether a routing number, or multiple routing numbers, is eligible to receive RTP transfers. You can request an eligibility response on up to 1,000 routing numbers.

Check it out in the API Reference and Instant Rail Eligibility Guide

October 2023
🚀 Added

Introducing the Balance API

Now you can check your Orum balance in real-time to keep your transfers running smoothly.

New Balance API

We are excited to announce a new API that allows customers to query for their real time balance with Orum. This API will allow customers to monitor and manage their funds with Orum to ensure there are sufficient funds to support all of their planned transfers.

Check it out in our docs: Get Balance Endpoint

September 2023
🚀 Added

Introducing new Transfers use cases

Announcing new features for v2022-09-21 of Momentum!

New Transfer use cases

We are excited to announce the addition of three new payment options to our platform! This update will make it easier for businesses and individuals to transact and receive payments securely and efficiently.

  • Pay by Bank Transfers

    Momentum now supports Pay by Bank transfers, which allows consumers on your platform to pay businesses for goods or services using their bank account. This option can be used as an alternative to credit or debit card payments and is preferred by some persons and businesses because it allows them to transact without incurring additional fees or charges. Learn more.

  • Disbursements

    We have also added the option of Disbursements, which allows businesses to send funds directly to a person using only their first name, last name, and bank account information. This feature can be used for insurance claims, legal settlements, and rewards programs. Learn More.

  • B2B payments

    B2B payments offer a convenient way to enable businesses to collect payments from or send payments to other businesses for goods or services. This feature allows businesses to transact with one another securely and efficiently. Learn more.

August 2023
🚀 Added

New: Optional Fields for Personalized Bank Statements

Orum is adding two optional fields to the Momentum API!

These optional fields will be called statement_display_name, and will be nested under both the source and destination objects. These fields will allow you to specify what names appear on the bank account statements of your end users (e.g. your name, your customer’s name, etc.)

With this new feature, end users being debited will more clearly understand who is pulling money from their account, and end users being credited will more clearly understand who is pushing money into their account.
This increased clarity should provide end users with an enhanced experience that results in fewer disputes and customer complaints that would have otherwise occurred due to confusion of the transfer.

How does this work?

When determining what information, if any, to pass in each optional field we recommend asking yourself these two questions:

  • What name do you want to show up on the bank statement of the source (the party being debited) to ensure that they know who pulled money from their account?

  • What name do you want to show up on the bank statement of the destination (the party being credited) to ensure that they know who pushed money to their account?

Sample request to personalize the source and destination bank account statements

POST request
{
    "currency": "USD",
    "source": {
         "account_reference_id": "string",
         "customer_reference_id": "string",
         "statement_display_name": "John Smith"
    },
    "destination": {
         "account_reference_id": "string",
         "customer_reference_id": "string",
         "statement_display_name": "Clothing Depot"
    },
    "transfer_reference_id": "string",
    "amount": 100,
    "account_statement_descriptor": "Retail Purchase"
}

Note: the statement_display_name fields accept up to 16 alphanumeric characters (including spaces) for ACH transfers and up to 140 alphanumeric characters for RTP transfers. The account_statement_descriptor field can accept 10 alphanumeric characters for ACH and 140 characters for RTP.

As a reminder, the account_statement_descriptor field allows you to provide additional information about a transfer, and will appear on the bank statement of both the source and destination account.

March 2023
🚀 Added

Support for Metadata

The Momentum API now supports passing metadata on API requests!

For all resources, you can now pass a metadata field in the request body to attach additional information to the Momentum resource. You can also use the PATCH and/or PUT endpoints for each resource to update, add to or remove the metadata. Any existing metadata will be present on all API and webhook responses throughout Momentum.

For transfers, there is a new PATCH endpoint that can be used to update metadata on a transfer.

Metadata can be useful in many ways! For example, you could store a customer’s username in metadata when creating that user as a Person in Momentum. Metadata is not used by Momentum — it does not impact the status of any resource and adding, updating or removing metadata will not result in a webhook event.

Metadata must be valid JSON and can contain up to 5 key-value pairs with key names up to 20 characters long and values up to 50 characters long. Do not store any sensitive or personally-identifiable information (ex: bank account numbers) in metadata.

Sample request to create a person with metadata

POST request
curl --request POST \
     --url https://api-sandbox.orum.io/momentum/persons \
     --header 'Orum-Version: v2022-09-21' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
     "customer_reference_id": "7293mn67sl097da3f",
     "first_name": "Test",
     "last_name": "User",
     "metadata": {
     		"customer_id": "71np8dw5rd08an15",
        "username": "user123",
        "beta_access": true
     },
     "date_of_birth": "1990-03-01",
     "social_security_number": "123-45-6789",
     "addresses": [
          {
               "type": "home",
               "address1": "12 Test st",
               "city": "Testerton",
               "state": "NY",
               "country": "US",
               "zip5": "10001"
          }
     ]
}
'

Sample request to update the metadata on a person

The below request will maintain the customer_id value, remove the username field and value, update the beta_access value, and add a new customer_number field with a value of 1098.

PATCH request
curl --request PATCH \
     --url https://api-sandbox.orum.io/momentum/persons/5ada8562-c616-4859-8999-8f148bdfaa10 \
     --header 'Orum-Version: v2022-09-21' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
     "customer_reference_id": "7293mn67sl097da3f",
     "first_name": "Test",
     "last_name": "User",
     "metadata": {
     		"customer_id": "71np8dw5rd08an15",
        "beta_access": false,
        "customer_number": 1098
     },
     "date_of_birth": "1990-03-01",
     "social_security_number": "123-45-6789",
     "addresses": [
          {
               "type": "home",
               "address1": "12 Test st",
               "city": "Testerton",
               "state": "NY",
               "country": "US",
               "zip5": "10001"
          }
     ]
}
'
February 2023
❇️ Improved

Improved Person, Business & External Account onboarding

Supplying contact information for Persons and Businesses is now optional

We updated our platform to improve the person and business onboarding experience by making the contacts array of objects optional for both endpoints. This means you can now create, update, or partially update a person or business without sending any or all of the fields in the contacts array of objects.

Example of fields required to create or update a Person
{
     "addresses": [
          {
               "type": "home",
               "country": "US",
               "address1": "string",
               "city": "string",
               "state": "string",
               "zip5": "string"
          }
     ],
     "customer_reference_id": "string",
     "first_name": "string",
     "last_name": "string",
     "date_of_birth": "string",
     "social_security_number": "string"
}
Example of fields required to create or update a Business
{
     "addresses": [
          {
               "type": "legal",
               "country": "US",
               "address1": "string",
               "city": "string",
               "state": "string",
               "zip5": "string"
          }
     ],
     "customer_reference_id": "string",
     "legal_name": "string",
     "tax_id": "string",
     "tax_id_type": "tin"
}

External Accounts now support hyphens

We also updated our external accounts endpoint to now support hyphens in the account_number field. This means that if your customers’ bank accounts naturally have hyphens, you no longer need to strip these out before creating, updating, or partially updating an external account.

Example of fields required to create or update an External Account
{
     "account_reference_id": "string",
     "customer_reference_id": "string",
     "customer_resource_type": "business",
     "account_type": "checking",
     "account_number": "100-00000001",
     "routing_number": "string",
     "account_holder_name": "string"
}
January 2023
❇️ Improved

New and improved error messages

We have updated Momentum’s synchronous error codes and messages to be actionable and detailed, allowing you to easily self-serve any issues you encounter.

The structure of the errors has not changed, meaning there is no need to change how you currently handle Momentum errors.

Sample validation error
{
  "error_code": "missing_first_name",
  "message": "First name is required. Accepted values are letters, spaces, hyphens, apostrophes, periods, and diacritics."
}

Check out the new Errors guide to see an exhaustive list of all the errors!

December 2022
🚀 Added

Pagination for GET endpoints

For endpoints that list all items in a resource collection, you can optionally paginate the response using two request parameters:

  • size: the maximum number of items to return. Accepts integers from 0 to 500. Defaults to 100.

  • index: the starting point within the list of items. Accepts integers 0 and greater. Defaults to 0.

API responses are returned in reverse chronological order, meaning the newest items will appear at the top of the response.

If no pagination parameters are supplied, Momentum will default to returning the most recently created 100 items.

Request examples

The below request has a size of 10 and an index of 0, meaning the API would return transfers 1-10.

Receive the first 10 transfers
https://api-sandbox.orum.io/momentum/transfers?size=10&index=0

To return the next 10 transfers, make a request with a size of 10 and an index of 1. This would return transfers 11-20.

Receive the next 10 transfers
https://api-sandbox.orum.io/momentum/transfers?size=10&index=1

All of this information can also be found in our pagination guide!

September 2022
❇️ Improved

New Momentum version: v2022-09-21

Announcing v2022-09-21 of Momentum!

Enhancements to the API

  • A more intuitive transfers API request - simply tell us where you want the money pulled from by populating source and where you want the money sent by populating destination. Learn more.

  • Clearer reference_id fields. The field has been updated to be more specific and align with resource types:

    • customer_reference_id for persons or businesses.

    • transfer_reference_id for transfers.

    • account_reference_id for external accounts.

  • Special characters in names – Orum now allows special characters for all fields that end in _name on Person, Business and External Account resources.

  • Transfer status reasons – A new status_reason object in transfers webhooks provides context behind a transfer’s failure, allowing you to triage any failed transfers independently and quickly. Learn more.

  • Person status reasons – A new status_reason object in persons webhooks provides information on why a person failed verification checks, giving you the ability to update missing/incorrect information and re-verify the person. Learn more

  • Estimated funds delivery date – A new estimated_funds_delivery_date field in transfers webhooks provides the date that Orum anticipates funds to be delivered to the destination account, allowing you to create an informed end-user experience. Learn more.

Was this page helpful?