---
name: reference_vercel_token_scope
description: "VERCEL_TOKEN ist auf Kais' persönlichen Account (\"Kais\") scoped, nicht das Team; kadi-v2 liegt dort. Domain-Adds via Project-Domains-API ohne teamId."
metadata: 
  node_type: memory
  type: reference
  originSessionId: f3b085e2-503a-445f-b49f-2462a6e8c304
---

`VERCEL_TOKEN` in `/root/aria/.env` ist auf **Kais' persönlichen Account** scoped (`vercel whoami` → "Kais"), NICHT auf das Team `kaiss-projects` (team_Fd915mAItPjHMoIYo1a8mGZH). Projekt **kadi-v2** (`prj_ZUVYNdgt1XXANy1kx1Wli9gy3QSn`) liegt unter dem persönlichen Account.

**Folgen für API-Calls:**
- KEINEN `teamId=team_...`-Query-Param verwenden → sonst `403 forbidden: token can only access scope "Kais"`.
- Subdomain an ein Projekt hängen: `POST https://api.vercel.com/v10/projects/{projectId}/domains` mit `{"name":"sub.domain.tld"}`, Header `Authorization: Bearer $VERCEL_TOKEN`, OHNE teamId.
- `vercel domains add <sub> <project>` (CLI, account-level) scheitert bei Subdomains mit „apex registered to a different team/user" — das ist ein Ownership-Guard, NICHT der echte Fehler. Project-Domains-API ist der richtige Weg.
- Verify-Status: `GET /v9/projects/{projectId}/domains/{domain}` → `verified` true/false.

**DNS-Kontext kaiis.de:** Domain bei Netcup gekauft, DNS-NS bei Cloudflare (jerry/kira.ns.cloudflare.com). Aria hat KEINEN Cloudflare-Zugang → DNS-Records muss Kais setzen (oder CF-API-Token via SSH ablegen, nicht Telegram — [[feedback_no_secrets_via_telegram]]). Subdomain-CNAME → `cname.vercel-dns.com`, in Cloudflare „DNS only" (grau), sonst klemmt Vercel-SSL. Kontext: KAR-664 (app.kaiis.de → kadi-v2).
