---
title: "Redeem a checkout-intent token for a web session (public)"
method: POST
path: "/api/v2/billing/checkout-intent/redeem"
tags: ["v2 Billing"]
---

# Redeem a checkout-intent token for a web session (public)

`POST /api/v2/billing/checkout-intent/redeem`

## Request

- Base URL: `https://pdf2md.dev`
- URL: `https://pdf2md.dev/api/v2/billing/checkout-intent/redeem`
- Auth: none required

EP-028. Called by the pricing page when arriving from the extension Upgrade (?ci=...). Consumes the token (single-use) and establishes a web SESSION for its account on this domain (Set-Cookie: session + readable p2m_auth hint, mirroring the OAuth login), so the page then behaves as a normal signed-in buyer — current plan, Manage billing, checkout and retries — with no email prompt. Returns the account email for the "Upgrading as ..." label. 404 on invalid/expired.

## Query parameters

- `ci` string, required

## Response `200`

Session established

- object
  - `email` string, email, required

## Other responses

- `404`: Invalid or expired checkout link

---

[API](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade.md) · [All operations](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/llms.txt) · [OpenAPI document](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/revisions/4636782fb8b6?raw)
