---
title: "Get Stripe Topup Session"
method: POST
path: "/me/stripe/topup-session"
tags: ["User API"]
---

# Get Stripe Topup Session

`POST /me/stripe/topup-session`

## Request

- Base URL: `https://api.toolhouse.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.toolhouse.ai/me/stripe/topup-session`
- Auth: HTTP bearer

Create a Checkout session (mode=payment) for the "add funds" popup.

Adding a card always comes with the initial prepaid charge — there's no
separate no-charge "just save a card" flow.

## Request body

- StripeTopupSessionRequest: Request for a Checkout session (mode=payment) that adds a card and charges the initial top-up.
  - `return_url` string, required
  - `currency` 'usd' | 'eur'
  - `amount_dollars` integer, nullable

## Response `200`

Successfully created Stripe top-up session

- StripeTopupSessionResponse: Hosted URL for the "add funds" popup to redirect to.
  - `topup_session_url` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-05** `28d9c9649f65`: 2 info
  - added the new optional request property `amount_dollars`
  - added the new optional request property `currency`
- **2026-09-30** `9dc55a5522bb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/toolhouse/apis/toolhouse-api/changes/me/stripe/topup-session/post.md)

---

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