---
title: "Preview the charge for switching onto the attached custom plan"
method: GET
path: "/v1/billing/switch-to-negotiated/preview"
tags: ["billing"]
---

# Preview the charge for switching onto the attached custom plan

`GET /v1/billing/switch-to-negotiated/preview`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/billing/switch-to-negotiated/preview`
- Auth: HTTP bearer

What Stripe would invoice right now for moving this workspace onto its attached negotiated price — a read, nothing is charged or changed.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- NegotiatedSwitchPreview: GET /v1/billing/switch-to-negotiated/preview: what Stripe would charge right now.
  - `amount_due_cents` integer, required

## Other responses

- `400`: This workspace has no active subscription, or no negotiated package attached.
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `422`: Validation error
- `502`: The payment provider call failed.
- `503`: Billing is not configured on this deployment.

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
