---
title: "Buy a 30-day pass with a Stripe shared payment token, paid once and never renewed: $1.00 for a first pass, then $20.00."
method: POST
path: "/api/agents/subscribe"
tags: ["Account"]
---

# Buy a 30-day pass with a Stripe shared payment token, paid once and never renewed: $1.00 for a first pass, then $20.00.

`POST /api/agents/subscribe`

## Request

- Base URL: `https://tomorrowlives.com`
- URL: `https://tomorrowlives.com/api/agents/subscribe`
- Auth: HTTP bearer

payment_token is a shared payment token (spt_...) your agent platform granted to this business through Stripe, in usd, allowing the price. Available in the United States. The card behind it must be issued in the United States; any other country is refused with 403 region_not_supported, before anything is created or charged. An agent buys a 30-day pass with a shared payment token: $1.00 the first time (a one-time offer for a new owner), then $20.00, with 1,500 units each. A pass never renews. The token pays one invoice, once, and is not kept; a token that has paid for anything here before is refused with 409 payment_token_used. The first-pass price is a one-time offer for a new owner who has confirmed their email. GET /api/agents/subscription says first which price applies to the account (pass_quote). A price above the one you were told, or above max_price_cents, is refused with 409 price_changed and nothing is charged; the answer carries the price and why, and the token is still unused. A pass bought while one runs starts where it ends. The answer is 201 with the purchase and the account's plan; a declined payment is 402 payment_failed and nothing is charged. The account's owner is mailed the receipt. (This route was the subscription until 2026-10-12: auto_renewal_consent is no longer asked for and is ignored if sent.) A person can subscribe by card: $1.00 the first month, then $20.00 a month, with the same units. It renews automatically until cancelled; cancel any time. (/engines/subscribe)

## Request body

- object
  - `payment_token` string, required
  - `terms_version` '2026-10-12.5', required
  - `operator_country` string: Optional, never stored: the operator's country. Any country but US is refused with 403 region_not_supported.
  - `max_price_cents` integer: Optional: the most you will pay for the pass before tax, in cents. Without it the most charged is the price pass_quote gave. A higher price is refused with 409 price_changed, nothing charged; send 2000 to accept the full price.

## Response `201`

Bought: the purchase (its invoice, what was charged, the pass's dates) and the account's plan

- object
  - `purchase` object
  - `subscription` Subscription: pass_quote (what the next pass costs this account and why: price, reason, why), status, period (a pass's 30-day window of included units), subscribed_via (pass, checkout or token), pass (when access ends; renews: false), unit_packs, and auto_renewal: what is paid, renews_automatically (false on a pass), when access ends, and how to cancel a card plan

## Other responses

- `400`: The input is not valid
- `401`: No valid API key
- `402`: A pass or a payment is needed: a queued render on the free plan, a unit pack on the free plan (pass_required), a card plan's past-due renewal, or, on the free plan, an owner who has not confirmed their email yet (owner_unconfirmed; a pass needs no confirmation); or a payment did not go through (payment_failed, payment_token_unusable), and nothing was charged
- `403`: The account is suspended, the paying card is not from the United States (region_not_supported), or the address named as its owner said it is not theirs and costed runs are paused until a new owner is named (owner_removed)
- `409`: The request conflicts with the account's state
- `503`: Payment cannot be taken right now (agent_payments_unavailable or billing_unavailable). Nothing was charged; try again after Retry-After.

---

[API](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines.md) · [All operations](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/llms.txt) · [OpenAPI document](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/revisions/afc3d67322ac?raw)
