---
title: "Change plan"
method: POST
path: "/v1/billing/plan"
tags: ["Settings"]
---

# Change plan

`POST /v1/billing/plan`

## Request

- Base URL: `https://api.vicem.ai`
- URL: `https://api.vicem.ai/v1/billing/plan`
- Auth: HTTP bearer

## Request body

- ChangePlanReq
  - `plan` 'vicem' | 'vicem_plus' | 'vicem_byo' | 'vicem_plus_byo', required
  - `interval` 'month' | 'year', required
  - `confirm` true, required

## Response `200`

OK

- ChangePlanRes
  - `billing` BillingState, required
    - `plan` string, required
    - `currency` string
    - `status` 'trialing' | 'card_required' | 'active' | 'past_due' | 'paused' | 'canceled' | 'comp', required
    - `trialEndsAt` string, nullable, required
    - `trialDays` integer
    - `minutesUsed` number, required
    - `minutesIncluded` number, required
    - `interval` 'month' | 'year', required
    - `byoNumber` boolean, required
    - `trialAvailable` boolean, required
    - `inTrial` boolean
    - `numberAtCost` boolean
    - `cardOnFile` boolean
    - `yearPaid` boolean
    - `offers` PlanOffer[], required
      - `plan` 'vicem' | 'vicem_plus' | 'vicem_byo' | 'vicem_plus_byo', required
      - `tier` 'vicem' | 'vicem_plus', required
      - `name` string, required
      - `byo` boolean, required
      - `interval` 'month' | 'year', required
      - `priceCents` integer, required
      - `monthlyEquivalentCents` integer, required
      - `includedMinutes` integer, required
      - `overageCentsPerMinute` integer, nullable, required
      - `currency` string
    - `meter` UsageMeter, required
      - `periodStart` string, date-time, required
      - `periodEnd` string, date-time, required
      - `minutesUsed` number, required
      - `minutesIncluded` number, required
      - `minutesNotCounted` number, required
      - `minutesHoldNotCounted` number
      - `level` 'ok' | 'warning' | 'reached', required
      - `overageMinutes` number, required
      - `overageCents` integer, required
      - `projectedMinutes` number, required
      - `projectedOverageCents` integer, required
      - `overageCentsPerMinute` integer, nullable, required
      - `hardCap` boolean, required
      - `hardCapAvailable` boolean, required
      - `messageOnly` boolean, required
      - `dailyLimitMinutes` number, nullable
      - `dailyLimitReached` boolean
      - `trialWithoutCard` boolean
      - `ceilingCents` integer, nullable
      - `ceilingChoice` 'plan' | 'amount' | 'none'
      - `ceilingReached` boolean
    - `cancelAt` string, date-time, required
    - `canCancel` boolean, required
    - `portalAvailable` boolean, required
    - `billingLive` boolean
    - `checkoutAvailable` boolean
    - `valueRecap` string, nullable
    - `valueCounts` object, nullable
      - `calls` integer, required
      - `messages` integer, required
      - `spam` integer, required
      - `asks` integer, required
    - `monthSoFar` MonthSoFar
      - `calls` integer, required
      - `spam` integer, required
    - `localFx` LocalFx
      - `currency` string, required
      - `perUsd` number, required
      - `asOf` string, required
    - `numberCharges` object[]
      - `numberId` string
      - `e164` string
      - `country` string, required
      - `currency` string, required
      - `monthlyMinor` integer, required
      - `setupMinor` integer, required
    - `includedNumberId` string, nullable
    - `numberReleaseIfCanceledAt` string, date-time
    - `numberForwardHeld` boolean
    - `cancelWouldEndAt` string, date-time
    - `cancelBeforeBilling` boolean
    - `nextChargeAt` string, date-time
    - `numberReleaseAt` string, date-time
    - `firstChargeRefundUntil` string, date-time
    - `bankConfirmUrl` string, uri, nullable

## Other responses

- `400`: Invalid request (body not JSON, or schema validation failed).
- `401`: Missing, expired or invalid bearer token.
- `413`: Body over the limit (64 KB; 512 KB for contact import).
- `500`: Unexpected server error (reported to Sentry).

---

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