Update Scheduled Transfer
This endpoint updates the details of an existing scheduled transfer identified by its unique ID. Modifications may include the transfer amount, next execution date, frequency, memo, active status, or other transfer attributes. A valid one-time security code is required to authorize the update operation.
Endpoint
PUT /api/scheduledTransfer
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a customer needs to modify a previously scheduled transfer — for example, changing the transfer amount, rescheduling the next execution date, adjusting the recurrence frequency, or deactivating the transfer without deleting it. This is applicable for both internal transfers (between a customer's own accounts) and ACH transfers to external accounts. All updates require two-factor verification via a one-time code.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
id | integer (int32) | Yes | Unique identifier of the scheduled transfer to update |
fromFinancialAccountId | string | Yes | ID of the source financial account |
toFinancialAccountId | string | Yes | ID of the destination financial account |
nextDate | string (date-time) | Yes | Next scheduled execution date and time (ISO 8601) |
oneTimeCode | string | Yes | 6-digit one-time verification code (pattern: ^\d{6}$) |
secureOperationType | string | Yes | Verification method used: ShortMessageCode, TimeBasedCode, or LegacyTimeBasedCode |
amount | integer (int32) | No | Transfer amount in the smallest currency unit (e.g., cents); min: 1, max: 4294967295 |
currencyCode | integer (int32) | No | ISO 4217 numeric currency code; currently only 840 (USD) is supported |
transferType | string | No | Type of transfer: IncommingAchTransfer, OutcommingAchTrasfer, InternalTransfer, TransferBetweenOwnAccounts, AutoPopup, AutoPopupFromOwnAccount, or Fee |
frequency | string | No | Recurrence frequency pattern (e.g., 1d = daily, 1w = weekly, 1m = monthly, 1y = yearly); pattern: ^(\d+)([ymwd])$ |
isActive | boolean | No | Whether the scheduled transfer is active; set to false to pause without deleting |
endDate | string (date-time) | No | Date and time after which the transfer will no longer execute (ISO 8601) |
name | string | No | Human-readable label for the scheduled transfer |
memo | string | No | Optional memo or note attached to the transfer |
minAmount | integer (int32) | No | Minimum threshold amount; transfer executes only if the source account balance meets this minimum |
{
"id": 1042,
"fromFinancialAccountId": "fa-src-abc123def456",
"toFinancialAccountId": "fa-dst-xyz789ghi012",
"amount": 25000,
"currencyCode": 840,
"nextDate": "2026-07-01T09:00:00Z",
"endDate": "2027-06-30T23:59:59Z",
"frequency": "1m",
"transferType": "TransferBetweenOwnAccounts",
"isActive": true,
"name": "Monthly Savings Transfer",
"memo": "Automated monthly savings",
"minAmount": 50000,
"oneTimeCode": "482931",
"secureOperationType": "ShortMessageCode"
}Response
200 OK
| Field | Type | Description |
|---|---|---|
id | integer (int32) | Unique identifier of the scheduled transfer |
name | string | Human-readable label for the transfer |
fromFinancialAccountId | string | ID of the source financial account |
toFinancialAccountId | string | ID of the destination financial account |
isActive | boolean | Whether the scheduled transfer is currently active |
transferType | string | Type of transfer (e.g., TransferBetweenOwnAccounts, InternalTransfer) |
amount | integer (int64) | Transfer amount in the smallest currency unit (e.g., cents) |
currencyCode | integer (int32) | ISO 4217 numeric currency code (840 = USD) |
frequency | string | Recurrence frequency pattern |
lastDate | string (date-time) | Date and time the transfer last executed |
nextDate | string (date-time) | Next scheduled execution date and time |
endDate | string (date-time) | Scheduled end date after which the transfer stops |
memo | string | Memo or note attached to the transfer |
minAmount | integer (int64) | Minimum source account balance required for the transfer to execute |
isRejected | boolean | Indicates whether the most recent execution attempt was rejected |
{
"id": 1042,
"name": "Monthly Savings Transfer",
"fromFinancialAccountId": "fa-src-abc123def456",
"toFinancialAccountId": "fa-dst-xyz789ghi012",
"isActive": true,
"transferType": "TransferBetweenOwnAccounts",
"amount": 25000,
"currencyCode": 840,
"frequency": "1m",
"lastDate": "2026-06-01T09:00:00Z",
"nextDate": "2026-07-01T09:00:00Z",
"endDate": "2027-06-30T23:59:59Z",
"memo": "Automated monthly savings",
"minAmount": 50000,
"isRejected": false
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields, invalid field formats, or improperly formatted date/amount values |
| 401 | Token missing, expired, or invalid; or one-time code is incorrect or expired |
| 403 | Authenticated user does not have permission to modify the specified transfer |
| 404 | No scheduled transfer found matching the provided id |
| 422 | Request is syntactically valid but semantically incorrect — e.g., updated amount exceeds available balance |
| 500 | Internal server error; retry the request after a short delay |
Common Mistakes
- Providing an
idthat does not belong to a scheduled transfer owned by the authenticated customer — returns 404 - Omitting
nextDateor sending it in a non-ISO 8601 format — returns 400 - Using an expired or already-consumed
oneTimeCode— returns 401; request a fresh code before retrying - Sending
frequencyin an incorrect format (e.g.,monthlyinstead of1m) — must match pattern^(\d+)([ymwd])$ - Sending
amountas a decimal (e.g.,250.00) instead of an integer in cents (e.g.,25000) — returns 400 - Forgetting that updating
fromFinancialAccountIdortoFinancialAccountIdstill requires both fields to be present and valid
Related Endpoints
POST /api/scheduledTransfer— Create a new scheduled transferGET /api/scheduledTransfer— Retrieve a list of scheduled transfers for the authenticated customerDELETE /api/scheduledTransfer/{id}— Delete an existing scheduled transferPOST /api/transfer— Execute an immediate (non-scheduled) transfer
Example
curl -X PUT https://api.banking.netevia.dev/api/scheduledTransfer \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": 1042,
"fromFinancialAccountId": "fa-src-abc123def456",
"toFinancialAccountId": "fa-dst-xyz789ghi012",
"amount": 25000,
"currencyCode": 840,
"nextDate": "2026-07-01T09:00:00Z",
"endDate": "2027-06-30T23:59:59Z",
"frequency": "1m",
"transferType": "TransferBetweenOwnAccounts",
"isActive": true,
"name": "Monthly Savings Transfer",
"memo": "Automated monthly savings",
"minAmount": 50000,
"oneTimeCode": "482931",
"secureOperationType": "ShortMessageCode"
}'