Create manual account
Create a manual (non-bank-linked) account — bank, credit_card, investment, or loan — and seed today's balance snapshot. `subtype` must belong to the chosen `type` vocabulary (see schema). `creditLimit` only valid when `type === "credit_card"`. `currentBalance` is signed: positive for assets, negative for liabilities.
Authorization
bearerAuth Cobalt API key (prefix ck_live_). Issue from dashboard → Settings → API keys.
In: header
Request Body
application/json
Account to create
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/accounts" \ -H "Content-Type: application/json" \ -d '{ "currentBalance": 0, "name": "string", "subtype": "checking", "type": "bank" }'{
"balance": 0,
"creditLimit": 0,
"currency": "USD",
"id": "string",
"institution": "string",
"mask": "string",
"name": "string",
"type": "bank"
}{
"code": "string",
"error": "string"
}{
"error": {
"issues": [
{
"code": "string",
"message": "string",
"path": [
"string"
]
}
],
"name": "string"
},
"success": true
}List brokerage accounts GET
All brokerage-shaped accounts (SnapTrade, Plaid investment, manual investment). Inspect `source` on each item to distinguish. SnapTrade-only fields (`snaptradeAuthorizationId`, `needsReauth`) are null/false for non-SnapTrade rows.
Delete account DELETE
Delete an account by id. Source-agnostic: manual accounts are removed outright, Plaid-linked accounts are unlinked (and Plaid's `/item/remove` is called once the item drains), and SnapTrade brokerage accounts are disconnected upstream.