---
title: "Get Current Promo Offer"
method: GET
path: "/users/me/promo_offer"
---

# Get Current Promo Offer

`GET /users/me/promo_offer`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/users/me/promo_offer`
- Auth: none declared

The temporary upsell offer the signed-in user has now, if any.

Asking may start an offer's one-hour window (for example the first time a
balance runs low), so the app calls it when it is about to show one. The
same offer is pushed on ``/users/ws`` as ``promo_offer``.

## Query parameters

- `out_of_tokens` boolean: Set when a request just failed for lack of tokens; counts as a low balance even when the balance is above the threshold.
- `storage_full` boolean: Set when a request just failed because the library is over its storage allowance.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- ApiPromoOfferResponse
  - `offer` ApiPromoOffer
    - `kind` 'new_user' | 'low_balance' | 'monthly_to_yearly' | 'yearly_upgrade' | 'top_up_tokens' | 'top_up_storage', required
    - `expires_at` string, nullable: UTC ISO-8601 end of the offer; null for `top_up_tokens` and `top_up_storage`, which have no window.
    - `bonus_token_percent` integer: Extra tokens granted with the first invoice, as a percent of the chosen plan's monthly tokens.
    - `discount_percent` integer: Percent off the first invoice of the plan change.
    - `pricing_tiers` string[]: Catalog plan `tier_id`s the offer applies to.

## Other responses

- `422`: Validation Error

---

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