---
title: Zum Rails API Integration on Truto
slug: zumrails
category: Payment Gateway
canonical: "https://truto.one/integrations/detail/zumrails/"
---

# Zum Rails API Integration on Truto



**Category:** Payment Gateway  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 74 tools for Zum Rails that AI agents can call directly.

- **create_a_zum_rails_auth** — Authenticate in zumrails and generate an access token. No prior authentication is required to call this endpoint. Returns the authorization result; the upstream zumrails API documentation should be consulted for the specific token fields contained in the response, as none are enumerated in the available source.
- **update_a_zum_rails_auth_by_id** — Cancel or invalidate an active authorization token in zumrails. Returns the cancellation result; the upstream zumrails API documentation should be consulted for the specific fields contained in the response, as none are enumerated in the available source.
- **create_a_zum_rails_user** — Create a new user in zumrails. Returns: id.
- **get_single_zum_rails_user_by_id** — Get a specific zumrails user by id. Returns: id. Required: id.
- **update_a_zum_rails_user_by_id** — Update basic information for a zumrails user by id. Returns: id. Required: id.
- **delete_a_zum_rails_user_by_id** — Delete a zumrails user by id. Returns an empty 204 response on success. Required: id.
- **list_all_zum_rails_users** — Search for zumrails users using a filter. Returns: id.
- **create_a_zum_rails_user_payment_instrument** — Add a payment instrument to a zumrails user account. Returns: id. Required: addpaymentinstrumentinformation_id (the target user's id).
- **update_a_zum_rails_user_payment_instrument_by_id** — Update payment instrument information for a zumrails user. Returns: id. Required: user_id, id (payment instrument id).
- **update_a_zum_rails_user_bank_account_by_id** — Update bank account information for a zumrails user by id. Returns: id. Required: id.
- **update_a_zum_rails_user_billing_address_by_id** — Update billing address information for a user in zumrails. Returns: id. Required: id.
- **update_a_zum_rails_user_credit_card_by_id** — Update credit/debit card information for a user in zumrails. Returns: id. Required: id.
- **update_a_zum_rails_user_card_info_by_id** — Update card information for a user in zumrails by id. The source documents no request body fields or response payload fields for this endpoint. Returns an empty 204 response on success. Required: id.
- **create_a_zum_rails_user_card_approval** — Approve a card for a user in zumrails. Returns a result object; the source provides no field-level documentation for either the request body or the response — consult the zumrails API reference for the expected inputs and return values.
- **update_a_zum_rails_user_shipping_address_by_id** — Update the shipping address information for a zumrails user. Returns the updated shipping address record including id and attributes. Required: user_id, same_as_billing.
- **create_a_zum_rails_card** — Activate a card in zumrails. Returns: id, created_at, updated_at.
- **list_all_zum_rails_cards** — List cards for a user in zumrails. Returns: id, created_at, updated_at. Required: get_card_id.
- **update_a_zum_rails_card_program_by_id** — Update a card program in zumrails. Returns: id, created_at, updated_at. Required: id.
- **get_single_zum_rails_card_balance_by_id** — Retrieve a card balance inquiry in zumrails for a user by id. Returns the balance inquiry result; id is the primary identifier of the returned record. Required: id.
- **update_a_zum_rails_card_status_by_id** — Update the status of a card in zumrails. Returns: id, createdAt, updatedAt. No specific body parameters are documented in the available source; consult the zumrails cards API reference for required fields.
- **create_a_zum_rails_card_reissue** — Reissue a card in zumrails by submitting a POST request to the reissue-card endpoint. Returns the reissue operation result. The available source provides no field-level documentation for request body parameters or the response payload; consult the zumrails API reference at docs.zumrails.com/api-reference/cards for full details.
- **list_all_zum_rails_card_transactions** — List card transactions in zumrails. Returns card transaction records including id, created_at, and updated_at.
- **list_all_zum_rails_card_statements** — Filter and list card statements in zumrails by submitting filter criteria in the request body. Returns a collection of card statement records. Returns: id.
- **list_all_zum_rails_card_statement_transactions** — Filter and list card statement transactions in zumrails. Returns a collection of transaction records from the result.Items envelope; the per-record field shape is not enumerated in the available source documentation. Returns: id, attributes.
- **create_a_zum_rails_transaction** — Create a new transaction in zumrails. Returns the created transaction object including id, created_at, and updated_at.
- **get_single_zum_rails_transaction_by_id** — Get a specific zumrails transaction by id. Returns the transaction object including id, created_at, and updated_at. Required: id.
- **list_all_zum_rails_transactions** — Search for transactions in zumrails using the filter endpoint. Returns a collection of transaction records including id, created_at, and updated_at.
- **delete_a_zum_rails_transaction_by_id** — Delete a zumrails transaction by id. Returns an empty 204 response on success. Required: id.
- **create_a_zum_rails_transaction_batch_validate** — Validate a batch transaction file in zumrails by submitting it to the ValidateBatchFile endpoint. Returns validation results. The source documentation does not enumerate request body fields or response field names; consult the zumrails API reference for the full field-level breakdown.
- **create_a_zum_rails_transaction_batch_process** — Process a batch file of transactions in zumrails. Returns a result object containing the outcome of the batch processing operation; the specific response fields are not enumerated in the available source documentation and the payload is treated as a dynamic result.
- **create_a_zum_rails_transaction_batch_us** — Upload a batch file for US transactions in zumrails. Returns the result object including the batch id.
- **list_all_zum_rails_batches** — Search and list batches in zumrails by posting filter criteria to the batch filter endpoint. Returns batch records including id, created_at, and updated_at. No required parameters are documented in the available source.
- **list_all_zum_rails_funding_sources** — Search for funding sources in zumrails. Returns: id, created_at, updated_at.
- **get_single_zum_rails_funding_source_by_id** — Get a specific funding source in zumrails by id. Returns: id, created_at, updated_at. Required: id.
- **create_a_zum_rails_product** — Create a product in zumrails. Returns the created product object including its id, created_at, and updated_at.
- **update_a_zum_rails_product_by_id** — Update a product in zumrails by id. Returns the updated product object including its id, created_at, and updated_at. Required: id.
- **get_single_zum_rails_product_by_id** — Get a specific product in zumrails by id. Returns the product object including its id, created_at, and updated_at. Required: id.
- **list_all_zum_rails_products** — Search for products in zumrails. Returns a list of product objects, each including id, created_at, and updated_at.
- **delete_a_zum_rails_product_by_id** — Delete a product in zumrails by id. Returns an empty 204 response on success. Required: id.
- **update_a_zum_rails_product_image_by_id** — Upload a product image for a zumrails product. Returns the upload result via the result envelope. Required: product_id.
- **update_a_zum_rails_product_archive_by_id** — Archive a product in zumrails by its product ID. Returns: id, created_at, updated_at. Required: product_id.
- **update_a_zum_rails_product_unarchive_by_id** — Unarchive a product in zumrails by product ID. Returns the unarchived product result including id, created_at, and updated_at. Required: product_id.
- **get_single_zum_rails_product_price_by_id** — Get a specific product price in zumrails by id. Returns: id. Required: id.
- **delete_a_zum_rails_product_price_by_id** — Delete a product price in zumrails by id. Returns an empty 204 response on success. Required: id.
- **update_a_zum_rails_product_price_archive_by_id** — Archive a product price in zumrails by its product price ID. Returns an empty 204 response on success. Required: product_price_id.
- **update_a_zum_rails_product_price_unarchive_by_id** — Unarchive a product price in zumrails, restoring it to active status. Returns the updated product price record including id, created_at, and updated_at. Required: product_price_id.
- **create_a_zum_rails_invoice** — Create an invoice in zumrails. Returns: id.
- **update_a_zum_rails_invoice_by_id** — Update an invoice in zumrails by id. Returns: id. Required: id.
- **get_single_zum_rails_invoice_by_id** — Get a specific invoice in zumrails by id. Returns: id. Required: id.
- **list_all_zum_rails_invoices** — Search for invoices in zumrails. Returns: id.
- **list_all_zum_rails_invoice_events** — List invoice events for a specific invoice in zumrails. Returns: id, created_at, updated_at. Required: getinvoiceevent_id.
- **update_a_zum_rails_invoice_status_by_id** — Change the status of an invoice in zumrails by its id. Returns: id. Required: id.
- **create_a_zum_rails_subscription** — Create a subscription in zumrails. Returns the created subscription object including id, created_at, and updated_at.
- **update_a_zum_rails_subscription_by_id** — Update a subscription in zumrails by id. Returns the updated subscription object including id, created_at, and updated_at. Required: id.
- **get_single_zum_rails_subscription_by_id** — Get a specific subscription in zumrails by id. Returns the subscription object including id, created_at, and updated_at. Required: id.
- **list_all_zum_rails_subscriptions** — Search for subscriptions in zumrails. Returns a list of subscription objects each including id, created_at, and updated_at.
- **update_a_zum_rails_subscription_cancel_by_id** — Cancel a subscription in zumrails by id. Returns an empty 204 response on success. Required: id.
- **update_a_zum_rails_subscription_pause_by_id** — Pause a zumrails subscription by id. Returns: id. Required: id.
- **update_a_zum_rails_subscription_resume_by_id** — Resume a paused subscription in zumrails by id. Returns: id. Required: id.
- **list_all_zum_rails_subscription_events** — List subscription events for a given subscription in zumrails. Returns a collection of subscription event records including id, created_at, and updated_at. Required: getsubscriptionevent_id.
- **list_all_zum_rails_subscription_invoices** — List invoices for a specific zumrails subscription. Returns subscription invoice records including id, created_at, and updated_at. Required: getsubscriptioninvoice_id.
- **get_single_zum_rails_aggregation_request_by_id** — Get aggregation information from zumrails by request id. Returns the aggregation result object including id and request-specific attributes; the exact field set varies by aggregation type and is not enumerated in the upstream docs. Required: id.
- **get_single_zum_rails_aggregation_async_status_by_id** — Get the async transaction status for a zumrails aggregation request by id. Returns: id, status, created_at, updated_at. Required: id.
- **list_all_zum_rails_insights_profiles** — List Zumrails insights profiles by applying a filter. Returns a collection of insights profile records including id, created_at, and updated_at.
- **get_single_zum_rails_insights_profile_by_id** — Get a single Zumrails insights profile. Returns the insights profile record including id, created_at, and updated_at.
- **zum_rails_insights_profiles_search** — Search for a Zumrails insights profile. Returns the matching insights profile record including id, created_at, and updated_at.
- **create_a_zum_rails_insight** — Retrieve insights data from zumrails by calling the GetInsights endpoint. Returns a result object containing analytics or summary data; the specific fields are not enumerated in the available source documentation — consult the zumrails Insights API reference for the full field-level breakdown. No request parameters are documented in the current source.
- **list_all_zum_rails_wallets** — List wallets in zumrails. Returns a collection of wallet records from the result array, including id, created_at, and updated_at for each entry.
- **list_all_zum_rails_wallet_transactions** — Search and list wallet transactions in zumrails by posting filter criteria. Returns a collection of transaction records including id, created_at, and updated_at.
- **get_single_zum_rails_transaction_limit_by_id** — Get the transaction limits for a specific customer in zumrails by id. Returns: id, created_at, updated_at. Required: id.
- **update_a_zum_rails_transaction_chargeback_by_id** — Accept a zumrails transaction chargeback, marking it as accepted. Returns an empty 204 response on success. Required: transaction_chargeback_id.
- **delete_a_zum_rails_transaction_chargeback_by_id** — Dispute a zumrails transaction chargeback, marking it as disputed. Returns an empty 204 response on success. Required: transaction_chargeback_id.
- **update_a_zum_rails_transaction_action_by_id** — Take action on an Interac fraud transaction in zumrails by id. Returns: id. Required: id.
- **create_a_zum_rails_wallet_transaction_summary** — Retrieve the daily auto-withdrawal summary in zumrails by posting to the summary endpoint. Returns the summary result object; the specific fields within the result are not enumerated in the available documentation. No body parameters or query parameters are documented for this endpoint.

## How it works

1. **Link your customer's Zum Rails account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Zum Rails.** The Proxy API is a 1-to-1 mapping of the Zum Rails API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed rent collection in a PropTech platform** — Let landlords using your property management SaaS auto-collect rent from verified tenant bank accounts, split platform fees into a Zūm Wallet, and disburse the remainder to landlord funding sources — without building payments infrastructure in-house.
- **Instant loan disbursement for lending SaaS** — Underwrite applicants using Zum Rails aggregation and insights data, then push approved capital to borrowers in real time via Interac or Visa Direct instead of waiting two days for EFT to settle.
- **Batch payouts for gig and payroll platforms** — Onboard contractors as Zum Rails users, link their verified bank accounts, and orchestrate weekly mass payouts through batch processing — with webhook-driven status updates back to your app.
- **Recurring billing for B2B invoicing SaaS** — Offload subscription and invoice logic to Zum Rails so your customers can bill their clients on ACH/EFT, track invoice events, and reconcile paid vs. failed transactions inside your product.
- **Virtual card programs for expense management tools** — Issue, reissue, and manage corporate or virtual cards on behalf of your customers, sync card transactions into your ledger, and expose live balances inside your spend management UI.

## What you can build

- **One-click bank account verification** — Create Zum Rails users and attach verified payment instruments so your customers can link tenant, borrower, or payee bank accounts without micro-deposits or manual entry.
- **Multi-rail money movement engine** — Initiate individual or batched transactions across ACH, EFT, Interac e-Transfer, and Visa Direct from a single transaction creation flow inside your product.
- **Native subscriptions and invoicing** — Ship recurring billing, pause/resume/cancel controls, and invoice status tracking by mapping your product's billing model to Zum Rails subscriptions and invoices.
- **Card issuance and ledger sync** — Provision cards, update card status, fetch balances, and pull card transactions and statements into your app for a fully embedded card program experience.
- **Cash flow insights for underwriting** — Pull aggregation requests and insights profiles to power credit decisioning, fraud checks, and affordability scoring directly inside lending or onboarding workflows.
- **Chargeback and dispute workflows** — Surface transaction limits and manage chargeback lifecycle events so ops teams using your product can resolve disputes without leaving your UI.

## FAQs

### How does authentication with Zum Rails work through Truto?

Truto handles the Zum Rails auth setup for you via the create and update auth endpoints. Your end users don't see credentials — you generate a Truto integrated account, and Truto manages token storage, refresh, and injection on every downstream API call.

### Which Zum Rails resources can I read and write today?

The current toolset covers users and payment instruments (bank accounts, credit cards, billing/shipping addresses), transactions (single, batch validate, batch process, US batch), cards (issuance, status, reissue, balances, transactions, statements), products, invoices, subscriptions (with pause/resume/cancel), wallets, funding sources, aggregation requests, insights profiles, transaction limits, and chargebacks.

### Can I process high-volume payouts in a single call?

Yes. Use the batch process and batch validate transaction tools to submit many transactions at once, then list batches to monitor status. This is the recommended pattern for payroll, marketplace payouts, and mass disbursement workflows.

### How do I keep transaction and invoice state in sync?

Bank rails like ACH and EFT settle asynchronously, so you should combine polling (get transaction by ID, list invoice events, list subscription events) with Zum Rails webhooks for events like Transaction Updated, Invoice StatusChange, and Aggregation Status. Truto normalizes the auth and request layer so your handlers stay clean.

### Does the integration support open banking and account verification data?

Yes. You can retrieve aggregation requests and their async status, list and search insights profiles, and create insights to power KYC, account verification, and cash flow underwriting flows — no micro-deposits required.

### Can I support both Canadian and US payment rails?

Yes. Zum Rails is built for North America, and the available tools include a dedicated US batch transaction endpoint alongside general transaction endpoints that cover ACH, EFT, Interac e-Transfer, Visa Direct, and card rails.
