[{"data":1,"prerenderedAt":664},["ShallowReactive",2],{"navigation_docs_en":3,"-en-getting-started-quickstart":110,"-en-getting-started-quickstart-surround":659},[4,20,55,70,90,100],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fen\u002Fgetting-started\u002Fquickstart","en\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":21,"icon":6,"path":22,"stem":23,"children":24,"page":6},"Concepts","\u002Fen\u002Fconcepts","en\u002F2.concepts",[25,30,35,40,45,50],{"title":26,"path":27,"stem":28,"icon":29},"Projects and versions","\u002Fen\u002Fconcepts\u002Fprojects-and-versions","en\u002F2.concepts\u002F1.projects-and-versions","i-lucide-boxes",{"title":31,"path":32,"stem":33,"icon":34},"Config files","\u002Fen\u002Fconcepts\u002Ffiles","en\u002F2.concepts\u002F2.files","i-lucide-file-json",{"title":36,"path":37,"stem":38,"icon":39},"Publishing","\u002Fen\u002Fconcepts\u002Fpublishing","en\u002F2.concepts\u002F3.publishing","i-lucide-send",{"title":41,"path":42,"stem":43,"icon":44},"Access and roles","\u002Fen\u002Fconcepts\u002Faccess","en\u002F2.concepts\u002F4.access","i-lucide-users",{"title":46,"path":47,"stem":48,"icon":49},"Encryption","\u002Fen\u002Fconcepts\u002Fencryption","en\u002F2.concepts\u002F5.encryption","i-lucide-lock",{"title":51,"path":52,"stem":53,"icon":54},"Git integration","\u002Fen\u002Fconcepts\u002Fgit","en\u002F2.concepts\u002F6.git","i-lucide-git-branch",{"title":56,"icon":6,"path":57,"stem":58,"children":59,"page":6},"SDKs","\u002Fen\u002Fsdk","en\u002F3.sdk",[60,65],{"title":61,"path":62,"stem":63,"icon":64},"Node.js","\u002Fen\u002Fsdk\u002Fnodejs","en\u002F3.sdk\u002F1.nodejs","i-simple-icons-nodedotjs",{"title":66,"path":67,"stem":68,"icon":69},"Unity","\u002Fen\u002Fsdk\u002Funity","en\u002F3.sdk\u002F2.unity","i-simple-icons-unity",{"title":71,"icon":6,"path":72,"stem":73,"children":74,"page":6},"API and MCP","\u002Fen\u002Fapi","en\u002F4.api",[75,80,85],{"title":76,"path":77,"stem":78,"icon":79},"API tokens","\u002Fen\u002Fapi\u002Fauthentication","en\u002F4.api\u002F1.authentication","i-lucide-key-round",{"title":81,"path":82,"stem":83,"icon":84},"REST API","\u002Fen\u002Fapi\u002Frest-api","en\u002F4.api\u002F2.rest-api","i-lucide-plug",{"title":86,"path":87,"stem":88,"icon":89},"MCP for AI agents","\u002Fen\u002Fapi\u002Fmcp","en\u002F4.api\u002F3.mcp","i-lucide-bot",{"title":91,"icon":6,"path":92,"stem":93,"children":94,"page":6},"Support","\u002Fen\u002Fsupport","en\u002F5.support",[95],{"title":96,"path":97,"stem":98,"icon":99},"Feedback","\u002Fen\u002Fsupport\u002Ffeedback","en\u002F5.support\u002F1.feedback","i-lucide-message-circle",{"title":101,"icon":6,"path":102,"stem":103,"children":104,"page":6},"Legal","\u002Fen\u002Flegal","en\u002F6.legal",[105],{"title":106,"path":107,"stem":108,"icon":109},"Privacy policy","\u002Fen\u002Flegal\u002Fprivacy","en\u002F6.legal\u002F1.privacy","i-lucide-shield",{"id":111,"title":16,"body":112,"description":650,"extension":651,"links":652,"meta":653,"navigation":654,"path":17,"seo":655,"stem":18,"__hash__":658},"docs_en\u002Fen\u002F1.getting-started\u002F2.quickstart.md",{"type":113,"value":114,"toc":642},"minimark",[115,119,124,136,140,160,164,178,247,251,261,269,273,278,603,607,638],[116,117,118],"p",{},"This walkthrough takes you from an empty account to a config that your app reads from the CDN.",[120,121,123],"h2",{"id":122},"_1-create-a-project","1. Create a project",[116,125,126,127,131,132,135],{},"Sign in, open ",[128,129,130],"strong",{},"All projects"," and choose ",[128,133,134],{},"New project",". A project has a name and an alias. The alias is a short identifier that is safe to use in URLs.",[120,137,139],{"id":138},"_2-add-a-consumer","2. Add a consumer",[116,141,142,143,146,147,151,152,155,156,159],{},"A ",[128,144,145],{},"consumer"," is a client that receives configs, for example ",[148,149,150],"code",{},"game-client"," or ",[148,153,154],{},"backend",". Open ",[128,157,158],{},"Project settings → Consumers"," and add one. A file reaches a consumer only when the file is assigned to it.",[120,161,163],{"id":162},"_3-create-a-file","3. Create a file",[116,165,166,167,170,171,174,175,177],{},"Open ",[128,168,169],{},"File editor"," and create a file, for example ",[148,172,173],{},"settings.json",". Write some content and save. Then assign the file to your consumer in ",[128,176,158],{},".",[179,180,185],"pre",{"className":181,"code":182,"filename":173,"language":183,"meta":184,"style":184},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"maxPlayers\": 8,\n  \"welcomeMessage\": \"Hello!\"\n}\n","json","",[148,186,187,196,219,241],{"__ignoreMap":184},[188,189,192],"span",{"class":190,"line":191},"line",1,[188,193,195],{"class":194},"sMK4o","{\n",[188,197,199,202,206,209,212,216],{"class":190,"line":198},2,[188,200,201],{"class":194},"  \"",[188,203,205],{"class":204},"spNyl","maxPlayers",[188,207,208],{"class":194},"\"",[188,210,211],{"class":194},":",[188,213,215],{"class":214},"sbssI"," 8",[188,217,218],{"class":194},",\n",[188,220,222,224,227,229,231,234,238],{"class":190,"line":221},3,[188,223,201],{"class":194},[188,225,226],{"class":204},"welcomeMessage",[188,228,208],{"class":194},[188,230,211],{"class":194},[188,232,233],{"class":194}," \"",[188,235,237],{"class":236},"sfazB","Hello!",[188,239,240],{"class":194},"\"\n",[188,242,244],{"class":190,"line":243},4,[188,245,246],{"class":194},"}\n",[120,248,250],{"id":249},"_4-publish","4. Publish",[116,252,166,253,256,257,260],{},[128,254,255],{},"Versions",", choose the ",[148,258,259],{},"default"," version and publish it. A live log shows the progress. When it finishes, the CDN holds a release of that version.",[262,263,264,265,268],"note",{},"A version that was never published gives clients nothing. The ",[128,266,267],{},"Integration"," page warns you about this.",[120,270,272],{"id":271},"_5-read-it-from-your-app","5. Read it from your app",[116,274,166,275,277],{},[128,276,267],{},". It shows the CDN URL of your project and ready-to-copy code for your version and consumer.",[279,280,281,535],"tabs",{},[282,283,284],"tabs-item",{"icon":64,"label":61},[179,285,289],{"className":286,"code":287,"language":288,"meta":184,"style":184},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Veresk, VereskEventName } from '@veresk-tool\u002Fnodejs';\n\nconst veresk = new Veresk({\n  cdnUrls: ['\u003CCDN URL>'],\n  version: 'default',\n  consumer: 'backend',\n});\nveresk.on(VereskEventName.Error, (error) => console.error(error));\nawait veresk.init();\n\nconst settings = veresk.getContent\u003C{ maxPlayers: number }>('settings.json');\n","ts",[148,290,291,328,334,356,379,395,411,422,467,486,491],{"__ignoreMap":184},[188,292,293,297,300,304,307,310,313,316,319,322,325],{"class":190,"line":191},[188,294,296],{"class":295},"s7zQu","import",[188,298,299],{"class":194}," {",[188,301,303],{"class":302},"sTEyZ"," Veresk",[188,305,306],{"class":194},",",[188,308,309],{"class":302}," VereskEventName",[188,311,312],{"class":194}," }",[188,314,315],{"class":295}," from",[188,317,318],{"class":194}," '",[188,320,321],{"class":236},"@veresk-tool\u002Fnodejs",[188,323,324],{"class":194},"'",[188,326,327],{"class":194},";\n",[188,329,330],{"class":190,"line":198},[188,331,333],{"emptyLinePlaceholder":332},true,"\n",[188,335,336,339,342,345,348,351,354],{"class":190,"line":221},[188,337,338],{"class":204},"const",[188,340,341],{"class":302}," veresk ",[188,343,344],{"class":194},"=",[188,346,347],{"class":194}," new",[188,349,303],{"class":350},"s2Zo4",[188,352,353],{"class":302},"(",[188,355,195],{"class":194},[188,357,358,362,364,367,369,372,374,377],{"class":190,"line":243},[188,359,361],{"class":360},"swJcz","  cdnUrls",[188,363,211],{"class":194},[188,365,366],{"class":302}," [",[188,368,324],{"class":194},[188,370,371],{"class":236},"\u003CCDN URL>",[188,373,324],{"class":194},[188,375,376],{"class":302},"]",[188,378,218],{"class":194},[188,380,382,385,387,389,391,393],{"class":190,"line":381},5,[188,383,384],{"class":360},"  version",[188,386,211],{"class":194},[188,388,318],{"class":194},[188,390,259],{"class":236},[188,392,324],{"class":194},[188,394,218],{"class":194},[188,396,398,401,403,405,407,409],{"class":190,"line":397},6,[188,399,400],{"class":360},"  consumer",[188,402,211],{"class":194},[188,404,318],{"class":194},[188,406,154],{"class":236},[188,408,324],{"class":194},[188,410,218],{"class":194},[188,412,414,417,420],{"class":190,"line":413},7,[188,415,416],{"class":194},"}",[188,418,419],{"class":302},")",[188,421,327],{"class":194},[188,423,425,428,430,433,436,438,441,443,446,450,452,455,458,460,462,465],{"class":190,"line":424},8,[188,426,427],{"class":302},"veresk",[188,429,177],{"class":194},[188,431,432],{"class":350},"on",[188,434,435],{"class":302},"(VereskEventName",[188,437,177],{"class":194},[188,439,440],{"class":302},"Error",[188,442,306],{"class":194},[188,444,445],{"class":194}," (",[188,447,449],{"class":448},"sHdIc","error",[188,451,419],{"class":194},[188,453,454],{"class":204}," =>",[188,456,457],{"class":302}," console",[188,459,177],{"class":194},[188,461,449],{"class":350},[188,463,464],{"class":302},"(error))",[188,466,327],{"class":194},[188,468,470,473,476,478,481,484],{"class":190,"line":469},9,[188,471,472],{"class":295},"await",[188,474,475],{"class":302}," veresk",[188,477,177],{"class":194},[188,479,480],{"class":350},"init",[188,482,483],{"class":302},"()",[188,485,327],{"class":194},[188,487,489],{"class":190,"line":488},10,[188,490,333],{"emptyLinePlaceholder":332},[188,492,494,496,499,501,503,505,508,511,514,516,520,523,525,527,529,531,533],{"class":190,"line":493},11,[188,495,338],{"class":204},[188,497,498],{"class":302}," settings ",[188,500,344],{"class":194},[188,502,475],{"class":302},[188,504,177],{"class":194},[188,506,507],{"class":350},"getContent",[188,509,510],{"class":194},"\u003C{",[188,512,513],{"class":360}," maxPlayers",[188,515,211],{"class":194},[188,517,519],{"class":518},"sBMFI"," number",[188,521,522],{"class":194}," }>",[188,524,353],{"class":302},[188,526,324],{"class":194},[188,528,173],{"class":236},[188,530,324],{"class":194},[188,532,419],{"class":302},[188,534,327],{"class":194},[282,536,537],{"icon":69,"label":66},[179,538,542],{"className":539,"code":540,"language":541,"meta":184,"style":184},"language-csharp shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","using VereskSDK;\nusing VereskSDK.Models;\n\nVereskAPI.Init(new VereskSetupData\n{\n    BaseUrl = \"\u003CCDN base URL>\",\n    ProjectId = \"\u003Cproject id>\",\n    Version = \"default\",\n    Consumer = \"game-client\",\n});\nvar configs = await VereskAPI.LoadConfigs();\nvar json = configs[\"settings.json\"];\n","csharp",[148,543,544,549,554,558,563,567,572,577,582,587,592,597],{"__ignoreMap":184},[188,545,546],{"class":190,"line":191},[188,547,548],{},"using VereskSDK;\n",[188,550,551],{"class":190,"line":198},[188,552,553],{},"using VereskSDK.Models;\n",[188,555,556],{"class":190,"line":221},[188,557,333],{"emptyLinePlaceholder":332},[188,559,560],{"class":190,"line":243},[188,561,562],{},"VereskAPI.Init(new VereskSetupData\n",[188,564,565],{"class":190,"line":381},[188,566,195],{},[188,568,569],{"class":190,"line":397},[188,570,571],{},"    BaseUrl = \"\u003CCDN base URL>\",\n",[188,573,574],{"class":190,"line":413},[188,575,576],{},"    ProjectId = \"\u003Cproject id>\",\n",[188,578,579],{"class":190,"line":424},[188,580,581],{},"    Version = \"default\",\n",[188,583,584],{"class":190,"line":469},[188,585,586],{},"    Consumer = \"game-client\",\n",[188,588,589],{"class":190,"line":488},[188,590,591],{},"});\n",[188,593,594],{"class":190,"line":493},[188,595,596],{},"var configs = await VereskAPI.LoadConfigs();\n",[188,598,600],{"class":190,"line":599},12,[188,601,602],{},"var json = configs[\"settings.json\"];\n",[120,604,606],{"id":605},"next-steps","Next steps",[608,609,610,618,624,633],"ul",{},[611,612,613,614,177],"li",{},"Understand ",[615,616,617],"a",{"href":27},"versions and inheritance",[611,619,620,621,177],{},"Protect sensitive files with ",[615,622,623],{"href":47},"encryption",[611,625,626,627,629,630,177],{},"Automate publishing with the ",[615,628,81],{"href":82}," or an AI agent over ",[615,631,632],{"href":87},"MCP",[611,634,635,636,177],{},"Questions or problems? See ",[615,637,96],{"href":97},[639,640,641],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":184,"searchDepth":198,"depth":198,"links":643},[644,645,646,647,648,649],{"id":122,"depth":198,"text":123},{"id":138,"depth":198,"text":139},{"id":162,"depth":198,"text":163},{"id":249,"depth":198,"text":250},{"id":271,"depth":198,"text":272},{"id":605,"depth":198,"text":606},"Create a project, publish a config and read it from your app.","md",null,{},{"icon":19},{"title":656,"description":657},"Veresk quickstart","Create a project, add a config file, publish it to the CDN and read it from Node.js or Unity in a few minutes.","c_2B9MptYkTofkh2GlB0xXop0TOsU-6dEXuPVw9uCkg",[660,662],{"title":11,"path":12,"stem":13,"description":661,"icon":14,"children":-1},"What Veresk is, who it is for and how its pieces fit together.",{"title":26,"path":27,"stem":28,"description":663,"icon":29,"children":-1},"The building blocks of Veresk and how versions inherit files from each other.",1793977340581]