Before you start
Make sure you have the following:- An API key and your account ID. Learn more about the API.
- Your parent budget’s ID — retrieve this by listing all budgets and finding the one with type
accountBalance. - A persona ID (individual budgets only) — find this by listing people on your account. Learn more about personas.
Things to know
- Accounts can be configured so that budget names must be unique per account. If set, and a budget with the same name already exists, you’ll receive an error.
- Only one
accountBalancebudget can exist per account. This is created during onboarding and cannot be created via the API. - Only one individual budget can exist per persona. Attempting to create a second individual budget for the same persona will return an error.
- Features must be enabled at account level first. You can only enable
payments,peopleCards, orbudgetCardson a budget if they are already enabled on the account. For example, ifpaymentsis not enabled on the account, you cannot enable it on the budget. - At least one currency is required. You must provide at least one currency when creating a budget.
Create a shared budget
POST
/v2/budgetsRequest
Use this request to create a new shared budget, which can be used by multiple people.Query parameters
The ID of the account that you’re creating a budget for.Allowable values: An existing
accountIdRequest body schema
The ID of the parent budget.Allowable values: An existing
budgetId (≤ 36 characters)The name of the new budget. Depending on your configuration, this might appear as the payee name.Allowable values: ≤ 75 characters
The features that you want to enable for this budget.Allowable values:
payments, peopleCards, budgetCardsThe currencies that you want to enable for this budget, in ISO 4217 format. You must provide at least one. If working with a sub-budget, the currencies you provide must be enabled on the parent budget.Allowable values: 3 characters
The type that you want this budget to be. Set this to
shared. Learn more about budget types.Allowable values: shared, individualThe status of the budget.Allowable values:
active, hiddenThe ID of the box to work with.Allowable values: An existing
boxIdResponse
If your request is successful, you’ll receive a201 response containing details about the newly-created sub-budget, including its id.
Error responses
If your request is unsuccessful, you’ll receive one of the following error responses.Create an individual budget
POST
/v2/budgetsRequest
Use this request to create an individual budget associated with a givenpersonaId. The name of the budget will automatically be set to that persona’s {firstName} {lastName}. If the persona’s name is updated in the future, the budget’s name will also be updated.
A persona represents the relationship between a person and an account. To create an individual budget, you’ll need the
personaId for the person you want to assign it to. You can find this by listing people on your account. Learn more about personas.A single persona can only ever have one budget associated with them.
Query parameters
The ID of the account that you’re creating a budget for.Allowable values: An existing
accountIdRequest body schema
The ID of the parent budget.Allowable values: An existing
budgetId (≤ 36 characters)The ID of the persona that you’re creating this budget for.Allowable values: An existing
personaId (≤ 36 characters)The features that you want to enable for this budget.Allowable values:
payments, peopleCards, budgetCardsThe currencies that you want to enable for this budget, in ISO 4217 format. You must provide at least one. If working with a sub-budget, the currencies you provide must be enabled on the parent budget.Allowable values: 3 characters
The type that you want this budget to be. Set this to
individual. Learn more about budget types.Allowable values: shared, individualThe status of the budget.Allowable values:
active, hiddenThe ID of the box to work with.Allowable values: An existing
boxIdResponse
If your request is successful, you’ll receive a201 response containing details about the newly-created sub-budget, including its id.
Error responses
If your request is unsuccessful, you’ll receive one of the following error responses. The shared budget error responses also apply to individual budgets, along with the following additional errors.400 — Missing personaId
400 — Individual budget already exists for persona