---
title: "Switch to annual billing"
method: POST
path: "/v1/account/upgrade-annual"
tags: ["account"]
---

# Switch to annual billing

`POST /v1/account/upgrade-annual`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/account/upgrade-annual`
- Auth: HTTP bearer

Switches the workspace's monthly subscription to annual, upfront billing. Returns 409 if the workspace is already on annual billing or has no active subscription.

## Response `200`

Success.

- object
  - `data` object, required
    - `cadence` 'annual', required

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: You do not hold the permission for the whole workspace (a grant at one location is not enough).
- `409`: `no_subscription`, `under_contract`, or `already_annual`.
- `502`: The switch failed.
- `503`: `annual_switch_unavailable`: the switch is not self-serve yet; contact support.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
