{"files":{"SKILL.md":"---\nname: linqr\ndescription: \"LinQR API skill. Use when working with LinQR for qrcode, batch, images. Covers 14 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# LinQR\nAPI version: 2.0\n\n## Auth\nOAuth2 | ApiKey X-RapidAPI-Key in header\n\n## Base URL\nhttps://api.linqr.app\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /images -- list all images\n3. POST /qrcode/text -- create first text\n\n## Endpoints\n14 endpoints across 3 groups. See references/api-spec.lap for full details.\n\n### Qrcode\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /qrcode/text | Text QR Code |\n| POST | /qrcode/email | Email QR Code |\n| POST | /qrcode/wifi | WiFi QR Code |\n| POST | /qrcode/contact | Contact QR Code |\n| POST | /qrcode/crypto | Cryptocurrency payment QR Code |\n| POST | /qrcode/phone | Telephone QR Code |\n| POST | /qrcode/sms | SMS QR Code |\n| POST | /qrcode/geo | Geolocation QR Code |\n| POST | /qrcode | Arbitrary data type QR Code |\n\n### Batch\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /batch/qrcode | QR Code Batch |\n\n### Images\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /images | List all images |\n| POST | /images | Upload image |\n| DELETE | /images/{id} | Delete image |\n| GET | /images/{id} | List image |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a text?\" -> POST /qrcode/text\n- \"Create a email?\" -> POST /qrcode/email\n- \"Create a wifi?\" -> POST /qrcode/wifi\n- \"Create a contact?\" -> POST /qrcode/contact\n- \"Create a crypto?\" -> POST /qrcode/crypto\n- \"Create a phone?\" -> POST /qrcode/phone\n- \"Create a sm?\" -> POST /qrcode/sms\n- \"Create a geo?\" -> POST /qrcode/geo\n- \"Create a qrcode?\" -> POST /qrcode\n- \"List all images?\" -> GET /images\n- \"Create a image?\" -> POST /images\n- \"Delete a image?\" -> DELETE /images/{id}\n- \"Get image details?\" -> GET /images/{id}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api LinQR\n@base https://api.linqr.app\n@version 2.0\n@auth OAuth2 | ApiKey X-RapidAPI-Key in header\n@endpoints 14\n@toc qrcode(9), batch(1), images(4)\n\n@group qrcode\n@endpoint POST /qrcode/text\n@desc Text QR Code\n@required {data: str}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/email\n@desc Email QR Code\n@required {data: map{to!: any, cc: any, bcc: any, subject: str, body: str}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/wifi\n@desc WiFi QR Code\n@required {data: map{ssid!: str, password: str, security: str, hidden: bool}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/contact\n@desc Contact QR Code\n@required {data: any}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/crypto\n@desc Cryptocurrency payment QR Code\n@required {data: map{currency!: str, address!: str, label: str, amount: any, message: str}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/phone\n@desc Telephone QR Code\n@required {data: map{phone!: str}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/sms\n@desc SMS QR Code\n@required {data: map{to!: any, message: str}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode/geo\n@desc Geolocation QR Code\n@required {data: map{latitude!: any, longitude!: any, format: str}}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endpoint POST /qrcode\n@desc Arbitrary data type QR Code\n@required {data: any # `data` property allows you to specify the data stored in the QR Code.}\n@optional {image: map{uri!: any, modules: bool}, style: map{module: map, inner_eye: any, outer_eye: any, background: map}, size: map{width: int, quiet_zone: int, error_correction: str}, output: map{filename: str, format: str}}\n@returns(200) Return a QR Code image\n@errors {400: Invalid request, 415: Request Content-Type not supported or not specified, 422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endgroup\n\n@group batch\n@endpoint POST /batch/qrcode\n@desc QR Code Batch\n@required {items: [map{data!: any, image: map, style: map, size: map, output: map}] # `items` property allows you to specify an array of QR Codes to generate. The elements of the array must be valid objects analogous to those required for single code generation.}\n@optional {output: map{filename: str, format: str}}\n@returns(200) Return an images bundle\n@errors {422: Validation Error, 424: Embedded image download error, 500: Internal Server Error}\n\n@endgroup\n\n@group images\n@endpoint GET /images\n@desc List all images\n@returns(200) Successful Response\n@errors {500: Internal Server Error}\n\n@endpoint POST /images\n@desc Upload image\n@returns(200) {id: str(uuid4), source: str, size: int, created: str(date-time)} # Successful Response\n@errors {422: Validation Error, 500: Internal Server Error}\n\n@endpoint DELETE /images/{id}\n@desc Delete image\n@required {id: str(uuid4)}\n@returns(204) Successful Response\n@errors {404: Not Found, 422: Validation Error, 500: Internal Server Error}\n\n@endpoint GET /images/{id}\n@desc List image\n@required {id: str(uuid4)}\n@returns(200) {id: str(uuid4), source: str, size: int, created: str(date-time)} # Successful Response\n@errors {404: Not Found, 422: Validation Error, 500: Internal Server Error}\n\n@endgroup\n\n@end\n"}}