qrdex

Verified·Scanned 2/18/2026

This skill manages QR codes via the https://qrdex.io/api/v1 API and provides a CLI scripts/qrdex_api.py. It reads the QRDEX_API_KEY, issues network requests to qrdex.io, and includes shell usage examples; these behaviors are purpose-aligned.

from clawhub.ai·ve5cb277·12.2 KB·0 installs
Scanned from 1.0.0 at e5cb277 · Transparency log ↗
$ vett add clawhub.ai/sebastienb/qrdex

QRdex

Manage QR codes via the QRdex.io REST API.

Setup

Set the API key as an environment variable:

export QRDEX_API_KEY="your-api-key"

Get a key from: QRdex.io → Team Settings → API section. API access requires Growth plan or above.

Quick Reference

Base URL: https://qrdex.io/api/v1

All requests require Authorization: Bearer $QRDEX_API_KEY and Content-Type: application/json.

Create a QR Code

curl -X POST https://qrdex.io/api/v1/qr_codes \
  -H "Authorization: Bearer $QRDEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "qr_code": {
      "title": "My Website",
      "qr_type": "url",
      "url": "https://example.com"
    }
  }'

QR Types and Required Fields

TypeRequired Fields
urlurl
emailemail_address (optional: email_subject, message)
telephonetelephone_number
smstelephone_number (optional: message)
whatsapptelephone_number (optional: message)
wifiwifi_ssid (optional: wifi_encryption, wifi_password, wifi_hidden)

Common Optional Fields

  • foreground_color — hex color (default: #000000)
  • background_color — hex color (default: #FFFFFF)
  • shape — QR code shape (default: rounded)
  • track_scans — enable scan tracking (default: true)

List QR Codes

curl https://qrdex.io/api/v1/qr_codes \
  -H "Authorization: Bearer $QRDEX_API_KEY"

Query params: page, per_page (max 100), qr_type filter.

Get / Update / Delete

# Get
curl https://qrdex.io/api/v1/qr_codes/:id -H "Authorization: Bearer $QRDEX_API_KEY"

# Update (partial — only send changed fields)
curl -X PATCH https://qrdex.io/api/v1/qr_codes/:id \
  -H "Authorization: Bearer $QRDEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"qr_code": {"title": "New Title"}}'

# Delete (soft-delete)
curl -X DELETE https://qrdex.io/api/v1/qr_codes/:id -H "Authorization: Bearer $QRDEX_API_KEY"

Download QR Image (SVG)

curl https://qrdex.io/api/v1/qr_codes/:id/image \
  -H "Authorization: Bearer $QRDEX_API_KEY" -o qr.svg

Returns image/svg+xml. Use the image_url field from any QR code response directly in <img> tags.

Using the Python Script

For programmatic use, use scripts/qrdex_api.py:

# Set API key
export QRDEX_API_KEY="your-key"

# List QR codes
python scripts/qrdex_api.py list

# Create QR codes
python scripts/qrdex_api.py create --title "My Site" --type url --url "https://example.com"
python scripts/qrdex_api.py create --title "WiFi" --type wifi --ssid "Guest" --wifi-password "pass123"
python scripts/qrdex_api.py create --title "Email" --type email --email "hi@example.com"
python scripts/qrdex_api.py create --title "Chat" --type whatsapp --phone "+15551234567" --message "Hello!"

# Get details
python scripts/qrdex_api.py get 123

# Update
python scripts/qrdex_api.py update 123 --title "Updated Title" --fg-color "#FF0000"

# Delete
python scripts/qrdex_api.py delete 123

# Download image
python scripts/qrdex_api.py image 123 -o qr.svg

Error Handling

  • 401 — Invalid/missing API key
  • 403 — No permission
  • 404 — QR code not found or belongs to different team
  • 422 — Validation error or plan limit reached
  • 429 — Rate limited (100 req/min per key). Check X-RateLimit-Remaining header.

API Reference

For full field descriptions and response schemas, see references/API_REFERENCE.md.