Subscription

Quote, buy, or remove Agency extra accounts

Set the desired TOTAL of paid extra accounts (0 removes them all). Same rules as the dashboard: every increase must add at least 20, there is no maximum, and a decrease never goes below the connected accounts in any workspace the owner owns. Always quote first: send dry_run: true to get the exact prorated charge for today and the new recurring cost without charging anything. Then send the same body without dry_run to apply it. Applying an increase charges the saved card right away. With a working card the slots are added immediately (status: applied). If the card needs 3D Secure or is declined, NOTHING is applied: the response has status: payment_required and a Stripe-hosted hosted_invoice_url for the owner to complete, and the slots are added automatically when that invoice is paid. Until then further changes are refused with 409 payment_pending. request_id (8 to 64 letters, digits, _ or -) makes a retry safe: the same id never buys twice, so use a fresh one for each attempt. expected_current_extra_accounts and expected_interval (optional) pin the quote you showed: if either changed since, nothing is charged and the answer is 409 quote_stale. Workspace owner only. Requires the billing:write scope. Bypasses the API add-on paywall.

post/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

Request body

extra_accountsinteger required

Desired TOTAL of paid extra accounts (not the number to add). 0 removes all. An increase must add at least 20.

dry_runboolean

true returns the exact quote and charges nothing.

request_idstring

Makes a retry safe: the same id never buys twice. Use a fresh request_id for each attempt; the same id with a different request returns 409 request_id_reused.

expected_current_extra_accountsinteger

Optional. The paid extra accounts total the quote was based on. If the live total differs, nothing is charged and the answer is 409 quote_stale. The MCP confirm always sends it.

expected_interval'month' | 'year'

Optional. The billing interval the quote was based on. If it changed, nothing is charged and the answer is 409 quote_stale.

workspace_idstring

Optional workspace to act in.

Example request

{
  "extra_accounts": 40,
  "dry_run": true
}

Response

The quote (dry_run), the applied change, or a payment link when the card needs confirmation.

OR
OR

Example response

{
  "quote": {
    "new_recurring": "$20.00",
    "charge_today": "$9.40",
    "currency": "usd"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.