Skip to content

Create Planned Transaction Endpoint

POST
/api/v1/planned-transactions
curl --request POST \
--url https://example.com/api/v1/planned-transactions \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "amount": 1, "transaction_type": "example", "auto_post": false, "frequency": "example", "repeat_every": 1, "day_of_week": 1, "day_of_month": 1, "month_of_year": 1, "next_due_date": "2026-04-15", "weekend_shift": "none", "end_date": "2026-04-15", "max_occurrences": 1, "account_id": 1, "category_id": 1, "subcategory_id": 1, "linked_planned_transaction_id": 1, "savings_goal_id": 1, "payee_id": 1, "tag_ids": [ 1 ] }'
Media typeapplication/json
PlannedTransactionCreate
object
name
required
Name
string
>= 1 characters <= 150 characters
description
Any of:
string
<= 2000 characters
amount
required
Any of:
number
> 0
transaction_type
required
Transaction Type
string
/^(income|expense)$/
auto_post
Auto Post
boolean
frequency
required
Frequency
string
/^(one_time|weekly|monthly|quarterly|yearly)$/
repeat_every
Repeat Every
integer
default: 1 >= 1 <= 52
day_of_week
Any of:
integer
<= 6
day_of_month
Any of:
integer
>= 1 <= 31
month_of_year
Any of:
integer
>= 1 <= 12
next_due_date
required
Next Due Date
string format: date
weekend_shift
Weekend Shift
string
default: none /^(none|before|after)$/
end_date
Any of:
string format: date
max_occurrences
Any of:
integer
>= 1
account_id
Any of:
integer
category_id
Any of:
integer
subcategory_id
Any of:
integer
linked_planned_transaction_id
Any of:
integer
savings_goal_id
Any of:
integer
payee_id
Any of:
integer
tag_ids
Any of:
Array<integer>
<= 100 items

Successful Response

Media typeapplication/json
PlannedTransactionOut
object
id
required
Id
integer
user_id
required
User Id
integer
name
required
Name
string
description
required
Any of:
string
amount
required
Amount
string
transaction_type
required
Transaction Type
string
auto_post
required
Auto Post
boolean
status
required
Status
string
frequency
required
Frequency
string
repeat_every
required
Repeat Every
integer
day_of_week
required
Any of:
integer
day_of_month
required
Any of:
integer
month_of_year
required
Any of:
integer
next_due_date
required
Next Due Date
string format: date
weekend_shift
required
Weekend Shift
string
next_run_anchor
required
Any of:
string format: date
next_run_date
required
Any of:
string format: date
end_date
required
Any of:
string format: date
max_occurrences
required
Any of:
integer
occurrence_count
required
Occurrence Count
integer
last_run_at
required
Any of:
string format: date-time
paid_at
required
Any of:
string format: date
failure_reason
required
Any of:
string
enabled
required
Enabled
boolean
account_id
required
Any of:
integer
category_id
required
Any of:
integer
subcategory_id
required
Any of:
integer
legacy_category
required
Any of:
string
linked_planned_transaction_id
required
Any of:
integer
savings_goal_id
required
Any of:
integer
payee_id
required
Any of:
integer
payee
required
Any of:
PayeeRef

The payee a transaction points at.

object
id
required
Id
integer
name
required
Name
string
tag_ids
required
Tag Ids
Array<integer>
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
deleted_at
required
Any of:
string format: date-time

Example generated

{
"id": 1,
"user_id": 1,
"name": "example",
"description": "example",
"amount": "example",
"transaction_type": "example",
"auto_post": true,
"status": "example",
"frequency": "example",
"repeat_every": 1,
"day_of_week": 1,
"day_of_month": 1,
"month_of_year": 1,
"next_due_date": "2026-04-15",
"weekend_shift": "example",
"next_run_anchor": "2026-04-15",
"next_run_date": "2026-04-15",
"end_date": "2026-04-15",
"max_occurrences": 1,
"occurrence_count": 1,
"last_run_at": "2026-04-15T12:00:00Z",
"paid_at": "2026-04-15",
"failure_reason": "example",
"enabled": true,
"account_id": 1,
"category_id": 1,
"subcategory_id": 1,
"legacy_category": "example",
"linked_planned_transaction_id": 1,
"savings_goal_id": 1,
"payee_id": 1,
"payee": {
"id": 1,
"name": "example"
},
"tag_ids": [
1
],
"created_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z",
"deleted_at": "2026-04-15T12:00:00Z"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object

Example generated

{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}