Every getvivix API request needs an Authorization: Bearer … header carrying one of your keys. Keys are 41 characters, prefixedvvx_live_, and tied to your getvivix account's credit wallet.
Open Settings → API & Webhooks. Click Create new key, give it an optional name (helpful for distinguishing "production" from "ci" from "local"), copy the plaintext.
The plaintext is shown ONCE. After 30 seconds the panel auto-clears, and there's no way for us to recover it — only the sha256 hash is stored on our side. If you lose it, create a new one and revoke the old.
curl https://vivix-atelier.vercel.app/api/v1/credits \
-H "Authorization: Bearer vvx_live_aB3cD4eF5gH6iJ7kL8mN9oP0qR1sT2u"That's it. Same header on every request.
Best practice: rotate on a schedule, especially after any suspected leak (laptop stolen, contractor offboarded, secrets repo accidentally made public).
401.revoked_at on the row but keep the record for audit. Auth checks reject any key with a non-null revoked_at..env.local, secrets managers, your platform's vault.vvx_live_aB3cD4).401 UNAUTHORIZED and 403 KEY_REVOKED