[{"data":1,"prerenderedAt":860},["ShallowReactive",2],{"docs-navigation":3,"docs-page:\u002Fdocs\u002Fapi":401},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,44,64,254,300,349,375],{"title":10,"path":6,"stem":11},"Overview","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"order":18},"API Overview","\u002Fdocs\u002Fapi","docs\u002Fapi\u002Findex",[17,19,24,29,34,39],{"title":13,"path":14,"stem":15,"order":18},7,{"title":20,"path":21,"stem":22,"order":23},"Assets API","\u002Fdocs\u002Fapi\u002Fassets","docs\u002Fapi\u002Fassets",3,{"title":25,"path":26,"stem":27,"order":28},"Authentication","\u002Fdocs\u002Fapi\u002Fauthentication","docs\u002Fapi\u002Fauthentication",1,{"title":30,"path":31,"stem":32,"order":33},"Components API","\u002Fdocs\u002Fapi\u002Fcomponents","docs\u002Fapi\u002Fcomponents",4,{"title":35,"path":36,"stem":37,"order":38},"Error Handling","\u002Fdocs\u002Fapi\u002Ferrors","docs\u002Fapi\u002Ferrors",5,{"title":40,"path":41,"stem":42,"order":43},"Games API","\u002Fdocs\u002Fapi\u002Fgames","docs\u002Fapi\u002Fgames",2,{"title":45,"path":46,"stem":47,"children":48,"order":38},"Automation","\u002Fdocs\u002Fautomation","docs\u002Fautomation\u002Findex",[49,50,60],{"title":45,"path":46,"stem":47,"order":38},{"title":51,"path":52,"stem":53,"children":54,"order":43},"Sequences","\u002Fdocs\u002Fautomation\u002Fsequences","docs\u002Fautomation\u002Fsequences\u002Findex",[55,56],{"title":51,"path":52,"stem":53,"order":43},{"title":57,"path":58,"stem":59},"Steps","\u002Fdocs\u002Fautomation\u002Fsequences\u002Fsteps","docs\u002Fautomation\u002Fsequences\u002Fsteps",{"title":61,"path":62,"stem":63,"order":28},"Triggers","\u002Fdocs\u002Fautomation\u002Ftriggers","docs\u002Fautomation\u002Ftriggers",{"title":65,"path":66,"stem":67,"children":68,"order":33},"Entities","\u002Fdocs\u002Fentities","docs\u002Fentities\u002Findex",[69,70,160,202],{"title":65,"path":66,"stem":67,"order":33},{"title":71,"path":72,"stem":73,"children":74},"Pieces","\u002Fdocs\u002Fentities\u002Fpieces","docs\u002Fentities\u002F01.pieces\u002Findex",[75,76,90,104,138],{"title":71,"path":72,"stem":73},{"title":77,"path":78,"stem":79,"children":80},"Dice","\u002Fdocs\u002Fentities\u002Fpieces\u002Fdice","docs\u002Fentities\u002F01.pieces\u002Fdice\u002Findex",[81,82,86],{"title":77,"path":78,"stem":79},{"title":83,"path":84,"stem":85},"Polyhedral Die","\u002Fdocs\u002Fentities\u002Fpieces\u002Fdice\u002Fpolyhedral-die","docs\u002Fentities\u002F01.pieces\u002Fdice\u002Fpolyhedral-die",{"title":87,"path":88,"stem":89},"Spinner","\u002Fdocs\u002Fentities\u002Fpieces\u002Fdice\u002Fspinner","docs\u002Fentities\u002F01.pieces\u002Fdice\u002Fspinner",{"title":91,"path":92,"stem":93,"children":94},"Tiles and Stacks","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftiles-and-stacks","docs\u002Fentities\u002F01.pieces\u002Ftiles-and-stacks\u002Findex",[95,96,100],{"title":91,"path":92,"stem":93},{"title":97,"path":98,"stem":99},"Stack","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftiles-and-stacks\u002Fstack","docs\u002Fentities\u002F01.pieces\u002Ftiles-and-stacks\u002Fstack",{"title":101,"path":102,"stem":103},"Tile","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftiles-and-stacks\u002Ftile","docs\u002Fentities\u002F01.pieces\u002Ftiles-and-stacks\u002Ftile",{"title":105,"path":106,"stem":107,"children":108},"Tokens","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Findex",[109,110,114,118,122,126,130,134],{"title":105,"path":106,"stem":107},{"title":111,"path":112,"stem":113},"Block","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fblock","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fblock",{"title":115,"path":116,"stem":117},"Disc","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fdisc","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fdisc",{"title":119,"path":120,"stem":121},"Image Token","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fimage-token","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fimage-token",{"title":123,"path":124,"stem":125},"Model Token","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fmodel-token","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fmodel-token",{"title":127,"path":128,"stem":129},"Pawn","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fpawn","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fpawn",{"title":131,"path":132,"stem":133},"Pyramid","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fpyramid","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fpyramid",{"title":135,"path":136,"stem":137},"Ring","\u002Fdocs\u002Fentities\u002Fpieces\u002Ftokens\u002Fring","docs\u002Fentities\u002F01.pieces\u002Ftokens\u002Fring",{"title":139,"path":140,"stem":141,"children":142},"Utility Pieces","\u002Fdocs\u002Fentities\u002Fpieces\u002Futility-pieces","docs\u002Fentities\u002F01.pieces\u002Futility-pieces\u002Findex",[143,144,148,152,156],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147},"Bag","\u002Fdocs\u002Fentities\u002Fpieces\u002Futility-pieces\u002Fbag","docs\u002Fentities\u002F01.pieces\u002Futility-pieces\u002Fbag",{"title":149,"path":150,"stem":151},"Counter","\u002Fdocs\u002Fentities\u002Fpieces\u002Futility-pieces\u002Fcounter","docs\u002Fentities\u002F01.pieces\u002Futility-pieces\u002Fcounter",{"title":153,"path":154,"stem":155},"Timer","\u002Fdocs\u002Fentities\u002Fpieces\u002Futility-pieces\u002Ftimer","docs\u002Fentities\u002F01.pieces\u002Futility-pieces\u002Ftimer",{"title":157,"path":158,"stem":159},"Token Bowl","\u002Fdocs\u002Fentities\u002Fpieces\u002Futility-pieces\u002Ftoken-bowl","docs\u002Fentities\u002F01.pieces\u002Futility-pieces\u002Ftoken-bowl",{"title":161,"path":162,"stem":163,"children":164},"Spaces","\u002Fdocs\u002Fentities\u002Fspaces","docs\u002Fentities\u002F02.spaces\u002Findex",[165,166,180],{"title":161,"path":162,"stem":163},{"title":167,"path":168,"stem":169,"children":170},"Layouts","\u002Fdocs\u002Fentities\u002Fspaces\u002Flayouts","docs\u002Fentities\u002F02.spaces\u002Flayouts\u002Findex",[171,172,176],{"title":167,"path":168,"stem":169},{"title":173,"path":174,"stem":175},"Hex Grid","\u002Fdocs\u002Fentities\u002Fspaces\u002Flayouts\u002Fhex-grid","docs\u002Fentities\u002F02.spaces\u002Flayouts\u002Fhex-grid",{"title":177,"path":178,"stem":179},"Square Grid","\u002Fdocs\u002Fentities\u002Fspaces\u002Flayouts\u002Fsquare-grid","docs\u002Fentities\u002F02.spaces\u002Flayouts\u002Fsquare-grid",{"title":181,"path":182,"stem":183,"children":184},"Placement Spaces","\u002Fdocs\u002Fentities\u002Fspaces\u002Fplacement-spaces","docs\u002Fentities\u002F02.spaces\u002Fplacement-spaces\u002Findex",[185,186,190,194,198],{"title":181,"path":182,"stem":183},{"title":187,"path":188,"stem":189},"Box Space","\u002Fdocs\u002Fentities\u002Fspaces\u002Fplacement-spaces\u002Fbox-space","docs\u002Fentities\u002F02.spaces\u002Fplacement-spaces\u002Fbox-space",{"title":191,"path":192,"stem":193},"Hex Space","\u002Fdocs\u002Fentities\u002Fspaces\u002Fplacement-spaces\u002Fhex-space","docs\u002Fentities\u002F02.spaces\u002Fplacement-spaces\u002Fhex-space",{"title":195,"path":196,"stem":197},"Orb Space","\u002Fdocs\u002Fentities\u002Fspaces\u002Fplacement-spaces\u002Forb-space","docs\u002Fentities\u002F02.spaces\u002Fplacement-spaces\u002Forb-space",{"title":199,"path":200,"stem":201},"Point Space","\u002Fdocs\u002Fentities\u002Fspaces\u002Fplacement-spaces\u002Fpoint-space","docs\u002Fentities\u002F02.spaces\u002Fplacement-spaces\u002Fpoint-space",{"title":203,"path":204,"stem":205,"children":206},"Annotations","\u002Fdocs\u002Fentities\u002Fannotations","docs\u002Fentities\u002F03.annotations\u002Findex",[207,208,218,244],{"title":203,"path":204,"stem":205},{"title":209,"path":210,"stem":211,"children":212},"Freehand Annotations","\u002Fdocs\u002Fentities\u002Fannotations\u002Ffreehand-annotations","docs\u002Fentities\u002F03.annotations\u002Ffreehand-annotations\u002Findex",[213,214],{"title":209,"path":210,"stem":211},{"title":215,"path":216,"stem":217},"Freehand Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Ffreehand-annotations\u002Ffreehand-annotation","docs\u002Fentities\u002F03.annotations\u002Ffreehand-annotations\u002Ffreehand-annotation",{"title":219,"path":220,"stem":221,"children":222},"Shape Annotations","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Findex",[223,224,228,232,236,240],{"title":219,"path":220,"stem":221},{"title":225,"path":226,"stem":227},"Arrow Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations\u002Farrow-annotation","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Farrow-annotation",{"title":229,"path":230,"stem":231},"Box Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations\u002Fbox-annotation","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Fbox-annotation",{"title":233,"path":234,"stem":235},"Hex Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations\u002Fhex-annotation","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Fhex-annotation",{"title":237,"path":238,"stem":239},"Orb Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations\u002Forb-annotation","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Forb-annotation",{"title":241,"path":242,"stem":243},"Triangle Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Fshape-annotations\u002Ftriangle-annotation","docs\u002Fentities\u002F03.annotations\u002Fshape-annotations\u002Ftriangle-annotation",{"title":245,"path":246,"stem":247,"children":248},"Text Annotations","\u002Fdocs\u002Fentities\u002Fannotations\u002Ftext-annotations","docs\u002Fentities\u002F03.annotations\u002Ftext-annotations\u002Findex",[249,250],{"title":245,"path":246,"stem":247},{"title":251,"path":252,"stem":253},"Text Annotation","\u002Fdocs\u002Fentities\u002Fannotations\u002Ftext-annotations\u002Ftext-annotation","docs\u002Fentities\u002F03.annotations\u002Ftext-annotations\u002Ftext-annotation",{"title":255,"path":256,"stem":257,"children":258,"order":28},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started\u002Findex",[259,260,264,268,296],{"title":255,"path":256,"stem":257,"order":28},{"title":261,"path":262,"stem":263,"order":43},"Tutorial 2: Build a Deck of Cards","\u002Fdocs\u002Fgetting-started\u002Fbuild-a-deck-of-cards","docs\u002Fgetting-started\u002Fbuild-a-deck-of-cards",{"title":265,"path":266,"stem":267,"order":23},"Tutorial 3: Use Your Own Images","\u002Fdocs\u002Fgetting-started\u002Fcustom-images","docs\u002Fgetting-started\u002Fcustom-images",{"title":269,"path":270,"stem":271,"children":272,"order":274},"Why Playtest Parlor?","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Findex",[273,275,279,283,287,291],{"title":269,"path":270,"stem":271,"order":274},-2,{"title":276,"path":277,"stem":278,"order":33},"Compared to In-Person Playtesting","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-in-person","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-in-person",{"title":280,"path":281,"stem":282,"order":23},"Compared to PlayingCards.io","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-playingcards-io","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-playingcards-io",{"title":284,"path":285,"stem":286,"order":43},"Compared to Screentop.gg","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-screentop","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-screentop",{"title":288,"path":289,"stem":290,"order":28},"Compared to Tabletop Simulator","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-tts","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcompared-to-tts",{"title":292,"path":293,"stem":294,"order":295},"Platform Comparison","\u002Fdocs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcomparison-matrix","docs\u002Fgetting-started\u002Fwhy-playtest-parlor\u002Fcomparison-matrix",0,{"title":297,"path":298,"stem":299,"order":28},"Tutorial 1: Your First Game","\u002Fdocs\u002Fgetting-started\u002Fyour-first-game","docs\u002Fgetting-started\u002Fyour-first-game",{"title":301,"path":302,"stem":303,"children":304,"order":43},"Interface","\u002Fdocs\u002Finterface","docs\u002Finterface\u002Findex",[305,306,310,315,319,323,328,332,336,341,345],{"title":301,"path":302,"stem":303,"order":43},{"title":307,"path":308,"stem":309,"order":33},"The Action Dock","\u002Fdocs\u002Finterface\u002Faction-dock","docs\u002Finterface\u002Faction-dock",{"title":311,"path":312,"stem":313,"order":314},"Finding Your Discord User ID","\u002Fdocs\u002Finterface\u002Fdiscord-id","docs\u002Finterface\u002Fdiscord-id",10,{"title":316,"path":317,"stem":318,"order":18},"The Entity Browser","\u002Fdocs\u002Finterface\u002Fentity-browser","docs\u002Finterface\u002Fentity-browser",{"title":320,"path":321,"stem":322,"order":38},"The Minimap","\u002Fdocs\u002Finterface\u002Fminimap","docs\u002Finterface\u002Fminimap",{"title":324,"path":325,"stem":326,"order":327},"The Player Hand","\u002Fdocs\u002Finterface\u002Fplayer-hand","docs\u002Finterface\u002Fplayer-hand",6,{"title":329,"path":330,"stem":331,"order":23},"The Players Panel","\u002Fdocs\u002Finterface\u002Fplayers-panel","docs\u002Finterface\u002Fplayers-panel",{"title":333,"path":334,"stem":335},"Sequences Panel","\u002Fdocs\u002Finterface\u002Fsequences-panel","docs\u002Finterface\u002Fsequences-panel",{"title":337,"path":338,"stem":339,"order":340},"Session Notebook","\u002Fdocs\u002Finterface\u002Fsession-notebook","docs\u002Finterface\u002Fsession-notebook",8,{"title":342,"path":343,"stem":344,"order":28},"The Table","\u002Fdocs\u002Finterface\u002Ftable","docs\u002Finterface\u002Ftable",{"title":346,"path":347,"stem":348,"order":43},"The Toolbar","\u002Fdocs\u002Finterface\u002Ftoolbar","docs\u002Finterface\u002Ftoolbar",{"title":350,"path":351,"stem":352,"children":353,"order":23},"Playtests","\u002Fdocs\u002Fplaytests","docs\u002Fplaytests\u002Findex",[354,355,359,363,367,371],{"title":350,"path":351,"stem":352,"order":23},{"title":356,"path":357,"stem":358,"order":43},"Inviting players","\u002Fdocs\u002Fplaytests\u002Finviting-players","docs\u002Fplaytests\u002Finviting-players",{"title":360,"path":361,"stem":362,"order":38},"Player count guidelines","\u002Fdocs\u002Fplaytests\u002Fplayer-count-guidelines","docs\u002Fplaytests\u002Fplayer-count-guidelines",{"title":364,"path":365,"stem":366,"order":33},"Reviewing outcomes","\u002Fdocs\u002Fplaytests\u002Freviewing-outcomes","docs\u002Fplaytests\u002Freviewing-outcomes",{"title":368,"path":369,"stem":370,"order":28},"Starting a playtest","\u002Fdocs\u002Fplaytests\u002Fstarting-a-playtest","docs\u002Fplaytests\u002Fstarting-a-playtest",{"title":372,"path":373,"stem":374,"order":23},"Surveys","\u002Fdocs\u002Fplaytests\u002Fsurveys","docs\u002Fplaytests\u002Fsurveys",{"title":376,"path":377,"stem":378,"children":379,"order":43},"Setting up a Table","\u002Fdocs\u002Fsetting-up-a-table","docs\u002Fsetting-up-a-table\u002Findex",[380,381,385,389,393,397],{"title":376,"path":377,"stem":378,"order":43},{"title":382,"path":383,"stem":384,"order":28},"Adding pieces to a table","\u002Fdocs\u002Fsetting-up-a-table\u002Fadding-pieces-to-a-table","docs\u002Fsetting-up-a-table\u002Fadding-pieces-to-a-table",{"title":386,"path":387,"stem":388,"order":43},"Building your first table layout","\u002Fdocs\u002Fsetting-up-a-table\u002Fbuilding-your-first-table-layout","docs\u002Fsetting-up-a-table\u002Fbuilding-your-first-table-layout",{"title":390,"path":391,"stem":392,"order":33},"Importing from The Game Crafter","\u002Fdocs\u002Fsetting-up-a-table\u002Fimporting-from-the-game-crafter","docs\u002Fsetting-up-a-table\u002Fimporting-from-the-game-crafter",{"title":394,"path":395,"stem":396,"order":38},"Importing with manual uploads","\u002Fdocs\u002Fsetting-up-a-table\u002Fimporting-with-manual-uploads","docs\u002Fsetting-up-a-table\u002Fimporting-with-manual-uploads",{"title":398,"path":399,"stem":400,"order":23},"Saving a table configuration","\u002Fdocs\u002Fsetting-up-a-table\u002Fsaving-a-table-configuration","docs\u002Fsetting-up-a-table\u002Fsaving-a-table-configuration",{"id":402,"title":13,"body":403,"description":854,"extension":855,"meta":856,"navigation":857,"path":14,"seo":858,"stem":15,"__hash__":859},"docs\u002Fdocs\u002Fapi\u002Findex.md",{"type":404,"value":405,"toc":838},"minimark",[406,410,415,444,448,451,462,465,468,474,481,485,490,502,506,509,515,525,529,595,599,605,609,615,619,786,790,797,800,806,810,834],[407,408,409],"p",{},"Playtest Parlor's REST API allows external board game design tools to programmatically create games, upload assets, and manage components. Tools like Component Studio and Dextrous can use the API to streamline the playtesting workflow.",[411,412,414],"h2",{"id":413},"what-you-can-do","What You Can Do",[416,417,418,426,432,438],"ul",{},[419,420,421,425],"li",{},[422,423,424],"strong",{},"Create Games",": Set up new games ready for playtesting",[419,427,428,431],{},[422,429,430],{},"Upload Assets",": Add images and other media that power your components",[419,433,434,437],{},[422,435,436],{},"Create Components",": Define tiles, decks, tokens, boards, and other game pieces",[419,439,440,443],{},[422,441,442],{},"Manage Your Data",": List and organize your games and components through the API",[411,445,447],{"id":446},"base-url","Base URL",[407,449,450],{},"All API requests use this base URL:",[452,453,458],"pre",{"className":454,"code":456,"language":457},[455],"language-text","https:\u002F\u002Fplaytestparlor.com\u002Fapi\u002Fv1\u002F\n","text",[459,460,456],"code",{"__ignoreMap":461},"",[411,463,25],{"id":464},"authentication",[407,466,467],{},"All requests must include an OAuth2 bearer token:",[452,469,472],{"className":470,"code":471,"language":457},[455],"Authorization: Bearer pp_your_token_here\n",[459,473,471],{"__ignoreMap":461},[407,475,476,477,480],{},"See ",[478,479,25],"a",{"href":26}," for the complete flow.",[411,482,484],{"id":483},"quick-start","Quick Start",[486,487,489],"h3",{"id":488},"_1-register-your-app","1. Register Your App",[407,491,492,493,497,498,501],{},"Go to ",[478,494,496],{"href":495},"\u002Fsettings\u002Fdeveloper-apps","Settings > Developer Apps"," to register a new application. You will receive a ",[459,499,500],{},"client_id",".",[486,503,505],{"id":504},"_2-get-a-token","2. Get a Token",[407,507,508],{},"Redirect your user to:",[452,510,513],{"className":511,"code":512,"language":457},[455],"https:\u002F\u002Fplaytestparlor.com\u002Fauthorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&state=STATE\n",[459,514,512],{"__ignoreMap":461},[407,516,517,518,521,522,524],{},"After they approve, exchange the code for a token via ",[459,519,520],{},"POST \u002Fapi\u002Fv1\u002Ftoken",". See ",[478,523,25],{"href":26}," for details.",[486,526,528],{"id":527},"_3-create-a-game","3. Create a Game",[452,530,534],{"className":531,"code":532,"language":533,"meta":461,"style":461},"language-bash shiki shiki-themes github-light github-dark","curl -X POST https:\u002F\u002Fplaytestparlor.com\u002Fapi\u002Fv1\u002Fgames \\\n  -H \"Authorization: Bearer pp_your_token\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"My Game\"\n  }'\n","bash",[459,535,536,558,568,577,585,590],{"__ignoreMap":461},[537,538,540,544,548,552,555],"span",{"class":539,"line":28},"line",[537,541,543],{"class":542},"sScJk","curl",[537,545,547],{"class":546},"sj4cs"," -X",[537,549,551],{"class":550},"sZZnC"," POST",[537,553,554],{"class":550}," https:\u002F\u002Fplaytestparlor.com\u002Fapi\u002Fv1\u002Fgames",[537,556,557],{"class":546}," \\\n",[537,559,560,563,566],{"class":539,"line":43},[537,561,562],{"class":546},"  -H",[537,564,565],{"class":550}," \"Authorization: Bearer pp_your_token\"",[537,567,557],{"class":546},[537,569,570,572,575],{"class":539,"line":23},[537,571,562],{"class":546},[537,573,574],{"class":550}," \"Content-Type: application\u002Fjson\"",[537,576,557],{"class":546},[537,578,579,582],{"class":539,"line":33},[537,580,581],{"class":546},"  -d",[537,583,584],{"class":550}," '{\n",[537,586,587],{"class":539,"line":38},[537,588,589],{"class":550},"    \"name\": \"My Game\"\n",[537,591,592],{"class":539,"line":327},[537,593,594],{"class":550},"  }'\n",[486,596,598],{"id":597},"_4-upload-assets","4. Upload Assets",[407,600,601,602,501],{},"Use the three-step presigned URL flow to upload images and media. See ",[478,603,604],{"href":21},"Assets",[486,606,608],{"id":607},"_5-create-components","5. Create Components",[407,610,611,612,501],{},"Batch create tiles, decks, tokens, and other pieces. See ",[478,613,614],{"href":31},"Components",[411,616,618],{"id":617},"api-endpoints","API Endpoints",[620,621,622,638],"table",{},[623,624,625],"thead",{},[626,627,628,632,635],"tr",{},[629,630,631],"th",{},"Endpoint",[629,633,634],{},"Method",[629,636,637],{},"Description",[639,640,641,655,668,679,691,703,715,728,740,751,763,775],"tbody",{},[626,642,643,649,652],{},[644,645,646],"td",{},[459,647,648],{},"\u002Ftoken",[644,650,651],{},"POST",[644,653,654],{},"Exchange auth code for bearer token",[626,656,657,662,665],{},[644,658,659],{},[459,660,661],{},"\u002Fgames",[644,663,664],{},"GET",[644,666,667],{},"List your games",[626,669,670,674,676],{},[644,671,672],{},[459,673,661],{},[644,675,651],{},[644,677,678],{},"Create a new game",[626,680,681,686,688],{},[644,682,683],{},[459,684,685],{},"\u002Fgames\u002F:gameId\u002Fassets\u002Fpresign",[644,687,651],{},[644,689,690],{},"Request presigned URL for asset upload",[626,692,693,698,700],{},[644,694,695],{},[459,696,697],{},"\u002Fgames\u002F:gameId\u002Fassets\u002Fupload-complete",[644,699,651],{},[644,701,702],{},"Confirm asset upload",[626,704,705,710,712],{},[644,706,707],{},[459,708,709],{},"\u002Fgames\u002F:gameId\u002Fassets",[644,711,664],{},[644,713,714],{},"List assets for a game",[626,716,717,722,725],{},[644,718,719],{},[459,720,721],{},"\u002Fgames\u002F:gameId\u002Fassets\u002F:assetId",[644,723,724],{},"DELETE",[644,726,727],{},"Delete an asset",[626,729,730,735,737],{},[644,731,732],{},[459,733,734],{},"\u002Fgames\u002F:gameId\u002Fcomponents",[644,736,664],{},[644,738,739],{},"List components for a game",[626,741,742,746,748],{},[644,743,744],{},[459,745,734],{},[644,747,651],{},[644,749,750],{},"Create a single component (auto-enqueues image derivation)",[626,752,753,758,760],{},[644,754,755],{},[459,756,757],{},"\u002Fgames\u002F:gameId\u002Fcomponents\u002Fbatch",[644,759,651],{},[644,761,762],{},"Batch create components (auto-enqueues image derivation)",[626,764,765,770,772],{},[644,766,767],{},[459,768,769],{},"\u002Fgames\u002F:gameId\u002Fcomponents\u002F:componentId",[644,771,724],{},[644,773,774],{},"Delete a component",[626,776,777,781,783],{},[644,778,779],{},[459,780,757],{},[644,782,724],{},[644,784,785],{},"Delete all components",[411,787,789],{"id":788},"rate-limits","Rate Limits",[407,791,792,793,796],{},"The API enforces rate limits to ensure stability for all users. See ",[478,794,795],{"href":36},"Errors"," for the complete rate limits table.",[411,798,35],{"id":799},"error-handling",[407,801,802,803,805],{},"All errors follow a consistent format with a structured error code and message. See ",[478,804,795],{"href":36}," for details on error codes and HTTP status codes.",[411,807,809],{"id":808},"whats-next","What's Next?",[416,811,812,818,824,829],{},[419,813,814,815],{},"Learn the ",[478,816,817],{"href":26},"Authentication flow",[419,819,820,821],{},"Explore ",[478,822,823],{"href":41},"Games endpoints",[419,825,826,827],{},"Upload assets with the ",[478,828,20],{"href":21},[419,830,831,832],{},"Create components with the ",[478,833,30],{"href":31},[835,836,837],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":461,"searchDepth":43,"depth":43,"links":839},[840,841,842,843,850,851,852,853],{"id":413,"depth":43,"text":414},{"id":446,"depth":43,"text":447},{"id":464,"depth":43,"text":25},{"id":483,"depth":43,"text":484,"children":844},[845,846,847,848,849],{"id":488,"depth":23,"text":489},{"id":504,"depth":23,"text":505},{"id":527,"depth":23,"text":528},{"id":597,"depth":23,"text":598},{"id":607,"depth":23,"text":608},{"id":617,"depth":43,"text":618},{"id":788,"depth":43,"text":789},{"id":799,"depth":43,"text":35},{"id":808,"depth":43,"text":809},"Integrate Playtest Parlor with your board game design tools. Create games, upload assets, and manage components programmatically.","md",{},{"order":18},{"title":13,"description":854},"IOcyKjg2KgDpAPodPuPdc-hbGWMBHO-aDfO0bl2WK80",1778263810331]