API Keys
QRForge uses server-to-server API keys to authenticate and authorize all public API traffic.
API keys are managed per user account and scoped to your subscription plan and associated rate limits.
Creating an API Key
API keys are created in the QRForge dashboard:
Dashboard → Settings → API Keys → “Create API Key”
Each key is generated in the format:
api_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
QRForge does not issue test keys.
All keys are live keys, subject to your plan’s API quotas.
Authentication Header
All API requests must include the following header:
x-api-key: YOUR_API_KEY
Example:
curl -X GET \
-H "x-api-key: api_live_123456789" \
"https://api.qrforge.link/v1/qr-codes"
Missing or incorrect API keys return:
401 unauthorized
API Key Permissions
Each API key is tied to:
- Your user account
- Your active subscription plan
- Your per‑minute and per‑day rate limits
- Your active project set
API keys inherit the same permissions you have in the dashboard.
They can:
- Create QR codes
- Update QR codes
- Retrieve QR codes
- List QR codes
- Manage projects (create, list)
They cannot:
- Modify billing
- Delete QR codes (QRs are archived, not deleted)
- Modify subscription state
- Access internal system data
Rotating API Keys
You can rotate a key at any time from the dashboard.
When rotated:
- The old key is immediately invalidated
- A new key is issued
- API requests using the old key will begin to return:
401 unauthorized — API key not found or inactive
Revoking API Keys
You may revoke any API key at any time.
Once revoked, the key cannot be recovered.
Use revocation if:
- You suspect your key is compromised
- You no longer need automation on that key
- You want to reduce exposure risk
Best Practices
-
Do not expose API keys in frontend code.
They are backend‑only. -
Store your key in environment variables, not hardcoded source files.
-
Rotate keys regularly (every 60–90 days recommended).
-
Use separate keys for separate environments or workloads.
-
Never commit keys into Git repositories.
Example Error Responses
| Status | Code | Meaning |
|---|---|---|
| 401 | unauthorized | API key missing or invalid |
| 401 | api_key_inactive | Key revoked or disabled |
| 429 | rate_limit_minute / day | Your quota was exceeded |
If you need higher throughput or multiple API keys, contact support for an Enterprise plan.