---
title: "Redeem a free Premium code"
method: POST
path: "/v1/billing/redeem"
tags: ["billing"]
---

# Redeem a free Premium code

`POST /v1/billing/redeem`

## Request

- Base URL: `https://api.pomerado.ai`
- URL: `https://api.pomerado.ai/v1/billing/redeem`
- Auth: HTTP bearer

Redeems a code for free Premium on your Personal account, such as 6 months of Premium with no card. An account already paying through Stripe gets the free months after its paid period, with nothing charged; Stripe bills again by itself afterwards. A code is single use, and an account gets each offer once; repeating your own redemption answers the same. An unknown, used, revoked or expired code, or an offer the account already had, is invalid_code; five of those in an hour wait an hour (redeem_throttled). While a free period runs another code is promotion_already_active and stays unused.

## Request body

- object
  - `code` string, required: The code as sent, such as ABCD-EFGH-JKMN-PQRS; case, dashes and spaces are ignored, and I and L read as 1, O as 0

## Response `200`

The free Premium period

- BillingRedeemed
  - `status` 'redeemed', required
  - `promotion` PromotionSummary, required
    - `offer_name` string, required: The offer, such as 6 months of Premium
    - `ends_at` string, required: When the free Premium period ends (ISO 8601)
    - `billing_resumes_at` string, nullable, required: When Stripe bills again (ISO 8601), for an account that also pays through Stripe; else null

## Other responses

- `400`: invalid_code, invalid_request
- `401`: unauthorized, reauthentication_required
- `403`: billing_unavailable, forbidden
- `409`: promotion_already_active, billing_attention_needed
- `413`: request_too_large
- `429`: redeem_throttled
- `500`: internal_error
- `501`: not_configured
- `503`: temporarily_unavailable

---

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