Eigene API-Schlüssel
Wenn du dich lieber mit deinem eigenen Schlüssel – ausgestellt unter /dashboard/keys – authentifizierst statt mit dem Proxy-Secret des RapidAPI-Marketplace, ist diese Seite für dich. Dieselbe Engine, eine andere Tür.
Marketplace-Kunden nutzen weiterhin
X-RapidAPI-Proxy-Secretgegenapi.qr-branding.com. Das Gateway für eigene Schlüssel liegt unterqr-branding.com/api/v1/*und stört den Marketplace-Kanal nie.
Basis-URL
https://qr-branding.com/api/v1
Authentifizierung
Schick deinen Schlüssel bei jeder Anfrage mit:
X-API-Key: qrb_…
Der Schlüssel wird am Edge (CF Pages) gegen den Hash in unserer Datenbank geprüft – die Engine selbst sieht deinen Klartext-Schlüssel nie.
Fehlt der Schlüssel, ist er fehlerhaft oder widerrufen, bekommst du:
{ "success": false, "error": "Key not recognised, revoked, or malformed.", "code": "invalid_api_key" }
(Statuscode 401.)
Voraussetzung: Studio-Plan
Die API ist eine Studio-Funktion. Jede Anfrage, nicht nur die KI-Anfragen, braucht ein aktives Studio-Paket (vor weniger als 12 Monaten gekauft und nicht erstattet). Ist der Schlüssel gültig, dein Konto hat aber kein Studio, antwortet das Gateway mit 402 und Links zu dieser Seite und zu den Preisen:
{ "success": false, "error": "The QR Branding API is included with Studio. Buy a Studio pack at https://qr-branding.com/pricing to use your key.", "code": "studio_required", "docs": "https://qr-branding.com/docs/api/public-keys", "pricing": "https://qr-branding.com/pricing" }
KI-Generierungen mit unseren LLM-Schlüsseln (POST /api/v1/qr/ai/generate/server) verbrauchen zusätzlich einen KI-Credit aus deinem Studio-Paket; sind sie aufgebraucht, bekommst du 402 out_of_api_credits mit denselben Links. Alle anderen Aufrufe verbrauchen keine Credits.
Verfügbare Endpunkte
Das Gateway leitet jeden Pfad unter /api/v1/* an die Engine weiter. Also:
| Öffentliche URL | Leitet weiter an |
|---|---|
POST /api/v1/qr/generate | POST /api/qr/generate |
POST /api/v1/qr/ai/generate/server | POST /api/qr/ai/generate/server |
GET /api/v1/qr/templates | GET /api/qr/templates |
POST /api/v1/qr/templates/:id | POST /api/qr/templates/:id |
POST /api/v1/qr/content/:type | Inhaltshelfer (wifi · vcard · geo) |
GET /api/v1/qr/ai/providers | GET /api/qr/ai/providers |
GET /api/v1/ping | GET /api/ping |
Bodys, Antwortstrukturen und Fehlercodes sind identisch mit den Endpunkten der Engine – deine Lesezeichen auf die Doku bleiben gültig.
Schnelltest
curl -X POST https://qr-branding.com/api/v1/qr/generate \
-H "X-API-Key: qrb_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "content": "https://yourbrand.com", "primaryColor": "#dcc28a", "backgroundColor": "#0a0b0e", "eccLevel": "H" }' \
--output qr.png --silent --write-out "%{http_code}\n"
Bekommst du eine 200 und eine qr.png auf der Platte, bist du fertig.
Limits
Nutzerschlüssel haben die Limits pro Kunde des Consumer-Kanals:
| Aufrufart | Pro Minute |
|---|---|
| Allgemein | 120 |
Generierung (/qr/generate, /qr/templates/:id) | 60 |
KI (/qr/ai/generate/server) | 30 |
Erreichst du ein Limit, bekommst du ein 429 mit dem Header Retry-After. Details und globale Obergrenzen stehen im API-Überblick.
Multipart-Uploads
Das Gateway akzeptiert nur JSON. Für binäre Logo-/Hintergrund-Uploads nutze
die base64-Felder (logoBase64, backgroundImageBase64) statt
multipart/form-data. Native Multipart-Unterstützung kommt eventuell in v2.
Rotation
Erzeuge einen neuen Schlüssel, roll ihn aus und widerrufe dann den alten. Der Klartext wird nur einmal angezeigt – speichere ihn in deinem Secrets-Manager.
# in your CI / secrets tool
QR_BRANDING_KEY=qrb_new_key_here
Bekommt der alte Schlüssel vom Gateway ein 401 invalid_api_key, ist deine
gesamte Flotte migriert, und du kannst bestätigen, dass die Rotation funktioniert hat.