Apiture Developers Apiture Developers

Menu

  • Explore API Banking
    • API Digital Banking
    • Embedded Banking
    • Contact Us
  • Developers
    • Quick Start Guide
    • Embedded Banking
    • Events Reference
    • Authenticated Portal
  • API Documentation
    • Reference
Log In / Register
Apiture Developers Apiture Developers
Log In / Register
Apiture Developers

Menu

  • Explore API Banking
    • API Digital Banking
    • Embedded Banking
    • Contact Us
  • Developers
    • Quick Start Guide
    • Embedded Banking
    • Events Reference
    • Authenticated Portal
  • API Documentation
    • Reference

API Documentation

  • folder icon closed folder iconGetting Started
  • folder icon closed folder iconConcepts
    • API Keys
    • Authorization and Authentication
    • Access Tokens
    • Resources and URI Structure
    • Resource Collections
    • Resource Sets
    • Scopes & Entitlements
    • Error Responses
    • Error Types
    • Dry Runs
    • Markdown
    • Idempotent Operations
    • Collection Pagination
    • Collection Filtering
    • Transfers
    • Business Transfers
    • Cutoff Times
    • Identity Challenges
  • folder icon closed folder iconGuides
    • Authenticate Users in your App using OpenID Connect with PKCE
    • Authenticate using OAuth 2.0 Client Credentials Flow
    • Getting a List of Accounts
    • Listing the Balances for Accounts
    • Using Pagination
    • Creating a One-Time Transfer
    • Listing Transfers
    • Retrieving Business Transfer Information
    • Completing an Identity Challenge
  • folder icon closed folder iconAPI Reference
  • folder icon closed folder iconRelease Notes

Creating a One-Time Transfer

  • folder icon closed folder iconAPI Documentation
    • Getting Started
    • Concepts
      • API Keys
      • Authorization and Authentication
      • Access Tokens
      • Resources and URI Structure
      • Resource Collections
      • Resource Sets
      • Scopes & Entitlements
      • Error Responses
      • Error Types
      • Dry Runs
      • Markdown
      • Idempotent Operations
      • Collection Pagination
      • Collection Filtering
      • Transfers
      • Business Transfers
      • Cutoff Times
      • Identity Challenges
    • Guides
      • Authenticate Users in your App using OpenID Connect with PKCE
      • Authenticate using OAuth 2.0 Client Credentials Flow
      • Getting a List of Accounts
      • Listing the Balances for Accounts
      • Using Pagination
      • Creating a One-Time Transfer
      • Listing Transfers
      • Retrieving Business Transfer Information
      • Completing an Identity Challenge
    • API Reference
    • Release Notes
  • folder icon closed folder iconAuthenticated Portal
    • Getting Started
      • Registration
      • Profile
    • Concepts
      • Environments
      • Products
    • Managing your Applications
      • Creating Applications
      • Creating Data Direct: Real-Time Webhooks
      • Editing Applications
      • Application Owners
      • Getting Application Keys and IDs
      • Continue your Project
    • Release Notes
      • Developer Portal 1.0
      • Developer Portal 1.1
  • folder icon closed folder iconEmbedded Banking
    • Getting Started
    • Concepts
      • Overview
      • Managing User Credentials
      • Components
      • Registering your Application
      • Terminology
      • Encryption and Authentication
    • Guides
      • Component Customization
      • Customization Examples
      • Initializing Components
      • Event Handling and Data Processing
    • Release Notes
      • EB v1.0 Release Notes
      • EB v1.2.2 Release Notes
      • EB v1.3 Release Notes
      • Developer Portal 1.0 Update
  • folder icon closed folder iconEvents
    • Introduction
    • Guides
      • General Structure
      • Field Annotations
      • Customer Onboarding Data Direct: Real-Time
    • Data Delivery
      • Flat File Delivery
      • Snowflake Delivery
      • Event History API
      • Real-time / Webhooks

Creating a One-Time Transfer

A one-time transfer is a transfer of funds from one account to another at a single, scheduled time. The person making the transfer must have the entitlements to transfer money to the target account being credited and transfer money from the source account being debited.

Gather Accounts

The customer’s account information is needed to create any transfer.

Gather a list of customer accounts using the `listAccounts` operation. Instructions for using this operation are available in Getting a List of Accounts.

Check Entitlements

To ensure that an account can be used during a transfer, you must check the customer’s account entitlements. The entitlements needed to make a transfer to or from an account are described in the transfers conceptual article.

An account’s allows property list includes the properties transferFrom and transferTo. These entitlements indicate whether an account can have funds debited or credited during a transfer. Transfers cannot be created between accounts without the proper entitlements. If a customer is not entitled to use an account for part of the transfer, do not display that option to them in your user interface.

Check Account Locations

Accounts have a location which indicates if they are an internal or external account. An account location is important for determining the type of transfer, such as whether the transfer is between two accounts at the same financial institution or if a second financial institution involved. For more information on account locations, see the Transfers concept article.

Available Funds

Available funds are not required to be in the source account before a transfer is created. The available funds in the account may fluctuate between the creation of the transfer and the processing of the transfer.

When a user is creating a transfer, the application should not block the user from creating a transfer based on the amount of funds in the source account. Apiture does recommend warning the user that current funds are not available, in case the user made a mistake entering the amount to be transferred.

If funds are not available at the time the transfer is processed, the transfer cannot complete at that time and is usually rescheduled to try again later.

Create a Transfer

Transfers are created with the createTransfers operation by performing a POSToperation with the necessary transfer information in the response body.

POST /banking/transfers

The fields to create a transfer are:

  • amount: The amount of money to transfer between accounts. This must be a decimal string to avoid floating point imprecision. The value must be a positive number and have two decimal places.

  • memo: (Optional)Brief text that describes the transfer.

  • sourceAccount: The account funds are withdrawn from.

    • id: The unique ID of the account

    • location: (Optional) Whether the account is internal or external to the financial institution.

    • type: (Optional) The product type of a financial account. For a list of product types, see the products article. Not all product types are eligible for transfers.
    • label: (Optional) A description of the account.
    • targetAccount: The account funds are deposited into. Contains the same properties as sourceAccount.
    • schedule : The schedule of a transfer contains two fields:
      • scheduledOn: The date when a transfer should occur. This does not include a time. If transfers are not available on that exact date (such as on bank holidays), the system may automatically adjust the date to the next one available. 

      • frequency: How often a transfer should occur. Must be set to once for a one-time transfer.

Below is an example to create a one-time, internal transfer for $275.00 from the source account to the target account on June 28th, 2026.

				
					{
  "amount": "275.00",
  "memo": "Cover check for car repair",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2026-06-28",
    "frequency": "once"
  }
}				
			

Common Errors

Several errors could occur when attempting to create a transfer. For instance, if the customer does not have the required entitlements to transfer to or from an account, the transfer creation fails with an appropriate 403 – Forbidden error. The error message describes why the transfer could not be created, and the error may be avoided by selecting a different account.

To see all of the potential errors, view the API documentation.

Successful Transfers

A successful transfer has a 201 – Created response and the Transfer response body. An example response body is viewable below:

				
					{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2026-06-28",
    "frequency": "once",
    "creditsOn": "2026-06-26",
    "debitsOn": "2026-06-24"
  },
  "processedAt": "2026-06-26T021:00:00.000Z",
  "updatedBy": "James Bond",
  "id": "0399abed-fd3d",
  "memo": "Cover check for car repair"
}				
			

How can we help?

Get support for your issues.

Explore API Banking

  • API Digital Banking
  • Embedded Banking
  • Contact Us

Developers

  • Get Started Guide
  • API Reference
  • Embedded Banking

More

  • Apiture.com

Privacy Policy

© 2023 Apiture Inc.   |   All Rights Reserved