---
title: "Get billing summary"
method: GET
path: "/v1/billing"
tags: ["Billing"]
---

# Get billing summary

`GET /v1/billing`

## Request

- Base URL: `https://api.signvoy.com`
- URL: `https://api.signvoy.com/v1/billing`
- Auth: one of:
  - API key in header `X-Workspace-Id`
  - HTTP bearer

Current plan, entitlements, seat and document usage, and the available upgrade prices. Readable by any workspace member so the UI can show why an action was blocked; only the owner can change anything.

## Response `200`

Billing summary

- BillingSummaryDto
  - `plan` 'free' | 'pro' | 'team' | 'enterprise', required: Plan on the subscription, i.e. what the account pays for
  - `effectivePlan` 'free' | 'pro' | 'team' | 'enterprise', required: Plan actually in force. Differs from `plan` only when the subscription has lapsed, in which case entitlements fall back to Free.
  - `status` string, nullable: Stripe subscription status; null on an account that never paid
  - `interval` 'month' | 'year', nullable: Billing interval; null on Free
  - `cancelAtPeriodEnd` boolean, required: Whether the subscription stops at the end of the period
  - `currentPeriodEnd` string, date-time, nullable: End of the current billing period; null on Free
  - `hasBillingHistory` boolean, required: Whether this account has ever reached checkout, and therefore whether the Customer Portal has invoices and a payment method to show
  - `seats` BillingSeatsDto, required
    - `included` number, required: Seats bundled with the current plan
    - `purchased` number, required: Extra seats bought on top
    - `allowed` number, required: Seats the account may fill (included + purchased)
    - `used` number, required: Seats in use: distinct members across every workspace on the account, plus pending invitations to addresses that are not already members
  - `documents` BillingDocumentsDto, required
    - `sent` number, required: Documents sent in the current billing period
    - `limit` number, nullable: Documents included per period; null means unlimited
  - `workspaces` BillingWorkspacesDto, required
    - `count` number, required: Workspaces on this account
    - `limit` number, nullable: Workspaces allowed; null means unlimited
  - `features` BillingFeaturesDto, required
    - `customBranding` boolean, required: Custom logo and colours; Signvoy branding removed
    - `customEmailSender` boolean, required: Custom from / reply-to address on signing emails
    - `sharedTemplates` boolean, required: Templates shared with the whole workspace
    - `workspaceWideVisibility` boolean, required: Members can see every document in the workspace
  - `extraSeatMonthlyUsd` number, required: Price per extra seat per month, in USD
  - `extraSeatAnnualUsd` number, required: Price per extra seat per month when billed annually, in USD
  - `availablePlans` BillingPlanOptionDto[], required
    - `plan` 'pro' | 'team', required
    - `monthlyUsd` number, required: Monthly price in USD
    - `annualMonthlyUsd` number, required: Effective monthly price when billed annually, in USD
    - `includedSeats` number, required: Seats bundled with this plan

---

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