Pentru ce ai nevoie de API key
API keys deblocheaza access programmatic la toate features Megaforms: create/update forms din cod, citește submissions, declanșează exports, manage workspace settings, push prefill data pentru embed-uri. Use cases: sincronizare bidirecțională CRM custom, dashboard intern care agregează submissions din N forms, automation cu Make.com/Zapier custom integration, CI/CD pentru deploy forms ca cod.
Scopes granular — least privilege
Fiecare key are scopes definite la creation. Scopes disponibile: **forms:read**, **forms:write**, **submissions:read**, **submissions:write**, **submissions:export**, **workspace:read**, **workspace:write**, **billing:read**, **webhooks:manage**, **integrations:manage**. Recomandare: o key per integration cu DOAR scope-urile necesare. Exemplu CRM-sync: doar `submissions:read` + `submissions:write`. NU folosi master key (cu toate scopes) pentru integrări — risc compromise.
Auth header + rate limits
API authentication via Bearer token. Rate limits: 100 req/min default per key. Business+ poate cere creștere până la 1000 req/min. Rate limit headers returnate (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`). La depășire = 429 cu Retry-After.
curl https://forms.megapromoting.com/api/v1/forms/frm_abc123/submissions \
-H "Authorization: Bearer sk_live_abcdef123456" \
-H "Content-Type: application/json"
# Response
{
"data": [...],
"pagination": { "cursor": "...", "has_more": true },
"rate_limit": { "remaining": 87, "reset_at": 1717250000 }
}Key rotation — grace period
Best practice: rotează keys la 90 zile. Megaforms suportă **dual-key window**: când rotezi, vechea key rămâne valid 24h alături de noua. În acest window, deploy update la cod cu noua key fără downtime. După 24h, vechea key expiră automat. Pentru rotation forțat (cheie compromisă), button «Revoke immediately» în dashboard.
Audit log per call
Fiecare request făcut cu API key e loggat (key_id, endpoint, status code, IP source, timestamp, response time). Dashboard arată grafic usage pe ultima săptămână + alerts on anomalies (ex. «1000 calls în 10 minute — neobișnuit pentru această key»). Util pentru detecție early compromise.