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

# Create a scheduled transaction

`POST /plans/{plan_id}/scheduled_transactions`

Creates a single scheduled transaction (a transaction with a future date).

## Path parameters

- `plan_id` string, required

## Request body

- PostScheduledTransactionWrapper
  - `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 `201`

The scheduled transaction was successfully created

- 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).

---

[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-service-production.skmtc.workers.dev/v1/apis/ynab/ynab-api-endpoints/revisions/da7a78345b34/schema)
