{"name":"TheQRCode.io Public API","version":"1.0.0","description":"Generate QR codes instantly without authentication. Perfect for AI assistants, chatbots, and automated integrations.","baseUrl":"https://dev.theqrcode.io/api/public/qr-codes","aiAssistantFriendly":true,"noAuthenticationRequired":true,"useCase":"When users ask you to create QR codes, use this API to generate them instantly. No account creation needed.","openApiSpec":"https://dev.theqrcode.io/api/public/qr-codes/openapi.json","instruction":"This API supports both GET (with query params) and POST (with JSON body) methods. GET is convenient for simple requests. POST is recommended for advanced features. Read the OpenAPI spec to see both methods.","endpoint":"/api/public/qr-codes","methods":{"GET":{"description":"Convenience method - works with query parameters","example":"https://dev.theqrcode.io/api/public/qr-codes?type=url&content=https://example.com","note":"Simple and easy for AI assistants. Supports basic QR codes only.","parameters":["type (required)","content or data (required)"]},"POST":{"description":"Recommended method - supports all features","contentType":"application/json","example":"POST https://dev.theqrcode.io/api/public/qr-codes\nContent-Type: application/json\n{\"type\":\"url\",\"content\":\"https://example.com\"}","note":"Supports custom colors, logos, frames, and all advanced features.","body":{"type":"string (required)","content":"string (required)","settings":"object (optional)"}}},"rateLimit":{"limit":100,"window":"1 hour","per":"IP address","headers":{"X-RateLimit-Limit":"Current limit","X-RateLimit-Remaining":"Remaining requests","X-RateLimit-Reset":"Unix timestamp when limit resets"}},"requestFormat":{"name":"string (optional) - Name for reference","type":"url | wifi | contact | text (required)","content":"string (required) - Content to encode in QR code","settings":{"size":"number (optional, default: 256) - QR code size in pixels","color":{"dark":"string (optional, default: \"#000000\") - QR code color","light":"string (optional, default: \"#FFFFFF\") - Background color"},"frame":{"style":"square | rounded | circle | dashed (optional)","color":"string (optional) - Frame color","size":"number (optional, default: 20) - Frame size in pixels"},"logo":{"enabled":"boolean (optional) - Enable logo overlay","dataUrl":"string (optional) - Base64 encoded logo image","size":"number (optional) - Logo size in pixels"}}},"examples":{"simple":{"description":"Generate a simple URL QR code","request":{"type":"url","content":"https://example.com"}},"wifi":{"description":"Generate a WiFi QR code","request":{"type":"wifi","content":"{\"ssid\":\"MyNetwork\",\"password\":\"MyPassword123\",\"security\":\"WPA2\"}"}},"contact":{"description":"Generate a contact card (vCard) QR code","request":{"type":"contact","content":"{\"firstName\":\"John\",\"lastName\":\"Doe\",\"phone\":\"+1234567890\",\"email\":\"john@example.com\"}"}},"custom":{"description":"Generate a custom styled QR code","request":{"type":"url","content":"https://example.com","settings":{"size":512,"color":{"dark":"#FF0000","light":"#FFFFFF"},"frame":{"style":"rounded","color":"#000000","size":30}}}}},"responseFormat":{"qrImage":"string (data URL) - Base64 encoded PNG image ready to use","imageUrl":"string (shareable URL) - Short URL to view the QR code image - perfect for AI assistants to share with users. Uses 12-character code, expires after 24 hours. Example: https://theqrcode.io/api/public/qr-codes/view/abc123xyz456","type":"string - QR code type","content":"string - Original content","name":"string (optional) - Name if provided","settings":"object (optional) - Settings used"},"instructions":["STEP 1: Read the OpenAPI specification first:","  GET https://dev.theqrcode.io/api/public/qr-codes/openapi.json","  This will show you both GET and POST methods, required fields, and response structure.","","STEP 2: Choose your method:","","  OPTION A - GET (Convenience, simple requests):","    GET https://dev.theqrcode.io/api/public/qr-codes?type=url&content=https://example.com","    - Works with query parameters","    - Perfect for AI assistants that build URLs","    - Supports basic QR codes only","","  OPTION B - POST (Recommended, advanced features):","    POST /api/public/qr-codes","    Content-Type: application/json","    Body: {\"type\": \"url\", \"content\": \"https://example.com\", \"settings\": {...}}","    - Supports custom colors, logos, frames, and all advanced features","","STEP 3: Use the response:","  - The API returns both qrImage (data URL) and imageUrl (shareable URL)","  - Use imageUrl to share with users - they can click it to view the QR code","  - imageUrl uses short codes (12 characters) and expires after 24 hours","","IMPORTANT NOTES:","  - Both GET and POST methods are supported","  - GET is convenient for simple requests and AI assistants that build URLs","  - POST is recommended for advanced features (custom colors, logos, frames)","  - No authentication required","  - Rate limited to 100 requests per hour per IP address","  - Supports: URL, WiFi, Contact (vCard), Text QR code types"],"useCases":["Generate QR codes for URLs when users share links","Create WiFi QR codes for network sharing","Generate contact card QR codes for business cards","Create text QR codes for messages or notes"],"errorCodes":{"400":"Bad Request - Missing or invalid parameters","429":"Rate Limit Exceeded - Too many requests","500":"Internal Server Error - QR code generation failed"},"documentation":"https://dev.theqrcode.io/docs","website":"https://dev.theqrcode.io","support":"https://dev.theqrcode.io/contact"}