---
title: "Usage Billing Top Up"
method: POST
path: "/api/v1/usage_billing/top_up"
tags: ["Billing"]
---

# Usage Billing Top Up

`POST /api/v1/usage_billing/top_up`

In V1, create a hosted Stripe Checkout session to top up the authenticated user's personal Automations wallet.

The user must have a personal Stripe customer and an active personal Todoist Pro subscription. A Business or
workspace subscription alone does not qualify. A Business member who also has personal Todoist Pro tops up their
personal wallet.

If the personal Stripe customer or personal Todoist Pro prerequisite is not met, the endpoint returns HTTP 400 with
error tag `USAGE_BILLING_TOP_UP_UNAVAILABLE` and error code `605`.

## Request body

- BodyB48755ce
  - `amount` integer, required — Amount to buy, in the currency's minor unit (1000 = $10.00).
  - `currency` string, required — ISO currency code.
  - `return_url` string, required — URL Checkout returns the user to.

## Response `200`

Successful Response

- TopUpResponse
  - `session_id` string, required — The created Stripe Checkout session id.
  - `checkout_url` string, required — Hosted Stripe Checkout URL to redirect the user to for payment.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/todoist/apis/todoist-api.md) · [All operations](https://skmtc.net/todoist/apis/todoist-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/todoist/todoist-api/revisions/69a962f1578f/schema)
