---
title: "Preview a managed account plan change"
method: GET
path: "/accounts/{account}/plan/preview"
tags: ["Account"]
---

# Preview a managed account plan change

`GET /accounts/{account}/plan/preview`

## Request

- Base URL: `https://api.factuarea.com/v1`
- URL: `https://api.factuarea.com/v1/accounts/{account}/plan/preview`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Preview, with no effect, changing the plan of a managed account your account pays.
- Upgrades are `immediate` and charged at once; downgrades are `period_end` and list tax IDs to deactivate.
- Requires `operate` access on the account (403 `forbidden_action`).
- Requires the privileged `accounts:read` scope.

## Path parameters

- `account` string, uuid, required

## Query parameters

- `plan` 'emprendedor' | 'empresario' | 'integral' | 'enterprise', required

## Headers

- `Factuarea-Version` string, date

## Response `200`

- object
  - `data` ManagedAccountPlanChangePreview, required: Preview, with no effect, of changing the plan of a managed account your account pays. Amounts are integer CENTS, taxable base without VAT; the key names the unit (`*_cents`). A managed account that is not charged to your account has no real charge: both amounts are 0 and the change is immediate.
    - `object` 'managed_account_plan_change_preview', required: Always `managed_account_plan_change_preview`.
    - `from_plan` 'emprendedor' | 'empresario' | 'integral' | 'enterprise', required: Current plan of the managed account.
    - `to_plan` 'emprendedor' | 'empresario' | 'integral' | 'enterprise', required: Requested plan.
    - `effective` 'immediate' | 'period_end', required: `immediate` for an upgrade, no change or no real charge; `period_end` for a charged downgrade, pending until `effective_at`.
    - `effective_at` string, date-time, nullable, required: End of the current period, when a `period_end` change takes effect (ISO 8601); `null` for an immediate change.
    - `prorated_amount_cents` integer, required: Prorated net amount charged to your account at once, in cents (upgrade only; 0 otherwise).
    - `next_invoice_amount_cents` integer, required: Monthly fee of the requested plan on the next periodic invoice, in cents (0 when not charged to your account).
    - `currency` string, required: ISO 4217 currency code, upper case.
    - `renews_at` string, date-time, nullable, required: End of the current billing period (ISO 8601), also for an upgrade; `null` when the managed account is not charged to your account.
    - `deactivates` object[], required: Active additional tax IDs that a downgrade would deactivate. Empty when it deactivates none.
      - `id` string, uuid, required: Opaque identifier (UUID v7) of the tax ID.
      - `name` string, required: Name of the tax ID.
      - `tax_id` string, required: Tax ID (NIF/CIF/NIE).

## Other responses

- `400`: `parameter_unknown` with `subcode` `retired_active_profile_header`: the retired `X-Active-Profile` header was sent; the company goes in the path. `parameter_invalid_format` on `Factuarea-Version`: the header is not a `YYYY-MM-DD` date. `unsupported_api_version`: the `Factuarea-Version` date is not a supported version.
- `401`: Missing or invalid API key.
- `403`: The request is authenticated but not allowed: the API key lacks the required scope (`insufficient_scope`), the plan does not include the public API or this feature (`addon_not_active`, `feature_not_available_in_plan`), or the module is not available with a test key (`module_not_available_in_sandbox`).
- `404`: The requested resource does not exist or belongs to another company. `account_not_found`: the account in the path does not exist or is not the account of the API key.
- `422`: Validation failed, or a managed account rule rejected the operation: `managed_account_plan_not_self_serve` (`enterprise` is only assigned by Factuarea by contract), `managed_account_provider_in_trial` (a paid plan while your account is in trial), `managed_accounts_limit_reached` (the managed account limit of your account), `managed_account_not_claimable` (a test account has no claim voucher), `access_level_raise_forbidden` (once the holder claimed the account only the holder can raise your level), `enterprise_contract_transition_required` (moving to or from `enterprise` is a contract change) and `business_rule_violation` with subcode `nif_already_claimed_by_another_account` (provisioning a tax ID that already belongs to another account). The `error.param` field identifies which input is invalid, if any.
- `429`: Rate limit exceeded. Retry after the duration in `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/factuarea/apis/factuarea-public-api.md) · [All operations](https://skmtc.dev/factuarea/apis/factuarea-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/factuarea/apis/factuarea-public-api/revisions/718e77934422?raw)
