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 usUse Cases
Why integrate with Orum
Common scenarios for SaaS companies building Orum integrations for their customers.
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.
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.
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.
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.
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.
One-click bank account verification
Verify account ownership, control via micro-deposits, and debit capability before initiating any transfer to reduce ACH returns.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Blog
Orum integration guides
Deep dives, architecture guides, and practical tutorials for building Orum integrations.
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.