---
title: "Issue a funnel session handoff token"
method: POST
path: "/v1/auth/session-handoff"
tags: ["Auth"]
---

# Issue a funnel session handoff token

`POST /v1/auth/session-handoff`

Authenticated. Mints a short-lived token the funnel parks in its URL after checkout, so Facebook's "Open in browser" carries the session into the system browser. The Firebase UID comes from the verified auth token — the client never passes it.

## Request body

- IssueSessionHandoffDto
  - `funnelId` string, required
  - `stepId` string, required — Funnel step the new browser should resume on
  - `acquisitionSessionId` string, uuid

## Response `200`

- IssueSessionHandoffResponseDto
  - `token` string — Absent when the per-uid issuance cap is exhausted — the funnel carries on without a handoff link
  - `expiresAt` string
  - `ttlSeconds` number, required

---

[API](https://skmtc.dev/miaai/apis/backend-template-api.md) · [All operations](https://skmtc.dev/miaai/apis/backend-template-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/miaai/backend-template-api/revisions/2a8d88a5124f/schema)
