{"info":{"title":"monoshot","version":"1"},"openapi":"3.1.0","paths":{"/api/health":{"get":{"description":"Reports whether the API process can serve requests.","responses":{"200":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","const":"ok"}},"required":["status"],"additionalProperties":false}}},"description":"The API is available."}},"summary":"Check API health"}},"/api/document":{"post":{"description":"Renders a snippet as a standalone document without scripts or external requests.","responses":{"200":{"content":{"text/html":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"}}},"description":"The document."},"400":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"The request was not understood."},"500":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"The frame could not be drawn."}},"summary":"Render a document","requestBody":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"background":{"anyOf":[{"type":"string","enum":["default","none"]},{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^gradient:#[0-9a-f]{6}:#[0-9a-f]{6}$"}]},"code":{"type":"string","minLength":1,"maxLength":100000},"lang":{"type":"string","enum":["abap","actionscript-3","ada","ahk","ahk2","angular-html","angular-ts","apache","apex","apl","applescript","ara","asciidoc","asm","astro","awk","ballerina","bat","beancount","berry","bibtex","bicep","bird2","blade","bsl","c","c3","cadence","cairo","chapel","clarity","clojure","cmake","cobol","codeowners","codeql","coffee","common-lisp","coq","cpp","crystal","csharp","css","csv","cue","cypher","d","dart","dax","desktop","diff","docker","dotenv","dream-maker","edge","elixir","elm","emacs-lisp","erb","erlang","fennel","fish","fluent","fortran-fixed-form","fortran-free-form","fsharp","gdresource","gdscript","gdshader","genie","gherkin","git-commit","git-rebase","gleam","glimmer-js","glimmer-ts","glsl","gn","gnuplot","go","graphql","groovy","hack","haml","handlebars","haskell","haxe","hcl","hjson","hlsl","html","html-derivative","http","hurl","hxml","hy","imba","ini","java","javascript","jinja","jison","json","json5","jsonc","jsonl","jsonnet","jssm","jsx","julia","just","kdl","kotlin","kusto","latex","lean","less","liquid","llvm","log","logo","lua","luau","make","markdown","marko","matlab","mdc","mdx","mermaid","mipsasm","mojo","moonbit","move","narrat","nextflow","nextflow-groovy","nginx","nim","nix","nsis","nushell","objective-c","objective-cpp","ocaml","odin","openscad","org","pascal","perl","php","pkl","plsql","po","polar","postcss","powerquery","powershell","prisma","prolog","proto","pug","puppet","purescript","python","qml","qmldir","qss","r","racket","raku","razor","rbs","reg","regexp","rel","riscv","ron","rosmsg","rst","ruby","rust","sas","sass","scala","scheme","scss","sdbl","shaderlab","shellscript","shellsession","smalltalk","smithy","solidity","soy","sparql","splunk","sql","ssh-config","stata","stylus","surrealql","svelte","swift","system-verilog","systemd","talonscript","tasl","tcl","templ","terraform","tex","toml","ts-tags","tsv","tsx","turtle","twig","typescript","typespec","typst","v","vala","vb","verilog","vhdl","viml","vue","vue-html","vue-vine","vyper","wasm","wenyan","wgsl","wikitext","wit","wolfram","xml","xsl","yaml","zenscript","zig","actionscript","as3","ahk1","adoc","batch","cmd","be","bird","1c","cdc","chpl","clj","ql","coffeescript","lisp","c++","c#","cs","cql","dockerfile","elisp","erl","ftl","f","for","f77","f90","f95","f03","f08","f18","f#","fs","tscn","tres","gd","gjs","gts","gql","hbs","hs","properties","js","cjs","mjs","fsl","jl","justfile","kt","kts","kql","lean4","makefile","md","mmd","mips","mbt","mbti","nar","nf","nu","objc","scad","pot","potx","ps","ps1","pwsh","protobuf","jade","py","perl6","ruby-signature","regex","rb","rs","1c-query","shader","bash","sh","shell","zsh","console","closure-templates","spl","styl","surql","talon","tf","tfvars","lit","ts","cts","mts","tsp","typ","vim","vimscript","vy","文言","mediawiki","wiki","wl","yml"]},"height":{"type":"integer","minimum":120,"maximum":2160},"padding":{"type":"integer","minimum":0,"maximum":256},"picture":{"type":"string","maxLength":4000000,"pattern":"^data:image\\/[a-z+]+;base64,[A-Za-z0-9+/=]+$"},"radius":{"type":"integer","minimum":0,"maximum":24},"theme":{"type":"string","enum":["aurora-x","dracula","github-dark","github-dark-default","github-light","gruvbox-light-soft","horizon","horizon-bright","houston","nord","poimandres","rose-pine","tokyo-night","vitesse-dark","vitesse-light","golden-gate-dark","golden-gate-light","mountain-lion","panther","sequoia-dark","sequoia-light","snow-leopard","tahoe-dark","tahoe-light","tempo"]},"title":{"type":"string","maxLength":200},"titleBar":{"type":"boolean"},"truncated":{"type":"boolean"},"twoslash":{"description":"Whether to resolve Twoslash annotations, or a pre-resolved run. Defaults to enabled for JavaScript and TypeScript.","anyOf":[{"type":"boolean"},{"type":"object","properties":{"code":{"type":"string","maxLength":100000},"meta":{"type":"object","properties":{"removals":{"maxItems":20000,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}},"required":["removals"],"additionalProperties":false},"nodes":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"length":{"type":"number"},"start":{"type":"number"},"text":{"type":"string","maxLength":10000},"type":{"type":"string"}},"required":["length","start","type"],"additionalProperties":{}}}},"required":["code","meta","nodes"],"additionalProperties":false}]},"width":{"type":"integer","minimum":320,"maximum":1600}},"required":["code","lang"],"additionalProperties":false}}},"required":true}}},"/api/image":{"post":{"description":"Renders a snippet as a PNG by capturing the document with a Browser Rendering binding.","responses":{"200":{"content":{"image/png":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"}}},"description":"The image."},"400":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"The request was not understood."},"500":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"The frame could not be drawn."},"503":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"Browser Rendering is not configured for this deployment."}},"summary":"Render an image","requestBody":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"background":{"anyOf":[{"type":"string","enum":["default","none"]},{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^gradient:#[0-9a-f]{6}:#[0-9a-f]{6}$"}]},"code":{"type":"string","minLength":1,"maxLength":100000},"lang":{"type":"string","enum":["abap","actionscript-3","ada","ahk","ahk2","angular-html","angular-ts","apache","apex","apl","applescript","ara","asciidoc","asm","astro","awk","ballerina","bat","beancount","berry","bibtex","bicep","bird2","blade","bsl","c","c3","cadence","cairo","chapel","clarity","clojure","cmake","cobol","codeowners","codeql","coffee","common-lisp","coq","cpp","crystal","csharp","css","csv","cue","cypher","d","dart","dax","desktop","diff","docker","dotenv","dream-maker","edge","elixir","elm","emacs-lisp","erb","erlang","fennel","fish","fluent","fortran-fixed-form","fortran-free-form","fsharp","gdresource","gdscript","gdshader","genie","gherkin","git-commit","git-rebase","gleam","glimmer-js","glimmer-ts","glsl","gn","gnuplot","go","graphql","groovy","hack","haml","handlebars","haskell","haxe","hcl","hjson","hlsl","html","html-derivative","http","hurl","hxml","hy","imba","ini","java","javascript","jinja","jison","json","json5","jsonc","jsonl","jsonnet","jssm","jsx","julia","just","kdl","kotlin","kusto","latex","lean","less","liquid","llvm","log","logo","lua","luau","make","markdown","marko","matlab","mdc","mdx","mermaid","mipsasm","mojo","moonbit","move","narrat","nextflow","nextflow-groovy","nginx","nim","nix","nsis","nushell","objective-c","objective-cpp","ocaml","odin","openscad","org","pascal","perl","php","pkl","plsql","po","polar","postcss","powerquery","powershell","prisma","prolog","proto","pug","puppet","purescript","python","qml","qmldir","qss","r","racket","raku","razor","rbs","reg","regexp","rel","riscv","ron","rosmsg","rst","ruby","rust","sas","sass","scala","scheme","scss","sdbl","shaderlab","shellscript","shellsession","smalltalk","smithy","solidity","soy","sparql","splunk","sql","ssh-config","stata","stylus","surrealql","svelte","swift","system-verilog","systemd","talonscript","tasl","tcl","templ","terraform","tex","toml","ts-tags","tsv","tsx","turtle","twig","typescript","typespec","typst","v","vala","vb","verilog","vhdl","viml","vue","vue-html","vue-vine","vyper","wasm","wenyan","wgsl","wikitext","wit","wolfram","xml","xsl","yaml","zenscript","zig","actionscript","as3","ahk1","adoc","batch","cmd","be","bird","1c","cdc","chpl","clj","ql","coffeescript","lisp","c++","c#","cs","cql","dockerfile","elisp","erl","ftl","f","for","f77","f90","f95","f03","f08","f18","f#","fs","tscn","tres","gd","gjs","gts","gql","hbs","hs","properties","js","cjs","mjs","fsl","jl","justfile","kt","kts","kql","lean4","makefile","md","mmd","mips","mbt","mbti","nar","nf","nu","objc","scad","pot","potx","ps","ps1","pwsh","protobuf","jade","py","perl6","ruby-signature","regex","rb","rs","1c-query","shader","bash","sh","shell","zsh","console","closure-templates","spl","styl","surql","talon","tf","tfvars","lit","ts","cts","mts","tsp","typ","vim","vimscript","vy","文言","mediawiki","wiki","wl","yml"]},"height":{"type":"integer","minimum":120,"maximum":2160},"padding":{"type":"integer","minimum":0,"maximum":256},"picture":{"type":"string","maxLength":4000000,"pattern":"^data:image\\/[a-z+]+;base64,[A-Za-z0-9+/=]+$"},"radius":{"type":"integer","minimum":0,"maximum":24},"theme":{"type":"string","enum":["aurora-x","dracula","github-dark","github-dark-default","github-light","gruvbox-light-soft","horizon","horizon-bright","houston","nord","poimandres","rose-pine","tokyo-night","vitesse-dark","vitesse-light","golden-gate-dark","golden-gate-light","mountain-lion","panther","sequoia-dark","sequoia-light","snow-leopard","tahoe-dark","tahoe-light","tempo"]},"title":{"type":"string","maxLength":200},"titleBar":{"type":"boolean"},"truncated":{"type":"boolean"},"twoslash":{"description":"Whether to resolve Twoslash annotations, or a pre-resolved run. Defaults to enabled for JavaScript and TypeScript.","anyOf":[{"type":"boolean"},{"type":"object","properties":{"code":{"type":"string","maxLength":100000},"meta":{"type":"object","properties":{"removals":{"maxItems":20000,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]}}},"required":["removals"],"additionalProperties":false},"nodes":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"length":{"type":"number"},"start":{"type":"number"},"text":{"type":"string","maxLength":10000},"type":{"type":"string"}},"required":["length","start","type"],"additionalProperties":{}}}},"required":["code","meta","nodes"],"additionalProperties":false}]},"width":{"type":"integer","minimum":320,"maximum":1600},"scale":{"type":"number","exclusiveMinimum":0,"maximum":6}},"required":["code","lang"],"additionalProperties":false}}},"required":true}}},"/api/themes":{"get":{"description":"Lists accepted `theme` values and the color scheme of each theme.","responses":{"200":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"artwork":{"type":"boolean"},"displayName":{"type":"string"},"name":{"type":"string"},"radius":{"type":"integer","minimum":0,"maximum":24},"type":{"anyOf":[{"type":"string","const":"dark"},{"type":"string","const":"light"}]}},"required":["displayName","name","type"],"additionalProperties":false}}}},"description":"Every theme."},"400":{"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}},"description":"The request was not understood."}},"summary":"List themes","parameters":[{"in":"query","name":"type","required":false,"schema":{"type":"string","enum":["dark","light"]}}]}}}}