Account
A Koo account — the tenant/workspace identity: handle, tier, profile, and social counts.
Attributes
AccountDtoA Koo account — the tenant/workspace identity: handle, tier, profile, and social counts.
Account identifier.
Global-unique account handle — the URL/CLI slug.
The account’s plan, by display name. The internal Free sub-tiers all report `Free`.
Account lifecycle status. `provisioning_pending`: the hosting environment is still being set up — deploys are paused until provisioning completes (retry via POST /accounts/:id/reprovision). `payment_pending`: a secondary account that has never been paid for — it has no hosting environment and every write is refused with 402 until a subscription starts.
Scheduled hard-delete time; set iff `status === 'pending_deletion'`.
When the account last entered `provisioning_pending` (absent on accounts that pre-date the field). While provisioning is pending, clients gate the retry affordance on elapsed time from here.
Whether this is the user's primary account (created during onboarding).
The account's onboarding state machine position.
Editable account profile (avatar, banner, bio, location, links).
Denormalized social/app counts for this account.
Account creation timestamp.
{ "id": "acct_01example0000000000000000x", "handle": "alice", "tier": "Free", "status": "active", "deleteAt": "2026-01-01T00:00:00.000Z", "provisioningStartedAt": "2026-01-01T00:00:00.000Z", "isPrimary": true, "onboardingState": { "step": "SIGNED_IN" }, "profile": { "displayName": "My app", "avatarUrl": "https://example.com", "bannerUrl": "https://example.com", "bio": "example", "location": "example", "links": { "key": "example" } }, "counts": { "followers": 0, "following": 0, "apps": 0 }, "createdAt": "2026-01-01T00:00:00.000Z"}