---
title: "Get Agency extra accounts state and price"
method: GET
path: "/api/v1/subscription/extra-accounts"
tags: ["Subscription"]
---

# Get Agency extra accounts state and price

`GET /api/v1/subscription/extra-accounts`

## Request

- Base URL: `https://www.poster.ly`
- URL: `https://www.poster.ly/api/v1/subscription/extra-accounts`
- Auth: HTTP bearer

Return how many connected-account slots the workspace owner has: included with Agency, granted by posterly, and paid extra accounts, plus accounts in use, the current limit, the price per extra account for the base plan interval ($0.50 per month or $4.70 per year), the minimum purchase (20 at a time, no maximum), the lowest total allowed right now, and eligibility with a reason code. When an earlier purchase could not be charged (3D Secure or a declined card) `payment_pending` carries the Stripe-hosted payment link; no further change is accepted until it is paid or expires. Workspace owner only (403 `workspace_owner_required` for teammates, even with an owner-issued key). Requires the `billing:read` scope. Bypasses the API add-on paywall.

## Query parameters

- `workspace_id` string

## Response `200`

Extra accounts state.

- ExtraAccountsState
  - `eligible` boolean, required: True when the owner can buy or remove extra accounts right now.
  - `code` string, nullable: Why not eligible: agency_required, no_stripe_subscription, subscription_not_eligible, cancel_at_period_end, payment_pending, unsupported_interval, extra_accounts_not_configured.
  - `reason` string, nullable
  - `trialing` boolean
  - `interval` 'month' | 'year', nullable
  - `included_accounts` integer: Accounts included with Agency (100).
  - `admin_granted_accounts` integer
  - `paid_extra_accounts` integer, required
  - `account_limit` integer, required
  - `accounts_in_use` integer, required
  - `highest_accounts_in_use` integer: Most connected accounts in any workspace the owner owns.
  - `min_paid_extra_accounts` integer: The lowest total of paid extra accounts allowed right now.
  - `min_purchase` integer, required: Every increase must add at least this many (20).
  - `price_per_account_cents` integer, nullable
  - `price_per_account` string, nullable
  - `recurring_cents` integer, nullable: Recurring cost of the current paid extra accounts per interval.
  - `payment_pending` ExtraAccountsPaymentPending
    - `hosted_invoice_url` string, nullable, required: Stripe-hosted payment page. The owner completes 3D Secure or retries the card there.
    - `requested_extra_accounts` integer, required: The total that applies once the invoice is paid.
    - `amount_due_cents` integer, nullable
    - `expires_at` string, date-time, nullable: Stripe discards the pending change after this time.

## Other responses

- `401`: Invalid or missing API key
- `403`: Request is authenticated but not allowed
- `429`: Too many requests

---

[API](https://skmtc.dev/poster/apis/posterly-api.md) · [All operations](https://skmtc.dev/poster/apis/posterly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/poster/apis/posterly-api/revisions/60be02a61f95?raw)
