---
title: "Get the account, plan, limits and balance behind these credentials"
method: GET
path: "/v2/account"
tags: ["Account"]
---

# Get the account, plan, limits and balance behind these credentials

`GET /v2/account`

## Request

- Base URL: `https://api.sync.so`
- URL: `https://api.sync.so/v2/account`
- Auth: API key in header `x-api-key`

Works with an API key (x-api-key), an OAuth access token or a Studio session. Call it before submitting work to check the plan limits and remaining credits or free allowance, and after a 402, 403 or 429 to decide how to recover: billingModel says whether to top up credits (credits), pay or update the payment method (usage), upgrade (free) or contact sync. (enterprise). Send people to billingUrl for anything that needs a payment.

## Response `200`

Account, organization, plan, limits and balance

- AccountOverviewDto
  - `account` object, nullable, required: The user this credential acts for: the signed-in user for sessions and OAuth tokens, or the API key owner. Null for an API key that has no owner.
    - `id` string, uuid, required
    - `email` string, nullable, required
    - `name` string, nullable, required
  - `organization` object, required: The organization every request with this credential acts in.
    - `id` string, uuid, required
    - `name` string, nullable, required
    - `role` string, required: Role the credential acts with: owner, admin or member. API keys always act as member.
  - `credentialType` 'api_key' | 'oauth' | 'session', required: api_key: an x-api-key header. oauth: an access token issued to a connected app such as an MCP client. session: a Studio sign-in (cookie or plugin bearer token).
  - `plan` object, required: Current plan.
    - `id` 'free' | 'creator' | 'scale' | 'growth' | 'hobbyist' | 'enterprise' | 'program' | 'partner' | 'hobby' | 'starter' | 'pro' | 'team', required: Stable plan identifier. free means no paid plan.
    - `name` string, required: Plan name to show a person.
  - `billingModel` 'credits' | 'usage' | 'free' | 'enterprise', required: How generations are paid for, which decides how to recover from a 402. credits: prepaid credits; top up, turn on auto top-up or upgrade at billingUrl. usage: usage is metered and invoiced; pay the open invoice or update the payment method at billingUrl. Usage-based organizations cannot top up. free: a monthly free allowance; upgrade to a paid plan at billingUrl. enterprise: negotiated billing (enterprise, partner and program plans, including pilots); contact your sync. account team.
  - `limits` object, required: Current plan limits, including organization overrides.
    - `concurrency` integer, required: Lipsync generations that can run at once. Further submissions get 429 concurrency_limit_reached until one finishes.
    - `maxOutputDurationSeconds` number, required: Longest output a generation may produce on this plan, in seconds. Some models have a lower limit (GET /v2/models).
    - `maxFileSizeBytes` integer, required: Largest input file the plan accepts, in bytes.
    - `voiceClones` integer, required: Cloned voices the organization can keep at once.
  - `activeJobs` object, required: Jobs pending or processing right now. May be up to a few seconds stale.
    - `generations` integer, required: In-flight video lipsync generations. Compare with limits.concurrency; batch generations are included here but do not count toward it.
    - `total` integer, required: All in-flight jobs, including dubbing and text-to-speech. Not a limit.
  - `credits` object, nullable, required: Prepaid credit balance when billingModel is credits; null otherwise.
    - `available` number, required: Credits that can be spent now: the balance minus credits reserved by in-flight jobs. 1 credit = $0.01.
    - `periodGrant` number, required: Credits the plan grants each billing period.
    - `autoTopUp` boolean, required: Whether credits are bought automatically when the balance runs low.
  - `billingPeriod` object, required: Current billing period. Without a subscription this is the calendar month.
    - `start` string, date-time, required
    - `end` string, date-time, required
  - `freeAllowance` object, nullable, required: Free monthly allowance when billingModel is free; null otherwise.
    - `generations` object, required: Free lipsync generations. In-flight generations count as used.
      - `used` integer, required: Uses counted in the current free month.
      - `limit` integer, required: Uses included each free month.
      - `remaining` integer, required: Uses left this free month (limit minus used, never below 0).
    - `speech` object, required: Free text-to-speech and dubbing jobs, which share one pool.
      - `used` integer, required: Uses counted in the current free month.
      - `limit` integer, required: Uses included each free month.
      - `remaining` integer, required: Uses left this free month (limit minus used, never below 0).
    - `resetsAt` string, date-time, required: When the free month resets. It is anchored to the day the organization was created.
  - `billingUrl` string, uri, required: Studio billing page where a person can change plan, pay, top up or update the payment method. Send a person here; it needs a signed-in browser.

## Other responses

- `401`: Missing, invalid or revoked credentials

## Changes

- **2026-10-30** `e93bb609962a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sync/apis/sync-api-v2/changes/v2/account/get.md)

---

[API](https://skmtc.dev/sync/apis/sync-api-v2.md) - [All operations](https://skmtc.dev/sync/apis/sync-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/sync/apis/sync-api-v2/revisions/26662c96c138?raw)
