Skip to content

Update Endpoint

PATCH
/api/v1/savings-goals/{goal_id}
curl --request PATCH \
--url https://example.com/api/v1/savings-goals/1 \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "target_amount": 1, "current_amount": 1, "deadline": "2026-04-15", "color": "example", "archived": true, "start_date": "2026-04-15", "linked_account_ids": [ 1 ], "funding_schedule_id": 1, "template_id": 1 }'
goal_id
required
Goal Id
integer
Media typeapplication/json
SavingsGoalUpdate
object
name
Any of:
string
>= 1 characters <= 100 characters
target_amount
Any of:
number
> 0
current_amount
Any of:
number
deadline
Any of:
string format: date
color
Any of:
string
<= 20 characters
archived
Any of:
boolean
start_date
Any of:
string format: date
linked_account_ids
Any of:
Array<integer>
funding_schedule_id
Any of:
integer
template_id
Any of:
integer

Example generated

{
"name": "example",
"target_amount": 1,
"current_amount": 1,
"deadline": "2026-04-15",
"color": "example",
"archived": true,
"start_date": "2026-04-15",
"linked_account_ids": [
1
],
"funding_schedule_id": 1,
"template_id": 1
}

Successful Response

Media typeapplication/json
SavingsGoalOut
object
id
required
Id
integer
user_id
required
User Id
integer
name
required
Name
string
target_amount
required
Target Amount
string
current_amount
required
Current Amount
string
deadline
required
Any of:
string format: date
color
required
Any of:
string
archived
required
Archived
boolean
start_date
required
Any of:
string format: date
linked_account_ids
Linked Account Ids
Array<integer>
default:
funding_schedule_id
Any of:
integer
effective_schedule
Any of:
EffectiveScheduleOut

The pay schedule an envelope or goal actually uses: its pick, else the user’s default.

object
id
required
Id
integer
name
required
Name
string
is_default
required
Is Default
boolean
paydays_remaining
Any of:
integer
suggested_per_payday
Any of:
string
template_id
Any of:
integer
template_projection
Any of:
GoalProjectionOut

When a goal completes if its template’s contribution is made every paycheck or month.

object
template_name
required
Template Name
string
kind
required
Kind
string
Allowed values: per_paycheck per_month
amount
required
Amount
string
status
required
Status
string
Allowed values: reached projected no_schedule too_far
contributions_needed
Any of:
integer
projected_date
Any of:
string format: date
deadline_status
Any of:
string
Allowed values: on_track late
late_by
Any of:
integer
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time

Example

{
"linked_account_ids": [],
"template_projection": {
"kind": "per_paycheck",
"status": "reached",
"deadline_status": "on_track"
}
}

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": {}
}
]
}