Claves de API de usuario
Si prefieres autenticarte con tu propia clave, emitida desde /dashboard/keys, en lugar del proxy secret del marketplace de RapidAPI, esta página es para ti. El mismo motor, otra puerta.
Los clientes de Marketplace deben seguir usando
X-RapidAPI-Proxy-Secretcontraapi.qr-branding.com. La pasarela de claves para consumidores vive enqr-branding.com/api/v1/*y nunca interfiere con el canal de Marketplace.
URL base
https://qr-branding.com/api/v1
Autenticación
Envía tu clave en cada petición:
X-API-Key: qrb_…
La clave se verifica en el edge (CF Pages) contra el hash guardado en nuestra base de datos: el motor nunca ve tu clave en claro.
Si la clave falta, está mal formada o se ha revocado, recibes:
{ "success": false, "error": "Key not recognised, revoked, or malformed.", "code": "invalid_api_key" }
(código de estado 401).
Requisito: plan Studio
La API es una función de Studio. Todas las peticiones, no solo las de IA, exigen un pack Studio activo (comprado hace menos de 12 meses y no reembolsado). Si la clave es válida pero tu cuenta no tiene Studio, la pasarela responde 402 con enlaces a esta página y a los precios:
{ "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" }
Las generaciones con IA en nuestras claves de LLM (POST /api/v1/qr/ai/generate/server) descuentan además un crédito de IA de tu pack Studio; cuando se agotan, recibes 402 out_of_api_credits con los mismos enlaces. El resto de llamadas no gasta créditos.
Endpoints disponibles
La pasarela reenvía al motor cualquier ruta bajo /api/v1/*. Por tanto:
| URL pública | Se reenvía a |
|---|---|
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 | Utilidades de contenido (wifi · vcard · geo) |
GET /api/v1/qr/ai/providers | GET /api/qr/ai/providers |
GET /api/v1/ping | GET /api/ping |
Los cuerpos, las formas de respuesta y los códigos de error son idénticos a los de los endpoints del motor: conserva tus marcadores de la documentación.
Prueba rápida
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"
Si recibes un 200 y tienes un qr.png en disco, ya está.
Límites
Las claves de usuario tienen los límites por cliente del canal de consumidor:
| Tipo de llamada | Por minuto |
|---|---|
| General | 120 |
Generación (/qr/generate, /qr/templates/:id) | 60 |
IA (/qr/ai/generate/server) | 30 |
Si alcanzas un límite, recibes un 429 con la cabecera Retry-After. Los detalles y los topes globales están en Visión general de la API.
Subidas multipart
La pasarela solo acepta JSON. Para subir el logo o el fondo como binario, usa
los campos base64 (logoBase64, backgroundImageBase64) en lugar de
multipart/form-data. Puede que añadamos soporte multipart nativo en la v2.
Rotación
Genera una clave nueva, despliégala y después revoca la antigua. La clave en claro solo se muestra una vez: guárdala en tu gestor de secretos.
# in your CI / secrets tool
QR_BRANDING_KEY=qrb_new_key_here
Cuando la clave antigua reciba un 401 invalid_api_key de la pasarela, significa
que toda tu infraestructura ya ha migrado y puedes dar por buena la rotación.