Dokumentation
Öffentliche justQRs-API
Verwalten Sie Ihre QR-Codes programmatisch. Erstellen Sie einen API-Schlüssel unter API-Schlüssel im Dashboard (nur Kontoinhaber).
Basis-URL
https://api.justqrs.com
Authentifizierung
Senden Sie Ihren API-Schlüssel bei jeder Anfrage als Bearer-Token:
Authorization: Bearer jqr_xxxxxxxxxxxxxxxx
Schlüssel werden nur einmal vollständig angezeigt – beim Erstellen. Zum Rotieren erstellen Sie einen neuen Schlüssel und löschen den alten.
Endpunkte
| Methode | Pfad | Beschreibung |
|---|---|---|
GET | /v1/qrcodes | Ihre QR-Codes auflisten. Response: { qrcodes: QrResponse[] } |
POST | /v1/qrcodes | Einen QR-Code erstellen. Request: CreateQrRequest { name, mode, content, design? } · Response: QrResponse |
GET | /v1/qrcodes/{qrId} | Einen einzelnen QR-Code abrufen. Response: QrResponse |
PATCH | /v1/qrcodes/{qrId} | Einen QR-Code aktualisieren (nur dynamische Codes). Request: UpdateQrRequest { name?, content?, design? } · Response: QrResponse |
DELETE | /v1/qrcodes/{qrId} | Einen QR-Code löschen. Response: 204 No Content |
GET | /v1/qrcodes/{qrId}/stats?days=7|30|90 | Scan-Statistiken für einen dynamischen QR-Code. Response: QrStats { totalScans, rangeScans, rangeUniques, series, breakdowns } |
Beispiel: URL-QR-Code erstellen
curl -X POST "https://api.justqrs.com/v1/qrcodes" \
-H "Authorization: Bearer jqr_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "My link",
"mode": "dynamic",
"content": { "kind": "url", "url": "https://example.com" }
}'
Beispiel: Scan-Statistiken abrufen
curl "https://api.justqrs.com/v1/qrcodes/{qrId}/stats?days=30" \
-H "Authorization: Bearer jqr_xxxxxxxxxxxxxxxx"
Fehler
Fehlerantworten sind JSON: { "error": string, "code"?: string }.
| Status | Code | Bedeutung |
|---|---|---|
| 400 | (validation) | Der Anfragetext hat die Validierung nicht bestanden – Details stehen in der Fehlermeldung. |
| 401 | — | Authorization-Header fehlt. |
| 403 | — | API-Schlüssel abgelehnt – ungültig, widerrufen oder abgelaufen. |
| 402 | upgrade_required | Ihr Konto nutzt den kostenlosen Tarif – der API-Zugriff erfordert einen bezahlten Tarif. |
| 404 | — | Der QR-Code existiert nicht oder gehört nicht zu diesem Konto. |
| 409 | qr_limit_reached | Das Konto hat sein Limit an dynamischen QR-Codes bereits erreicht (500 im Basistarif, weitere über Zusatzpakete). |