---
title: "POST /billing/checkout"
method: POST
path: "/billing/checkout"
tags: ["billing"]
---

# POST /billing/checkout

`POST /billing/checkout`

## Request

- Base URL: `https://api.betteroff.finance`
- URL: `https://api.betteroff.finance/billing/checkout`
- Auth: HTTP bearer

## Request body

- object
  - `tier` 'core'
  - `interval` 'monthly', required
  - `source` 'app_upgrade' | 'post_import' | 'signup'
  - `returnTo` '/connect' | '/connect?view=plaid&returnTo=/overview' | '/assistant' | '/money' | '/settings' | '/settings#billing' | '/settings#privacy-data' | '/settings/imessage' | '/recurring/bills' | '/checklist' | '/todo' | '/taxes' | '/taxes/planning'
  - `surface` 'chat_subscription_paywall' | 'ai_usage_banner' | 'connection_gate' | 'money_gate' | 'export_gate' | 'settings_billing' | 'connect_bank_gate' | 'connect_plan_notice' | 'imessage_gate' | 'overview_core_rail' | 'household_invite_gate' | 'recurring_gate' | 'checklist_gate' | 'todo_gate'
  - `promoCode` string
  - `reward` true

## Response `200`

Success

## Other responses

- `default`: Problem details

---

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