---
title: "Attach an anonymous account to a Google identity"
method: POST
path: "/api/v1/claim/{token}/google"
---

# Attach an anonymous account to a Google identity

`POST /api/v1/claim/{token}/google`

## Request

- Base URL: `https://roamzy.io`
- URL: `https://roamzy.io/api/v1/claim/{token}/google`
- Auth: none declared

Two factors are required: the claim_token in the path AND the MSISDN of an eSIM on that account. On success a browser session cookie is set and `merge_mode` reports how the account was resolved (promote | absorb-empty | reverse-merge).

## Path parameters

- `token` string, required

## Request body

- object
  - `id_token` string, required: Google ID token, verified server-side
  - `msisdn` string, required: Second factor — the eSIM phone number

## Response `200`

Claimed — { ok, user_id, provider, merge_mode, next }

## Other responses

- `400`: Invalid body
- `401`: claim_token + msisdn mismatch, or invalid id_token
- `404`: Unknown or already-claimed token
- `409`: A suspended account already uses this Google identity

---

[API](https://skmtc.dev/roamzy/apis/roamzy-agent-api.md) · [All operations](https://skmtc.dev/roamzy/apis/roamzy-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roamzy/apis/roamzy-agent-api/revisions/8757b8d0b779?raw)
