Update scheduled transfer

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

FieldTypeRequiredDescription
idinteger (int32)YesUnique identifier of the scheduled transfer to update
fromFinancialAccountIdstringYesID of the source financial account
toFinancialAccountIdstringYesID of the destination financial account
nextDatestring (date-time)YesNext scheduled execution date and time (ISO 8601)
oneTimeCodestringYes6-digit one-time verification code (pattern: ^\d{6}$)
secureOperationTypestringYesVerification method used: ShortMessageCode, TimeBasedCode, or LegacyTimeBasedCode
amountinteger (int32)NoTransfer amount in the smallest currency unit (e.g., cents); min: 1, max: 4294967295
currencyCodeinteger (int32)NoISO 4217 numeric currency code; currently only 840 (USD) is supported
transferTypestringNoType of transfer: IncommingAchTransfer, OutcommingAchTrasfer, InternalTransfer, TransferBetweenOwnAccounts, AutoPopup, AutoPopupFromOwnAccount, or Fee
frequencystringNoRecurrence frequency pattern (e.g., 1d = daily, 1w = weekly, 1m = monthly, 1y = yearly); pattern: ^(\d+)([ymwd])$
isActivebooleanNoWhether the scheduled transfer is active; set to false to pause without deleting
endDatestring (date-time)NoDate and time after which the transfer will no longer execute (ISO 8601)
namestringNoHuman-readable label for the scheduled transfer
memostringNoOptional memo or note attached to the transfer
minAmountinteger (int32)NoMinimum 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

FieldTypeDescription
idinteger (int32)Unique identifier of the scheduled transfer
namestringHuman-readable label for the transfer
fromFinancialAccountIdstringID of the source financial account
toFinancialAccountIdstringID of the destination financial account
isActivebooleanWhether the scheduled transfer is currently active
transferTypestringType of transfer (e.g., TransferBetweenOwnAccounts, InternalTransfer)
amountinteger (int64)Transfer amount in the smallest currency unit (e.g., cents)
currencyCodeinteger (int32)ISO 4217 numeric currency code (840 = USD)
frequencystringRecurrence frequency pattern
lastDatestring (date-time)Date and time the transfer last executed
nextDatestring (date-time)Next scheduled execution date and time
endDatestring (date-time)Scheduled end date after which the transfer stops
memostringMemo or note attached to the transfer
minAmountinteger (int64)Minimum source account balance required for the transfer to execute
isRejectedbooleanIndicates 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

CodeWhen it happens
400Missing required fields, invalid field formats, or improperly formatted date/amount values
401Token missing, expired, or invalid; or one-time code is incorrect or expired
403Authenticated user does not have permission to modify the specified transfer
404No scheduled transfer found matching the provided id
422Request is syntactically valid but semantically incorrect — e.g., updated amount exceeds available balance
500Internal server error; retry the request after a short delay

Common Mistakes

  • Providing an id that does not belong to a scheduled transfer owned by the authenticated customer — returns 404
  • Omitting nextDate or 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 frequency in an incorrect format (e.g., monthly instead of 1m) — must match pattern ^(\d+)([ymwd])$
  • Sending amount as a decimal (e.g., 250.00) instead of an integer in cents (e.g., 25000) — returns 400
  • Forgetting that updating fromFinancialAccountId or toFinancialAccountId still requires both fields to be present and valid

Related Endpoints

  • POST /api/scheduledTransfer — Create a new scheduled transfer
  • GET /api/scheduledTransfer — Retrieve a list of scheduled transfers for the authenticated customer
  • DELETE /api/scheduledTransfer/{id} — Delete an existing scheduled transfer
  • POST /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"
  }'
Body Params

Base class for all funds transfer (movement) request.

int32
required
string
required
length ≥ 1
^\d{6}$
string
enum
required
Allowed:
string | null
string | null
string | null
^(\d+)([ymwd])$
boolean
date-time
required
date-time | null
string
enum
Allowed:
int32 | null
string
required
length ≥ 1
string
required
length ≥ 1
int32
1 to 4294967295
int32
enum
Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json