---
title: "Exchange Firebase Token"
method: POST
path: "/v2/auth/exchange-firebase-token"
tags: ["v2 - Viewer Auth"]
---

# Exchange Firebase Token

`POST /v2/auth/exchange-firebase-token`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/auth/exchange-firebase-token`
- Auth: HTTP bearer

PUBLIC. Verify a Firebase ID token and mint a jj_ session for the EXISTING
profile keyed off that Firebase uid (the dashboard account). Session-only —
never writes wallet_addresses, never touches wallet_rails, never registers
on-chain.

## Request body

- ExchangeFirebaseTokenRequest
  - `id_token` string, required: Firebase ID token from a signed-in user

## Response `200`

Successful Response

- ExchangeFirebaseTokenResponse
  - `session_token` string, required
  - `profile_id` string, required
  - `email` string, nullable

## Other responses

- `422`: Validation Error

---

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