---
title: "Create manual account"
method: POST
path: "/api/accounts/manual"
tags: ["Accounts"]
---

# Create manual account

`POST /api/accounts/manual`

Create a manual (non-bank-linked) account and seed today's balance snapshot. Mirrors the Zero `m.accounts.createAccount` mutator. `subtype` must belong to the chosen `type` vocabulary. `creditLimit` only valid when `type === "credit"`. `currentBalance` is signed: positive for assets, negative for liabilities.

## Request body

- object
  - `creditLimit` number
  - `currency` string
  - `currentBalance` number, required
  - `institutionName` string
  - `logoDomain` string
  - `name` string, required
  - `subtype` 'credit card' | 'line of credit' | 'checking' | 'savings' | 'cash' | 'brokerage' | 'ira' | 'roth ira' | '401k' | 'hsa' | 'crypto' | 'mortgage' | 'student' | 'auto' | 'personal', required
  - `type` 'depository' | 'credit' | 'investment' | 'loan', required

## Response `201`

Created account id

- CreateManualAccountResponse
  - `id` string, required

## Other responses

- `401` — Unauthorized
- `403` — Subscription required
- `422` — Validation failed

---

[API](https://skmtc.net/cobaltpf/apis/cobalt-api.md) · [All operations](https://skmtc.net/cobaltpf/apis/cobalt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cobaltpf/cobalt-api/revisions/8ef0dfb5d23c/schema)
