---
title: "Update a scheduled transaction"
method: PUT
path: "/plans/{plan_id}/scheduled_transactions/{scheduled_transaction_id}"
tags: ["Scheduled Transactions"]
---

# Update a scheduled transaction

`PUT /plans/{plan_id}/scheduled_transactions/{scheduled_transaction_id}`

## Request

- Base URL: `https://api.ynab.com/v1`
- URL: `https://api.ynab.com/v1/plans/{plan_id}/scheduled_transactions/{scheduled_transaction_id}`
- Auth: HTTP bearer

Updates a single scheduled transaction

## Path parameters

- `plan_id` string, required
- `scheduled_transaction_id` string, required

## Request body

- PutScheduledTransactionWrapper
  - `scheduled_transaction` SaveScheduledTransaction, required
    - `account_id` string, uuid, required
    - `date` string, date, required: The scheduled transaction date in ISO format (e.g. 2016-12-01). This should be a future date no more than 5 years into the future.
    - `amount` integer: The scheduled transaction amount in milliunits format.
    - `payee_id` string, uuid, nullable: The payee for the scheduled transaction. To create a transfer between two accounts, use the account transfer payee pointing to the target account. Account transfer payees are specified as `transfer_payee_id` on the account resource.
    - `payee_name` string, nullable: The payee name for the the scheduled transaction. If a `payee_name` value is provided and `payee_id` has a null value, the `payee_name` value will be used to resolve the payee by either (1) a payee with the same name or (2) creation of a new payee.
    - `category_id` string, uuid, nullable: The category for the scheduled transaction. Credit Card Payment categories are not permitted. Creating a split scheduled transaction is not currently supported.
    - `memo` string, nullable
    - `flag_color` 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | '' | 'null', nullable: The transaction flag
    - `frequency` 'never' | 'daily' | 'weekly' | 'everyOtherWeek' | 'twiceAMonth' | 'every4Weeks' | 'monthly' | 'everyOtherMonth' | 'every3Months' | 'every4Months' | 'twiceAYear' | 'yearly' | 'everyOtherYear': The scheduled transaction frequency

## Response `200`

The scheduled transaction was successfully updated

- ScheduledTransactionResponse
  - `data` object, required
    - `scheduled_transaction` ScheduledTransactionDetail, required
      - `id` string, uuid, required
      - `date_first` string, date, required: The first date for which the Scheduled Transaction was scheduled.
      - `date_next` string, date, required: The next date for which the Scheduled Transaction is scheduled.
      - `frequency` 'never' | 'daily' | 'weekly' | 'everyOtherWeek' | 'twiceAMonth' | 'every4Weeks' | 'monthly' | 'everyOtherMonth' | 'every3Months' | 'every4Months' | 'twiceAYear' | 'yearly' | 'everyOtherYear', required
      - `amount` integer, required: The scheduled transaction amount in milliunits format
      - `memo` string, nullable
      - `flag_color` 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | '' | 'null', nullable: The transaction flag
      - `flag_name` string, nullable: The customized name of a transaction flag
      - `account_id` string, uuid, required
      - `payee_id` string, uuid, nullable
      - `category_id` string, uuid, nullable
      - `transfer_account_id` string, uuid, nullable: If a transfer, the account_id which the scheduled transaction transfers to
      - `deleted` boolean, required: Whether or not the scheduled transaction has been deleted. Deleted scheduled transactions will only be included in delta requests.
      - `amount_formatted` string: The scheduled transaction amount formatted in the plan's currency format
      - `amount_currency` number, double: The scheduled transaction amount as a decimal currency amount
      - `account_name` string, required
      - `payee_name` string, nullable
      - `category_name` string, nullable: The name of the category. If a split scheduled transaction, this will be 'Split'.
      - `subtransactions` ScheduledSubTransaction[], required: If a split scheduled transaction, the subtransactions.
        - `id` string, uuid, required
        - `scheduled_transaction_id` string, uuid, required
        - `amount` integer, required: The scheduled subtransaction amount in milliunits format
        - `memo` string, nullable
        - `payee_id` string, uuid, nullable
        - `payee_name` string, nullable
        - `category_id` string, uuid, nullable
        - `category_name` string, nullable
        - `transfer_account_id` string, uuid, nullable: If a transfer, the account_id which the scheduled subtransaction transfers to
        - `deleted` boolean, required: Whether or not the scheduled subtransaction has been deleted. Deleted scheduled subtransactions will only be included in delta requests.
        - `amount_formatted` string: The scheduled subtransaction amount formatted in the plan's currency format
        - `amount_currency` number, double: The scheduled subtransaction amount as a decimal currency amount

## Other responses

- `400`: The request could not be understood due to malformed syntax or validation error(s)

## Changes

- **2026-05-03** `1e4aa027827c`: 13 breaking, 12 warning, 2 info
  - the `data/scheduled_transaction/allOf[#/components/schemas/ScheduledTransactionSummary]/` response's property type changed from `object` to no type for status `200`
  - the `data/scheduled_transaction/allOf[subschema #2]/subtransactions/items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `data/scheduled_transaction/allOf[#/components/schemas/ScheduledTransactionSummary]/account_id` from the response with the `200` status
  - removed the required property `data/scheduled_transaction/allOf[#/components/schemas/ScheduledTransactionSummary]/amount` from the response with the `200` status
  - …23 more
- **2026-04-01** `60411c83c141`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ynab/apis/ynab-api-endpoints/changes/plans/:plan_id/scheduled_transactions/:scheduled_transaction_id/put.md)

---

[API](https://skmtc.dev/ynab/apis/ynab-api-endpoints.md) - [All operations](https://skmtc.dev/ynab/apis/ynab-api-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/ynab/apis/ynab-api-endpoints/revisions/de784d4bf470?raw)
