Skip to main content
POST
Create Budget

Authorizations

x-juno-jwt
string
header
required

JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.

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"

Body

application/json
name
string
required
Required string length: 1 - 100
original_request
string
required
category_name
string
required
budget_type
enum<string>
required

How often a budget starts over.

weekly, monthly and yearly repeat on their own and work out each period for themselves. custom covers one stretch of time that has to be given explicitly alongside it.

Available options:
weekly,
monthly,
yearly,
custom
limit_amount
string
required
currency
string
required
period
AbsolutePeriod · object

An explicit budget window with fixed start and end timestamps.

Response

Budget created successfully

HAL-style hypermedia links for navigation and available actions.

budget
BudgetData · object
required