---
title: "Exchange Firebase ID token for a ScaleForge API token"
method: POST
path: "/api/v1/auth/firebase"
tags: ["Auth"]
---

# Exchange Firebase ID token for a ScaleForge API token

`POST /api/v1/auth/firebase`

## Request

- Base URL: `https://getscaleforge.com`
- URL: `https://getscaleforge.com/api/v1/auth/firebase`
- Auth: none required

Verifies the Firebase ID token, resolves the matching ScaleForge user
by email or previously linked `firebase_uid`, and issues a new API
token scoped for Chrome extension usage (`hunted_creatives:read` +
`hunted_creatives:write`).

This is the only endpoint that does NOT require a Bearer token.

## Request body

- object
  - `firebase_token` string, required: Firebase ID token obtained from Firebase Auth SDK

## Response `201`

API token issued

- object
  - `api_token` string
  - `user` object
    - `id` integer
    - `email` string
    - `name` string, nullable

## Other responses

- `400`: firebase_token missing
- `401`: Invalid Firebase token
- `404`: No ScaleForge account for this email

---

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