[{"data":1,"prerenderedAt":499},["ShallowReactive",2],{"navigation_docs":3,"-docs-changelog":82,"-docs-changelog-surround":496},[4,9,40,61],{"title":5,"path":6,"stem":7,"order":8},"Changelog","\u002Fdocs\u002Fchangelog","docs\u002F4.changelog",4,{"title":10,"path":11,"stem":12,"children":13,"page":39},"Api","\u002Fdocs\u002Fapi","docs\u002Fapi",[14,18,22,26,30,34],{"title":15,"path":16,"stem":17},"Overview","\u002Fdocs\u002Fapi\u002Foverview","docs\u002Fapi\u002F1.overview",{"title":19,"path":20,"stem":21},"Quotes","\u002Fdocs\u002Fapi\u002Fquotes","docs\u002Fapi\u002F2.quotes",{"title":23,"path":24,"stem":25},"Authors","\u002Fdocs\u002Fapi\u002Fauthors","docs\u002Fapi\u002F3.authors",{"title":27,"path":28,"stem":29},"Playlists","\u002Fdocs\u002Fapi\u002Fplaylists","docs\u002Fapi\u002F4.playlists",{"title":31,"path":32,"stem":33},"Categories","\u002Fdocs\u002Fapi\u002Fcategories","docs\u002Fapi\u002F5.categories",{"title":35,"path":36,"stem":37,"order":38},"API Reference","\u002Fdocs\u002Fapi\u002F_dir","docs\u002Fapi\u002F_dir",3,false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[45,49,53,57],{"title":46,"path":47,"stem":48},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002Fgetting-started\u002F1.introduction",{"title":50,"path":51,"stem":52},"Authentication","\u002Fdocs\u002Fgetting-started\u002Fauthentication","docs\u002Fgetting-started\u002F2.authentication",{"title":54,"path":55,"stem":56},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002Fgetting-started\u002F3.quickstart",{"title":41,"path":58,"stem":59,"order":60},"\u002Fdocs\u002Fgetting-started\u002F_dir","docs\u002Fgetting-started\u002F_dir",1,{"title":62,"path":63,"stem":64,"children":65,"page":39},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides",[66,70,74,78],{"title":67,"path":68,"stem":69},"Rate Limits & Pricing","\u002Fdocs\u002Fguides\u002Frate-limits","docs\u002Fguides\u002F1.rate-limits",{"title":71,"path":72,"stem":73},"Error Handling","\u002Fdocs\u002Fguides\u002Ferror-handling","docs\u002Fguides\u002F2.error-handling",{"title":75,"path":76,"stem":77},"SDKs & Libraries","\u002Fdocs\u002Fguides\u002Fsdks","docs\u002Fguides\u002F3.sdks",{"title":62,"path":79,"stem":80,"order":81},"\u002Fdocs\u002Fguides\u002F_dir","docs\u002Fguides\u002F_dir",2,{"id":83,"title":5,"body":84,"description":488,"extension":489,"links":490,"meta":491,"navigation":493,"path":6,"seo":494,"stem":7,"__hash__":495},"docs\u002Fdocs\u002F4.changelog.md",{"type":85,"value":86,"toc":477},"minimark",[87,91,103,108,113,118,162,166,169,218,222,239,243,246,305,308,328,332,335,389,392,396,405,429,440,444,447],[88,89,5],"h1",{"id":90},"changelog",[92,93,94,95,102],"p",{},"All notable changes to the Quote Gallery API are documented here. This changelog follows ",[96,97,101],"a",{"href":98,"rel":99},"https:\u002F\u002Fkeepachangelog.com\u002F",[100],"nofollow","Keep a Changelog"," conventions.",[104,105,107],"h2",{"id":106},"api-v1","API v1",[109,110,112],"h3",{"id":111},"v130-2025-07-15","v1.3.0 — 2025-07-15",[114,115,117],"h4",{"id":116},"added","Added",[119,120,121,138,153],"ul",{},[122,123,124,128,129,133,134,137],"li",{},[125,126,127],"strong",{},"Playlist endpoints"," — New ",[130,131,132],"code",{},"\u002Fapi\u002Fv1\u002Fplaylists"," and ",[130,135,136],{},"\u002Fapi\u002Fv1\u002Fplaylists\u002F:id"," endpoints for browsing and retrieving curated quote collections.",[122,139,140,146,147,133,150,152],{},[125,141,142,145],{},[130,143,144],{},"include_quotes"," parameter"," — Available on ",[130,148,149],{},"\u002Fapi\u002Fv1\u002Fauthors\u002F:id",[130,151,136],{}," to embed related quotes directly in the response.",[122,154,155,161],{},[125,156,157,160],{},[130,158,159],{},"isCurated"," field"," on playlist responses to distinguish officially curated playlists from community-created ones.",[109,163,165],{"id":164},"v120-2025-06-01","v1.2.0 — 2025-06-01",[114,167,117],{"id":168},"added-1",[119,170,171,185,206],{},[122,172,173,176,177,180,181,184],{},[125,174,175],{},"Author search"," — The ",[130,178,179],{},"\u002Fapi\u002Fv1\u002Fauthors"," endpoint now supports a ",[130,182,183],{},"search"," query parameter for searching authors by name.",[122,186,187,190,191,194,195,194,198,201,202,205],{},[125,188,189],{},"Category filtering"," — All list endpoints (",[130,192,193],{},"\u002Fquotes",", ",[130,196,197],{},"\u002Fauthors",[130,199,200],{},"\u002Fplaylists",") now support filtering by ",[130,203,204],{},"categories"," (comma-separated).",[122,207,208,213,214,217],{},[125,209,210,145],{},[130,211,212],{},"language"," on ",[130,215,216],{},"\u002Fapi\u002Fv1\u002Fquotes\u002F:id"," to request a specific translation as the primary text.",[114,219,221],{"id":220},"changed","Changed",[119,223,224],{},[122,225,226,227,230,231,234,235,238],{},"Increased maximum ",[130,228,229],{},"limit"," parameter from ",[130,232,233],{},"50"," to ",[130,236,237],{},"100"," across all list endpoints.",[109,240,242],{"id":241},"v110-2025-04-15","v1.1.0 — 2025-04-15",[114,244,117],{"id":245},"added-2",[119,247,248,257,267,276,288],{},[122,249,250,128,253,256],{},[125,251,252],{},"Random quote endpoint",[130,254,255],{},"\u002Fapi\u002Fv1\u002Fquotes\u002Frandom"," endpoint for fetching a random approved quote with optional language and category filters.",[122,258,259,128,262,133,264,266],{},[125,260,261],{},"Author endpoint",[130,263,179],{},[130,265,149],{}," endpoints for browsing and retrieving author profiles.",[122,268,269,128,272,275],{},[125,270,271],{},"Categories endpoint",[130,273,274],{},"\u002Fapi\u002Fv1\u002Fcategories"," endpoint for retrieving all available categories with quote counts.",[122,277,278,176,281,283,284,287],{},[125,279,280],{},"Translations",[130,282,216],{}," response now includes a ",[130,285,286],{},"translations"," array with all available translations of the quote.",[122,289,290,293,294,194,297,300,301,304],{},[125,291,292],{},"Rate limit headers"," — All responses now include ",[130,295,296],{},"X-RateLimit-Limit",[130,298,299],{},"X-RateLimit-Remaining",", and ",[130,302,303],{},"X-RateLimit-Reset"," headers.",[114,306,221],{"id":307},"changed-1",[119,309,310],{},[122,311,312,313,316,317,133,320,323,324,327],{},"Quote list responses now include an ",[130,314,315],{},"author"," object with ",[130,318,319],{},"id",[130,321,322],{},"name"," (previously only ",[130,325,326],{},"authorId"," was returned).",[109,329,331],{"id":330},"v100-2025-03-01","v1.0.0 — 2025-03-01",[114,333,117],{"id":334},"added-3",[119,336,337,343,349,355,365,371,383],{},[122,338,339,342],{},[125,340,341],{},"Initial release"," of the Quote Gallery API v1.",[122,344,345,348],{},[130,346,347],{},"GET \u002Fapi\u002Fv1\u002Fquotes"," — Paginated list of approved public quotes with language and category filtering.",[122,350,351,354],{},[130,352,353],{},"GET \u002Fapi\u002Fv1\u002Fquotes\u002F:id"," — Retrieve a single quote by ID.",[122,356,357,360,361,364],{},[125,358,359],{},"API key authentication"," via ",[130,362,363],{},"X-API-Key"," header.",[122,366,367,370],{},[125,368,369],{},"Rate limiting"," with Free (100 req\u002Fhr), Hobby (500 req\u002Fhr), and Premium (2,000 req\u002Fhr) tiers.",[122,372,373,376,377,133,379,382],{},[125,374,375],{},"Pagination"," support with ",[130,378,229],{},[130,380,381],{},"offset"," parameters on all list endpoints.",[122,384,385,388],{},[125,386,387],{},"Bundle discount"," — 25% off paid API tiers for users with an active Supporter subscription.",[390,391],"hr",{},[104,393,395],{"id":394},"versioning-policy","Versioning Policy",[92,397,398,399,404],{},"The Quote Gallery API follows ",[96,400,403],{"href":401,"rel":402},"https:\u002F\u002Fsemver.org\u002F",[100],"Semantic Versioning"," principles:",[119,406,407,413,419],{},[122,408,409,412],{},[125,410,411],{},"Patch versions"," (e.g., v1.0.1) — Bug fixes and non-functional changes. No action required.",[122,414,415,418],{},[125,416,417],{},"Minor versions"," (e.g., v1.1.0) — New endpoints, optional fields, or parameters. Fully backward compatible. No action required.",[122,420,421,424,425,428],{},[125,422,423],{},"Major versions"," (e.g., v2.0.0) — Breaking changes. Released under a new URL prefix (e.g., ",[130,426,427],{},"\u002Fapi\u002Fv2","). Previous versions remain available with a deprecation timeline.",[430,431,433,434,439],"callout",{"type":432},"tip","Subscribe to the ",[96,435,438],{"href":436,"rel":437},"https:\u002F\u002Fquotegallery.nl\u002Freleases",[100],"Quote Gallery blog"," or follow us on social media to be notified of new API versions and important changes.",[104,441,443],{"id":442},"deprecation-policy","Deprecation Policy",[92,445,446],{},"When a new major API version is released:",[448,449,450,461,467,474],"ol",{},[122,451,452,453,456,457,460],{},"The previous version enters a ",[125,454,455],{},"deprecation period"," of at least ",[125,458,459],{},"12 months",".",[122,462,463,464,364],{},"During the deprecation period, the old version continues to work normally but responses include a ",[130,465,466],{},"Deprecation",[122,468,469,470,473],{},"After the deprecation period ends, the old version may return ",[130,471,472],{},"410 Gone"," responses.",[122,475,476],{},"Advance notice is provided via email to all registered API key holders and through this changelog.",{"title":478,"searchDepth":81,"depth":81,"links":479},"",[480,486,487],{"id":106,"depth":81,"text":107,"children":481},[482,483,484,485],{"id":111,"depth":38,"text":112},{"id":164,"depth":38,"text":165},{"id":241,"depth":38,"text":242},{"id":330,"depth":38,"text":331},{"id":394,"depth":81,"text":395},{"id":442,"depth":81,"text":443},"Stay up to date with the latest changes, improvements, and fixes to the Quote Gallery API.","md",null,{"icon":492},"i-lucide-history",{"order":8},{"title":5,"description":488},"Ve_JyWahUlcsyh-JcKUQuaaGh0Bizts6WaqGpScYfqg",[490,497],{"title":15,"path":16,"stem":17,"description":498,"children":-1},"Overview of the Quote Gallery API v1 — base URL, authentication, and available endpoints.",1774214573889]