---
title: "SDK: billing"
description: "The billing methods of the Overlane TypeScript SDK, with their signatures. Generated from the SDK types."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.overlane.app/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK: billing

{/* Generated by apps/docs/scripts/generate.mjs (SDK pages from the TypeScript types in packages/sdk). Do not edit; run `pnpm --filter @overlane/docs gen`. */}

The `billing` area has 16 methods on the client. Each takes one object of path, query and body arguments and an optional `CallOptions`, and returns a promise of the response body. A refused call rejects with `OverlaneApiError` (see the [SDK index](/sdk/)).

## billingCancel

Cancel the subscription (a person does this: payments are human only)

- Request: `POST` on `/v1/tenants/{tenantId}/billing/cancel`

```ts
billingCancel(args: { tenantId: string; body: CancelRequest }, options?: CallOptions): Promise<Subscription>
```

## billingCapsDelete

Remove a spending cap

- Request: `DELETE` on `/v1/tenants/{tenantId}/billing/caps`

```ts
billingCapsDelete(args: { tenantId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## billingCapsGet

Spending caps

- Request: `GET` on `/v1/tenants/{tenantId}/billing/caps`

```ts
billingCapsGet(args: { tenantId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## billingCapsPut

Set a spending cap (spend class)

- Request: `PUT` on `/v1/tenants/{tenantId}/billing/caps`

```ts
billingCapsPut(args: { tenantId: string; body: PutCapRequest }, options?: CallOptions): Promise<Cap>
```

## billingCheckout

Start a checkout (a person does this: payments are human only)

- Request: `POST` on `/v1/tenants/{tenantId}/billing/checkout`

```ts
billingCheckout(args: { tenantId: string; body: CheckoutRequest }, options?: CallOptions): Promise<CheckoutResponse>
```

## billingInvoices

Invoices

- Request: `GET` on `/v1/tenants/{tenantId}/billing/invoices`

```ts
billingInvoices(args: { tenantId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## billingLimits

Plan limits and what is left

- Request: `GET` on `/v1/tenants/{tenantId}/billing/limits`

```ts
billingLimits(args: { tenantId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## billingPlan

Change plan (a person does this: payments are human only)

- Request: `POST` on `/v1/tenants/{tenantId}/billing/plan`

```ts
billingPlan(args: { tenantId: string; body: ChangePlanRequest }, options?: CallOptions): Promise<ChangePlanResponse>
```

## billingPool

What is left of the pooled allowance and each member's fair share of it

- Request: `GET` on `/v1/tenants/{tenantId}/billing/pool`

```ts
billingPool(args: { tenantId: string }, options?: CallOptions): Promise<PoolShares>
```

## billingPortal

Open the billing portal (a person does this: payments are human only)

- Request: `POST` on `/v1/tenants/{tenantId}/billing/portal`

```ts
billingPortal(args: { tenantId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<PortalResponse>
```

## billingProjectUsage

What one project used this period, per meter, for a token limited to that project

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/billing/usage`

```ts
billingProjectUsage(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<ProjectUsage>
```

## billingSeats

Change seats (a person does this: payments are human only)

- Request: `POST` on `/v1/tenants/{tenantId}/billing/seats`

```ts
billingSeats(args: { tenantId: string; body: SeatChangeRequest }, options?: CallOptions): Promise<SeatChangeResponse>
```

## billingStatus

Plan, seats and billing state

- Request: `GET` on `/v1/tenants/{tenantId}/billing`

```ts
billingStatus(args: { tenantId: string }, options?: CallOptions): Promise<BillingStatus>
```

## billingUsageDecision

Whether metered use may go ahead

- Request: `POST` on `/v1/tenants/{tenantId}/billing/usage/decision`

```ts
billingUsageDecision(args: { tenantId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<UsageDecision>
```

## billingUsageGet

Metered usage

- Request: `GET` on `/v1/tenants/{tenantId}/billing/usage`

```ts
billingUsageGet(args: { tenantId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## billingUsageRecord

Record metered usage

- Request: `POST` on `/v1/tenants/{tenantId}/billing/usage`

```ts
billingUsageRecord(args: { tenantId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

Source: https://docs.overlane.app/sdk/billing/index.mdx
