Skip to content

Payment Gateway · Beta

Orum
API integration

Ship Payment Gateway features without building the integration. Full Orum API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Orum

Use Cases

Why integrate with Orum

Common scenarios for SaaS companies building Orum integrations for their customers.

01

Embed instant payouts inside your SaaS

HR, gig, and payroll platforms can offer end users on-demand wage access or contractor payouts by routing funds through RTP, FedNow, Same Day ACH, or standard ACH from a single connection.

02

Automate recurring collections with bank verification

PropTech, subscription billing, and lending SaaS can verify a payer's bank account, then schedule recurring ACH pulls so their customers stop chasing failed payments manually.

03

Power marketplace wallets and escrow

B2B marketplaces can spin up per-user subledgers to hold buyer funds, then instantly settle to sellers via book transfers without moving money across external rails.

04

Sync payment status in real time

AP/AR and ERP platforms can subscribe to Orum webhooks so invoices, payouts, and reconciliation reports update instantly when a transfer settles, returns, or fails.

05

Offer smart routing without a payments team

SaaS platforms can check routing number eligibility for instant rails and let Orum pick the fastest, cheapest path per transfer — without their engineers writing rail-specific logic.

What You Can Build

Ship these features with Truto + Orum

Concrete product features your team can ship faster by leveraging Truto’s Orum integration instead of building from scratch.

01

One-click bank account verification

Verify account ownership, control via micro-deposits, and debit capability before initiating any transfer to reduce ACH returns.

02

Instant payout button with rail fallback

Check routing eligibility for RTP/FedNow and initiate a transfer at the requested speed, automatically falling back to Same Day or standard ACH when instant rails aren't supported.

03

Recurring billing scheduler

Create RRULE-based transfer schedules for rent, subscriptions, or loan repayments and let end users pause, resume, or cancel from your UI.

04

Virtual wallets and internal transfers

Provision subledgers per merchant, tenant, or worker and move funds instantly between them via book transfers for escrow, store credit, or split payouts.

05

Real-time payment status feed

Register webhook configurations and secrets so transfer state changes stream directly into your product for live invoice, payout, and dashboard updates.

06

Automated reconciliation reports

Generate recon and balance reports on demand and expose downloadable financial statements to your customers' finance teams.

SuperAI

Orum AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_orum_deliver_persons

List all persons in Orum Deliver, ordered by most recently created. Returns: id, customer_reference_id, first_name, middle_name, last_name, date_of_birth, status, addresses, contacts, status_reasons, created_at, updated_at, closed_at, metadata, social_security_number. Max 500 results per page.

create_a_orum_deliver_person

Create a person in Orum Deliver to represent a human customer. Returns the created person object including id, customer_reference_id, first_name, last_name, date_of_birth, status, and created_at. Required: customer_reference_id, first_name, last_name.

orum_deliver_persons_bulk_update

Update a person in Orum Deliver by customer reference id. Returns the updated person object including id, customer_reference_id, first_name, last_name, status, and updated_at. Required: customer_reference_id, first_name, last_name.

get_single_orum_deliver_person_by_id

Get a person by id in Orum. Returns the person object including id, customer_reference_id, first_name, last_name, status, addresses, and created_at. Required: id.

update_a_orum_deliver_person_by_id

Update a person by id in Orum. Returns the updated person object including id, customer_reference_id, first_name, last_name, status, addresses, and updated_at. Customer reference id cannot be changed. Required: id, customer_reference_id, first_name, last_name.

orum_deliver_persons_partial_update

Partially update a person in Orum by id, updating individual fields on the person object. Returns the updated person including id, customer_reference_id, first_name, last_name, status, created_at, and updated_at. Required: id.

delete_a_orum_deliver_person_by_id

Close a person in Orum by id so they are unable to transact. The person transitions to a 'closed' status. Returns the closed person including id, customer_reference_id, first_name, last_name, status, created_at, and updated_at. Deleted persons remain in GET responses but cannot be re-opened. Required: id.

list_all_orum_deliver_businesses

List all businesses in Orum with optional filtering by customer_reference_id, status, legal_name, account_number, id, or time range. Returns: id, customer_reference_id, legal_name, business_name, entity_type, tax_id_type, account_holder_name, incorporation_date, status, addresses, contacts, created_at, updated_at, closed_at, metadata, tax_id.

create_a_orum_deliver_business

Create a business customer in Orum. Returns the created business object including id, customer_reference_id, legal_name, status, created_at, and addresses. Required: customer_reference_id, legal_name.

orum_deliver_businesses_bulk_update

Update a business in Orum by customer reference id. Returns the updated business object including id, customer_reference_id, legal_name, status, and updated_at. Required: customer_reference_id, legal_name.

get_single_orum_deliver_business_by_id

Get a single business in Orum by id. Returns the business object including id, customer_reference_id, legal_name, status, created_at, and updated_at. Required: id.

update_a_orum_deliver_business_by_id

Update a business in Orum by id. Returns the updated business object including id, customer_reference_id, legal_name, status, and updated_at. Required: id, customer_reference_id, legal_name.

orum_deliver_businesses_partial_update

Partially update a business in Orum by id, changing only the fields provided in the request body. Returns the updated business object including id, customer_reference_id, legal_name, entity_type, status, addresses, contacts, created_at, and updated_at. Required: id.

delete_a_orum_deliver_business_by_id

Close a business in Orum by id so it can no longer transact. Returns the closed business object including id, customer_reference_id, legal_name, status, created_at, and closed_at. The resource transitions to closed status, cannot be re-opened, and reference IDs cannot be reused. Required: id.

list_all_orum_external_accounts

List all external accounts in Orum. Returns each account with id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, and closed_at. Max 500 results per page.

create_a_orum_external_account

Create a new external account in Orum. Returns the created account object with id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, and closed_at. Required: account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name.

orum_external_accounts_bulk_update

Update an external account in Orum by its account reference id. Returns the updated account object with id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, and closed_at. Required: account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name.

get_single_orum_external_account_by_id

Get a single external account in Orum by id. Returns the account object with id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, and closed_at. Required: id.

update_a_orum_external_account_by_id

Update an external account in Orum by id. Returns the updated account object with id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, and closed_at. Required: id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name.

orum_external_accounts_partial_update

Partially update an external account in Orum by id, modifying individual fields on the account object. Returns the external_account object including id, account_holder_name, account_number, routing_number, account_type, status, customer_reference_id, customer_resource_type, created_at, updated_at, and closed_at. Required: id.

delete_a_orum_external_account_by_id

Close an external account in Orum by id so it can no longer transact. Returns the external_account object including id, account_holder_name, account_number, account_reference_id, account_type, status, routing_number, customer_reference_id, customer_resource_type, created_at, closed_at, and updated_at. Deleted resources cannot be re-opened and their reference IDs cannot be reused. Required: id.

list_all_orum_person_external_accounts

List all external accounts for a specific person in Orum. Returns: id, account_reference_id, customer_reference_id, customer_resource_type, account_type, account_number, routing_number, account_holder_name, status, created_at, updated_at, closed_at, metadata. Required: person_id.

list_all_orum_business_external_accounts

List all external bank accounts for a specific business in Orum. Returns each account's id, account_reference_id, customer_reference_id, account_number, routing_number, account_type, account_holder_name, status, customer_resource_type, metadata, created_at, updated_at, and closed_at when applicable. Required: business_id.

list_all_orum_deliver_cards

List cards in Orum, optionally filtered by customer reference id and card status. Returns: id, account_reference_id, customer_reference_id, customer_resource_type, account_holder_name, status, pull_eligible, push_eligible, address, created_at, updated_at, closed_at, metadata, last4, expiration_month, expiration_year, status_reasons.

create_a_orum_deliver_card

Create a card object in Orum. Returns the created card object including its id, account_reference_id, account_holder_name, address, status, created_at, and updated_at. Required: account_reference_id, customer_reference_id, customer_resource_type, account_holder_name, address, number, expiration_month, expiration_year.

get_single_orum_deliver_card_by_id

Get a single card by id in Orum. Returns the card object including id, account_reference_id, status, last4, expiration_month, expiration_year, account_holder_name, address, created_at, and updated_at. Required: id.

delete_a_orum_deliver_card_by_id

Close a card by id in Orum so it can no longer transact. Returns the closed card object including id, account_reference_id, status, last4, created_at, and closed_at. Deleted cards cannot be reopened and their reference IDs cannot be reused. Required: id.

list_all_orum_deliver_transfers

List all Orum transfer objects. Returns: id, transfer_reference_id, amount, currency, speed, source, destination, status, status_reasons, account_statement_descriptor, estimated_funds_delivery_date, created_at, updated_at, metadata, transfer_group_id, schedule_id, subledger_reference_id. Filter by status, transfer_reference_id, transfer_group_id, schedule_id, or subledger_reference_id. Max 500…

create_a_orum_deliver_transfer

Initiate a transfer in Orum between a source and destination party. Returns the created transfer object including id, transfer_reference_id, status, amount, currency, speed, source, destination, created_at, updated_at. Required: transfer_reference_id, amount, currency, speed.

get_single_orum_deliver_transfer_by_id

Get a single Orum transfer by id. Returns the transfer object including id, transfer_reference_id, status, amount, currency, speed, source, destination, created_at, updated_at. Required: id.

update_a_orum_deliver_transfer_by_id

Update metadata on an Orum transfer by id. Returns the updated transfer object including id, transfer_reference_id, status, amount, currency, speed, source, destination, metadata, and updated_at. Required: id, metadata.

orum_deliver_transfers_cancel

Cancel an Orum transfer by transfer_id if the transfer is eligible for cancellation. Returns: message. Cancellation is processed asynchronously. Required: transfer_id.

orum_deliver_transfers_get_transfer_history

Get the history of status changes for an Orum transfer by id. Returns: statuses. Required: transfer_id.

list_all_orum_deliver_subledgers

List all subledger objects in Orum. Returns: id, subledger_reference_id, customer_reference_id, customer_resource_type, status, created_at, updated_at, closed_at. Filterable by subledger_reference_id.

create_a_orum_deliver_subledger

Create a subledger in Orum to represent a separate pool of funds attached to an existing customer. Returns: subledger. Required: subledger_reference_id, customer_reference_id.

get_single_orum_deliver_subledger_by_id

Get a single Orum subledger by id. Returns: subledger. Required: id.

list_all_orum_deliver_schedules

List all schedule objects in Orum Deliver for recurring transfers, optionally filtered by status. Returns: id, schedule_reference_id, status, amount, currency, speed, source, destination, start_date, recurrence, next_payment_date, created_at, updated_at, rrule_readable. Filter by status using active or inactive.

create_a_orum_deliver_schedule

Create a schedule. Returns: schedule. Required: schedule_reference_id, amount, currency, speed, start_date, recurrence.

get_single_orum_deliver_schedule_by_id

Get a single schedule in Orum by its Orum-generated id. Returns the schedule object including id, status, created_at, and updated_at. Required: id.

delete_a_orum_deliver_schedule_by_id

Delete a single schedule in Orum by its Orum-generated id. Returns the deleted schedule object including id, status, created_at, and updated_at. Required: id.

create_a_orum_schedules_rrule

Validate and parse an RRULE string in Orum. Returns: start_date, rrule_string, rrule_readable, occurrences. Requires a request body with RRULE validation parameters as defined in the Orum API reference. Required: start_date, recurrence.

list_all_orum_deliver_eligibilities

List all routing numbers eligible for RTP and FedNow in Orum. Returns: routing_number, eligible.

create_a_orum_deliver_eligibility

Check if a specific routing number is eligible for RTP or FedNow in Orum. Returns: routing_numbers. Required: routing_numbers.

list_all_orum_deliver_transfer_groups

List all Orum transfer groups sorted by most recently created. Returns: id, created_at, updated_at, transfer_group_reference_id, source, destination. Results are paginated; filter by transfer_group_reference_id to find a specific group. Max 500 results per page.

create_a_orum_deliver_transfer_group

Create a Transfer Group in Orum. Returns: transfer_group. Required: transfer_group_reference_id.

get_single_orum_deliver_transfer_group_by_id

Get a transfer group in Orum by its UUID id. Returns: transfer_group. Required: id.

list_all_orum_deliver_booktransfers

List all book transfer objects in Orum. Returns: id, book_transfer_reference_id, status, subledger_reference_id, created_at, updated_at. Results can be filtered by book_transfer_reference_id, status, or subledger_reference_id. Max 500 results per page.

create_a_orum_deliver_booktransfer

Create a book transfer. Returns: book_transfer. Required: book_transfer_reference_id, amount, currency.

get_single_orum_deliver_booktransfer_by_id

Get a book transfer. Returns: book_transfer. Required: id.

list_all_orum_deliver_balances

Get the enterprise account balance in Orum. Returns the enterprise account balance object.

list_all_orum_balance_subledgers

List all subledger account balances in Orum. Returns the subledger balance object including id. Max 500 results per page.

get_single_orum_balance_subledger_by_id

Get a subledger account balance by id in Orum. Returns: balance. Required: id.

list_all_orum_reports_recons

List all reconciliation reports in Orum. Returns: id, created_at, start_time, end_time, status, report_scope, subledger_reference_id, updated_at.

create_a_orum_reports_recon

Create a reconciliation report in Orum for a requested date range. Returns: report. Required: start_time, end_time.

get_single_orum_reports_recon_by_id

Get a single reconciliation report in Orum by id. Returns: report. Required: id.

delete_a_orum_deliver_report_by_id

Delete a single report in Orum by id. Returns an empty 204 response on success. Required: id.

get_single_orum_report_download_by_id

Download a single report from Orum as a CSV file. Returns a CSV file containing the report data. Required: id.

list_all_orum_reports_balances

Get a balance statement summary report in Orum for the requested start and end date. Returns a balance report object with report-specific fields defined by the upstream BalanceReportResponse schema. Required: start_time, end_time.

list_all_orum_verify_accounts

List all verify accounts in Orum, sorted by most recently created. Returns: id, created_at, updated_at, account_number, routing_number, account_holder_name, email, verification_status, status_reason, ownership_status, person, business, control_status, debit_status, debit_status_reason, estimated_verification_date, sender_name. Max 500 results per page.

create_a_orum_verify_account

Request account verification in Orum by submitting bank account details. Returns the verify account object including id, account_number, verification_status, ownership_status, control_status, and debit_status. Requires a JSON request body with the account details to verify. Required: account_number, routing_number, account_holder_name.

get_single_orum_verify_account_by_id

Get a single verify account in Orum by id. Returns: account. Required: id.

create_a_orum_account_control

Verify control for a single Orum verify account by account id. Returns the verify account object including id, account_number, verification_status, control_status, debit_status, and created_at. Required: account_id, statement_code.

create_a_orum_account_debit

Verify debit status for a single Orum verify account. Returns: account. Required: account_id.

list_all_orum_webhooks_configurations

List webhook configurations in Orum. Returns: id, url, event_types, enabled, created_at.

create_a_orum_webhooks_configuration

Create a webhook configuration in Orum with a destination URL and subscribed event types. Returns: webhook_configuration. The webhook URL must use HTTPS. Required: event_types, url, enabled.

update_a_orum_webhooks_configuration_by_id

Update a webhook configuration in Orum by id. Returns the updated configuration including id, url, events, enabled, and created_at. Required: id, event_types, url, enabled.

delete_a_orum_webhooks_configuration_by_id

Delete a webhook configuration in Orum by id. Returns an empty 204 response on success. Required: id.

list_all_orum_webhooks_secrets

Retrieve the Orum webhook public-private key pair used to verify incoming webhook signatures. Returns: enterprise_keypair.

create_a_orum_webhooks_secret

Initialize a new Orum webhook public-private key pair for signing and verifying webhook requests. Returns: enterprise_keypair.

create_a_orum_webhooks_invoke

Invoke a test webhook event in Orum to trigger a sample delivery to your configured endpoint. The body accepts one of seven event-type-specific test request schemas (person, business, external account, transfer, verify account, subledger, book transfer). Returns an empty 201 response on success.

Why Truto

Why use Truto’s MCP server for Orum

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 750+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Orum in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Orum account

Use Truto’s frontend SDK to connect your customer’s Orum account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Orum

Truto’s Proxy API is a 1-to-1 mapping of the Orum API. You call us, we call Orum, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Orum’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Orum on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for Orum through Truto?

Truto handles the Orum API credential exchange and token lifecycle for each of your end users' connected accounts, so you never store or refresh secrets yourself. You call Truto's endpoints with a connection ID and we translate that into authenticated Orum API calls.

Which Orum products are covered?

The integration covers Deliver (persons, businesses, external accounts, cards, transfers, schedules, eligibility, transfer groups, book transfers, subledgers, balances, and reports), Verify (accounts, account control, account debit), and Webhooks (configurations, secrets, and invoke).

Can we receive real-time transfer updates?

Yes. You can programmatically create and manage Orum webhook configurations and secrets through Truto, so state changes on transfers, schedules, and verifications are pushed to your app as they happen instead of polled.

Does the integration support bulk operations?

Yes. Bulk update endpoints are supported for deliver persons, deliver businesses, and external accounts, which is useful when reconciling counterparty records or syncing changes from your system of record.

Can we check whether a bank account supports instant rails before sending?

Yes. The eligibility endpoint lets you query a routing number for RTP and FedNow support before creating a transfer, so you can pick the right speed and avoid failed instant attempts.

How do we handle FBO ledgering and internal money movement?

You can create subledgers per end user or entity, list balances across them, and execute book transfers between subledgers instantly without touching an external payment rail — ideal for marketplaces, escrow, and wallet use cases.

Orum

Get Orum integrated into your app

Our team understands what it takes to make a Orum integration successful. A short, crisp 30 minute call with folks who understand the problem.