post /v1/accounts
Add an account by hand
scope budget:write · createAccount
Parameters
budget_id query · string
Body · JSON
name string · required · ≤ 100 chars
type "checking" | "savings" | "credit" | "cash"
starting_balance_cents integer · ≥ -9007199254740991
as_of string · YYYY-MM-DD
budget_id string
Returns · 201
The created account. Until this existed an account could only appear as a side effect of importing into it, so there was no way to start the way every budgeting app starts. starting_balance_cents creates a transaction dated as_of and leaves it UNFILED in the inbox on purpose: for a chequing account it is money to budget, for a card it is a debt, and Mintro does not decide which. type accepts checking | savings | credit | cash; use credit to get card payment envelopes. Manual accounts count against the free plan limit.
Example
Errors · besides 401, 429, 500
- 400
validation_failed: The request body or query is malformed. The message names the offending field; fix it and retry. - 402
plan_limit: The tenant's plan does not allow this. Readentitlementson GET /v1/me to see what the plan unlocks and allows, report the limit to the human, and let them choose to upgrade at https://mintro.money/pricing; do not retry. - 403
forbidden: The key is valid but lacks the scope this call needs. Ask the human to mint a key with the scope named in the message. - 409
idempotency_conflict: This Idempotency-Key was used for a different request, or the first request is still in flight. Retry the in-flight case after a second; use a fresh key for a genuinely different request.