{"openapi":"3.0.3","info":{"title":"DevCard Studio API","version":"1.0.0","description":"Public REST API for the **DevCard Studio** plugin on DevNebura.\n\n## Features\n- 🆔 **Card Generation** — Create beautiful SVG identity cards for your profile or README.\n- 🖼️ **Banners** — Generate wide banners for GitHub profiles or LinkedIn.\n- 💻 **Modern Styles** — Badge, GitHub, Minimal, Retro, Ticket, Polaroid, Story, Cyber, and Bento modes.\n- ⚡ **Terminal style** — Code-inspired identity snippets.\n\n## Cache\nEndpoints are cached for **1 hour**.\n\n## Authentication\nPublic access. Rate limited at 60 requests/minute per IP/User.","contact":{"name":"DevNebura Platform","url":"https://team.hiroshi-dev.xyz/users/p/devcard-studio"},"license":{"name":"MIT"}},"servers":[{"url":"https://team.hiroshi-dev.xyz/api/plugins/devcard-studio","description":"DevNebura Production"}],"tags":[{"name":"Identity","description":"Identity card generation endpoints."},{"name":"Meta","description":"Documentation and specification."}],"paths":{"/render":{"get":{"tags":["Identity"],"operationId":"renderCard","summary":"Generate SVG Identity Card","description":"Returns a high-quality SVG card based on the provided parameters.","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","example":"Hiroshi"},"description":"Full name to display"},{"name":"role","in":"query","required":true,"schema":{"type":"string","example":"Software Engineer"},"description":"Current role or title"},{"name":"theme","in":"query","schema":{"type":"string","enum":["void","neon","glass","matrix","twilight","arctic"],"default":"void"}},{"name":"accent","in":"query","schema":{"type":"string","enum":["purple","cyan","emerald","amber","rose","pink","orange","sky","lime","violet"],"default":"purple"}},{"name":"mode","in":"query","schema":{"type":"string","enum":["card","banner","badge","terminal","github","minimal","retro","ticket","polaroid","story","cyber","bento"],"default":"card"}},{"name":"location","in":"query","schema":{"type":"string","example":"Neo-Tokyo"}},{"name":"github","in":"query","schema":{"type":"string","example":"hiroshi-dev"}},{"name":"skills","in":"query","schema":{"type":"string","example":"React,TypeScript,Rust"},"description":"Comma-separated list of skills"},{"name":"status","in":"query","schema":{"type":"string","example":"Available"}},{"name":"avatarUrl","in":"query","schema":{"type":"string","format":"uri"},"description":"URL of the user avatar image (External URLs permitted)"},{"name":"showAvatar","in":"query","schema":{"type":"boolean","default":true},"description":"Whether to show the user avatar"},{"name":"showStatus","in":"query","schema":{"type":"boolean","default":true},"description":"Whether to show the availability status indicator"},{"name":"qrEnabled","in":"query","schema":{"type":"boolean","default":false},"description":"Whether to show the QR code pointing to the profile"},{"name":"fontStyle","in":"query","schema":{"type":"string","enum":["inter","fira","outfit","jetbrains","space","raleway","playfair"],"default":"inter"},"description":"Font style for the card"},{"name":"texture","in":"query","schema":{"type":"string","enum":["none","mesh","grid","dots","circuit","noise"],"default":"none"},"description":"Background texture effect"},{"name":"customBgColor","in":"query","schema":{"type":"string"},"description":"Custom background color override"},{"name":"gh_f","in":"query","schema":{"type":"string","example":"1.2k","default":"0"},"description":"GitHub followers count (only for github mode)"},{"name":"gh_r","in":"query","schema":{"type":"string","example":"45","default":"0"},"description":"GitHub repositories count (only for github mode)"},{"name":"gh_s","in":"query","schema":{"type":"string","example":"230","default":"0"},"description":"GitHub total stars count (only for github mode)"}],"responses":{"200":{"description":"SVG Image","content":{"image/svg+xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid Parameters"}}},"post":{"tags":["Identity"],"operationId":"renderCardJson","summary":"Generate SVG Identity Card with JSON body","description":"Same output as GET /render, but sends options in a JSON body to keep the browser URL short while testing.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","role"],"properties":{"name":{"type":"string","example":"Hiroshi","description":"Full name to display"},"role":{"type":"string","example":"Software Engineer","description":"Current role or title"},"theme":{"type":"string","enum":["void","neon","glass","matrix","twilight","arctic"],"default":"void"},"accent":{"type":"string","enum":["purple","cyan","emerald","amber","rose","pink","orange","sky","lime","violet"],"default":"purple"},"mode":{"type":"string","enum":["card","banner","badge","terminal","github","minimal","retro","ticket","polaroid","story","cyber","bento"],"default":"card"},"location":{"type":"string","example":"Neo-Tokyo"},"github":{"type":"string","example":"hiroshi-dev"},"skills":{"type":"string","example":"React,TypeScript,Rust","description":"Comma-separated list of skills"},"status":{"type":"string","example":"Available"},"avatarUrl":{"type":"string","format":"uri","description":"URL of the user avatar image (External URLs permitted)"},"showAvatar":{"type":"boolean","default":true,"description":"Whether to show the user avatar"},"showStatus":{"type":"boolean","default":true,"description":"Whether to show the availability status indicator"},"qrEnabled":{"type":"boolean","default":false,"description":"Whether to show the QR code pointing to the profile"},"fontStyle":{"type":"string","enum":["inter","fira","outfit","jetbrains","space","raleway","playfair"],"default":"inter","description":"Font style for the card"},"texture":{"type":"string","enum":["none","mesh","grid","dots","circuit","noise"],"default":"none","description":"Background texture effect"},"customBgColor":{"type":"string","description":"Custom background color override"},"gh_f":{"type":"string","example":"1.2k","default":"0","description":"GitHub followers count (only for github mode)"},"gh_r":{"type":"string","example":"45","default":"0","description":"GitHub repositories count (only for github mode)"},"gh_s":{"type":"string","example":"230","default":"0","description":"GitHub total stars count (only for github mode)"}}}}}},"responses":{"200":{"description":"SVG Image","content":{"image/svg+xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid Parameters"}}}},"/readme":{"get":{"tags":["Meta"],"operationId":"getReadme","summary":"API Documentation (Markdown)","description":"Returns the raw `README.md` file for this plugin as plain text.","responses":{"200":{"description":"Markdown documentation","content":{"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Readme file not found"}}}},"/openapi.json":{"get":{"tags":["Meta"],"summary":"Get OpenAPI Spec","responses":{"200":{"description":"JSON Specification","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}