---
title: "Exchange Ticket Portal"
method: POST
path: "/api/oauth/ticket/exchange-portal"
---

# Exchange Ticket Portal

`POST /api/oauth/ticket/exchange-portal`

## Request

- Base URL: `https://api.ascendkit.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ascendkit.dev/api/oauth/ticket/exchange-portal`
- Auth: API key in header `X-AscendKit-Public-Key`

Exchange OAuth proxy ticket for a portal session token.

Converts env-scoped auth session (authSessions/projectUsers) to
portal-scoped session (portalSessions/portalUsers) so portal Better Auth
can authenticate against platform adapter collections.

## Request body

- TicketExchangeRequest
  - `ticket` string, required

## Response `200`

Successful Response

- ApiResponse
  - `data` unknown
  - `error` string, nullable
  - `meta` object, nullable

## Other responses

- `422`: Validation Error

---

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