Whisper Money

Search the documentation

Search pages and sections.

Spaces

A space holds a set of accounts and everything recorded on them. Every user has a personal space and may be invited to others. Endpoints that work on one space take an optional space parameter, which defaults to the personal space.

The example requests read your personal token from $WHISPER_MONEY_TOKEN: run export WHISPER_MONEY_TOKEN=wm_api_your_token_here before pasting them.

List spaces

GET /api/v1/spaces

Every space you can access, your personal space first. You belong to a handful of spaces at most, so the list is returned whole, without pagination.

Scope: read. A personal token needs api:read; an OAuth token needs api:use.

Response

200

Field Type Description
data array of Space
data[].id string (uuid) The space's id, which the space parameter takes.
data[].name string The space's name.
data[].personal boolean Whether this is your personal space, the default when space is left out.
data[].owned boolean Whether you own the space, rather than being a member of it.
data[].created_at string (date-time) or null When the space was created.

Example request

curl https://whisper.money/api/v1/spaces \
  -H "Authorization: Bearer $WHISPER_MONEY_TOKEN"

Example response

{
    "data": [
        {
            "id": "0199a3f2-6c1e-7b4d-9a8e-2f5c1d3b4a60",
            "name": "Personal",
            "personal": true,
            "owned": true,
            "created_at": "2026-01-15T09:30:00+00:00"
        }
    ]
}

Errors

Status When
401 No bearer token, or one that is unknown, expired or revoked.
403 The token lacks the scope (insufficient_scope), the account has no Pro plan (plan_required, with a subscribe_url) or it is a shared demo account (shared_account).
429 The rate limit is exhausted. Wait the seconds in Retry-After.