---
title: "Start a top-up"
method: POST
path: "/v1/billing/top-ups"
tags: ["Billing"]
---

# Start a top-up

`POST /v1/billing/top-ups`

## Request

- Base URL: `https://api.rumoro.dev`
- URL: `https://api.rumoro.dev/v1/billing/top-ups`
- Auth: HTTP bearer

Returns a hosted checkout link with `amountCents` filled in. The buyer can change it there, from $20 to $5,000. The balance is credited within a minute of payment, and tracking paused for balance resumes right away. This call charges nothing by itself. `successUrl` must be on an origin this deployment trusts. Leave it out to return to the dashboard's billing page.

## Request body

- object
  - `amountCents` integer, required: The amount to add in US cents, from 2000 to 500000. Checkout starts with it and the buyer can change it.
  - `successUrl` string, uri: Page to return to after payment. It must be on an origin this deployment trusts, like the dashboard, and defaults to the dashboard's billing page.

## Response `200`

A checkout link with the amount filled in

- object
  - `url` string, required: The Polar checkout link.

## Other responses

- `400`: The amount is not valid, or successUrl is not allowed
- `401`: The credential is missing or not valid
- `404`: There is no workspace owner to bill
- `429`: The workspace started too many checkouts in this minute
- `503`: This deployment has no billing set up

---

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