Skip to main content
PATCH
/
v0
/
budgets
/
{budget_id}
Update Budget
curl --request PATCH \
  --url https://api.sumvin.com/v0/budgets/{budget_id} \
  --header 'Content-Type: application/json' \
  --header 'x-sumvin-pat: <api-key>' \
  --data '
{
  "name": "<string>",
  "category_name": "<string>",
  "limit_amount": "<string>",
  "original_request": "<string>",
  "period_start": 123,
  "period_end": 123
}
'
{
  "_links": {},
  "budget": {
    "id": "<string>",
    "name": "<string>",
    "original_request": "<string>",
    "category_name": "<string>",
    "limit_amount": "<string>",
    "currency": "<string>",
    "spent": "<string>",
    "remaining": "<string>",
    "daily_avg": "<string>",
    "period_start": 123,
    "period_end": 123,
    "created_at": 123,
    "updated_at": 123,
    "transactions": [
      {
        "transaction_id": "<string>",
        "amount": "<string>",
        "amount_in_budget_currency": "<string>",
        "timestamp": 123,
        "running_total": "<string>"
      }
    ]
  }
}

Authorizations

x-sumvin-pat
string
header
required

Personal access token issued to the Sumvin CLI. Send it in the x-sumvin-pat header to authenticate as the owning user.

Headers

x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-sumvin-token
string | null
x-sumvin-pat
string | null
x-juno-jwt
string | null
X-Timestamp-Format
string

Controls how timestamp fields are serialized in JSON response bodies.

Default (header omitted or any other value): epoch milliseconds as integers. iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.

Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".

Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.

Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.

Example:

"iso8601"

Path Parameters

budget_id
string
required

Body

application/json
name
string | null
Required string length: 1 - 100
category_name
string | null
limit_amount
string | null
original_request
string | null
budget_type
enum<string> | null
Available options:
weekly,
monthly,
yearly,
custom
period_start
integer | null

Period start timestamp in milliseconds. Required when changing to CUSTOM budget type.

period_end
integer | null

Period end timestamp in milliseconds. Required when changing to CUSTOM budget type.

Response

Budget updated successfully

HAL-style hypermedia links for navigation and available actions.

budget
BudgetData · object
required