[{"data":1,"prerenderedAt":995},["ShallowReactive",2],{"navigation":3,"\u002Fgraphql-api":99,"\u002Fgraphql-api-surround":990},[4,16,52,71,91],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11],{"title":10,"path":6,"stem":7,"children":-1},"Introduction",{"title":12,"path":13,"stem":14,"children":-1},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F2.authentication","i-lucide-rocket",{"title":17,"path":18,"stem":19,"children":20,"icon":51},"GraphQL API","\u002Fgraphql-api","2.graphql-api\u002F1.index",[21,23,27,31,35,39,43,47],{"title":22,"path":18,"stem":19,"children":-1},"API Overview",{"title":24,"path":25,"stem":26,"children":-1},"Querying Patterns","\u002Fgraphql-api\u002Fquerying","2.graphql-api\u002F2.querying",{"title":28,"path":29,"stem":30,"children":-1},"Mutation Patterns","\u002Fgraphql-api\u002Fmutations","2.graphql-api\u002F3.mutations",{"title":32,"path":33,"stem":34,"children":-1},"List SaaS Applications","\u002Fgraphql-api\u002Fguides\u002Flist-applications","2.graphql-api\u002F4.guides\u002F1.list-applications",{"title":36,"path":37,"stem":38,"children":-1},"Find Unused Licenses","\u002Fgraphql-api\u002Fguides\u002Ffind-unused-licenses","2.graphql-api\u002F4.guides\u002F2.find-unused-licenses",{"title":40,"path":41,"stem":42,"children":-1},"Retrieve Upcoming Renewals","\u002Fgraphql-api\u002Fguides\u002Fupcoming-renewals","2.graphql-api\u002F4.guides\u002F3.upcoming-renewals",{"title":44,"path":45,"stem":46,"children":-1},"Handle GraphQL Errors","\u002Fgraphql-api\u002Fguides\u002Fhandle-errors","2.graphql-api\u002F4.guides\u002F4.handle-errors",{"title":48,"path":49,"icon":50},"API Reference","\u002Fgql-schema-reference","i-lucide-file-code","i-lucide-braces",{"title":53,"path":54,"stem":55,"children":56,"icon":70},"Sync API","\u002Fsync-api","3.sync-api\u002F1.index",[57,59,63,67],{"title":58,"path":54,"stem":55,"children":-1},"Viio Sync API",{"title":60,"path":61,"stem":62,"children":-1},"Quickstart","\u002Fsync-api\u002Fquickstart","3.sync-api\u002F2.quickstart",{"title":64,"path":65,"icon":66},"Examples","\u002Fsync-api\u002Faws-lambda-python","i-lucide-code-xml",{"title":68,"path":69,"icon":50},"SDK Reference","\u002Fsync-api\u002Fapi-reference","i-lucide-refresh-cw",{"title":72,"path":73,"stem":74,"children":75,"icon":90},"MCP Server","\u002Fmcp-server","4.mcp-server\u002F1.index",[76,78,82,86],{"title":77,"path":73,"stem":74,"children":-1},"Viio MCP Server",{"title":79,"path":80,"stem":81,"children":-1},"Setup","\u002Fmcp-server\u002Fsetup","4.mcp-server\u002F2.setup",{"title":83,"path":84,"stem":85,"children":-1},"Available Tools","\u002Fmcp-server\u002Ftools","4.mcp-server\u002F3.tools",{"title":87,"path":88,"stem":89,"children":-1},"SaaS Analysis Use Cases","\u002Fmcp-server\u002Fuse-cases","4.mcp-server\u002F4.use-cases","i-lucide-bot",{"title":92,"path":93,"stem":94,"children":95,"icon":98},"AI Integration","\u002Fai","5.ai\u002F1.index",[96],{"title":97,"path":93,"stem":94,"children":-1},"llms.txt","i-lucide-sparkles",{"id":100,"title":22,"body":101,"dateModified":979,"datePublished":980,"description":981,"extension":982,"links":983,"meta":984,"navigation":985,"path":18,"seo":986,"stem":19,"__hash__":989},"docs\u002F2.graphql-api\u002F1.index.md",{"type":102,"value":103,"toc":969},"minimark",[104,108,113,116,127,131,134,274,277,281,289,367,372,686,690,693,710,717,721,730,877,880,939,943,965],[105,106,107],"p",{},"The Viio GraphQL API is the primary interface for programmatic access to your SaaS management data.",[109,110,112],"h2",{"id":111},"endpoint","Endpoint",[105,114,115],{},"All GraphQL requests are sent to a single endpoint:",[117,118,123],"pre",{"className":119,"code":121,"language":122},[120],"language-text","POST https:\u002F\u002Fapi.viio.io\u002Fgraphql\n","text",[124,125,121],"code",{"__ignoreMap":126},"",[109,128,130],{"id":129},"why-graphql","Why GraphQL?",[105,132,133],{},"GraphQL lets you request exactly the data you need in a single request. Instead of calling multiple REST endpoints, you describe the shape of the data you want and the API returns it.",[117,135,139],{"className":136,"code":137,"language":138,"meta":126,"style":126},"language-graphql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","query {\n  licenses(first: 5) {\n    nodes {\n      state\n      annualPrice {\n        currency\n        amount\n      }\n      plan {\n        name\n        integration {\n          name\n        }\n      }\n    }\n  }\n}\n","graphql",[124,140,141,153,177,185,191,199,205,211,217,225,231,239,245,251,256,262,268],{"__ignoreMap":126},[142,143,146,150],"span",{"class":144,"line":145},"line",1,[142,147,149],{"class":148},"sMK4o","query",[142,151,152],{"class":148}," {\n",[142,154,156,160,164,167,171,174],{"class":144,"line":155},2,[142,157,159],{"class":158},"sTEyZ","  licenses(",[142,161,163],{"class":162},"sHdIc","first",[142,165,166],{"class":148},":",[142,168,170],{"class":169},"sbssI"," 5",[142,172,173],{"class":158},") ",[142,175,176],{"class":148},"{\n",[142,178,180,183],{"class":144,"line":179},3,[142,181,182],{"class":158},"    nodes ",[142,184,176],{"class":148},[142,186,188],{"class":144,"line":187},4,[142,189,190],{"class":158},"      state\n",[142,192,194,197],{"class":144,"line":193},5,[142,195,196],{"class":158},"      annualPrice ",[142,198,176],{"class":148},[142,200,202],{"class":144,"line":201},6,[142,203,204],{"class":158},"        currency\n",[142,206,208],{"class":144,"line":207},7,[142,209,210],{"class":158},"        amount\n",[142,212,214],{"class":144,"line":213},8,[142,215,216],{"class":148},"      }\n",[142,218,220,223],{"class":144,"line":219},9,[142,221,222],{"class":158},"      plan ",[142,224,176],{"class":148},[142,226,228],{"class":144,"line":227},10,[142,229,230],{"class":158},"        name\n",[142,232,234,237],{"class":144,"line":233},11,[142,235,236],{"class":158},"        integration ",[142,238,176],{"class":148},[142,240,242],{"class":144,"line":241},12,[142,243,244],{"class":158},"          name\n",[142,246,248],{"class":144,"line":247},13,[142,249,250],{"class":148},"        }\n",[142,252,254],{"class":144,"line":253},14,[142,255,216],{"class":148},[142,257,259],{"class":144,"line":258},15,[142,260,261],{"class":148},"    }\n",[142,263,265],{"class":144,"line":264},16,[142,266,267],{"class":148},"  }\n",[142,269,271],{"class":144,"line":270},17,[142,272,273],{"class":148},"}\n",[105,275,276],{},"This single query returns the first 5 licenses with their pricing, plan, and the plan's integration — something that would require multiple requests with a traditional REST API.",[109,278,280],{"id":279},"making-your-first-request","Making Your First Request",[105,282,283,284,288],{},"Make sure you have an ",[285,286,287],"a",{"href":13},"API key",", then send a query:",[117,290,294],{"className":291,"code":292,"language":293,"meta":126,"style":126},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.viio.io\u002Fgraphql \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: YOUR_API_KEY\" \\\n  -d '{\n    \"query\": \"{ applications(first: 3) { nodes { id state application { name } } }\"\n  }'\n","bash",[124,295,296,315,331,344,354,359],{"__ignoreMap":126},[142,297,298,302,306,309,312],{"class":144,"line":145},[142,299,301],{"class":300},"sBMFI","curl",[142,303,305],{"class":304},"sfazB"," -X",[142,307,308],{"class":304}," POST",[142,310,311],{"class":304}," https:\u002F\u002Fapi.viio.io\u002Fgraphql",[142,313,314],{"class":158}," \\\n",[142,316,317,320,323,326,329],{"class":144,"line":155},[142,318,319],{"class":304},"  -H",[142,321,322],{"class":148}," \"",[142,324,325],{"class":304},"Content-Type: application\u002Fjson",[142,327,328],{"class":148},"\"",[142,330,314],{"class":158},[142,332,333,335,337,340,342],{"class":144,"line":179},[142,334,319],{"class":304},[142,336,322],{"class":148},[142,338,339],{"class":304},"Authorization: YOUR_API_KEY",[142,341,328],{"class":148},[142,343,314],{"class":158},[142,345,346,349,352],{"class":144,"line":187},[142,347,348],{"class":304},"  -d",[142,350,351],{"class":148}," '",[142,353,176],{"class":304},[142,355,356],{"class":144,"line":193},[142,357,358],{"class":304},"    \"query\": \"{ applications(first: 3) { nodes { id state application { name } } }\"\n",[142,360,361,364],{"class":144,"line":201},[142,362,363],{"class":304},"  }",[142,365,366],{"class":148},"'\n",[368,369,371],"h3",{"id":370},"response","Response",[117,373,377],{"className":374,"code":375,"language":376,"meta":126,"style":126},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"data\": {\n    \"applications\": {\n      \"nodes\": [\n        {\n          \"id\": \"6650a3f1e4b0...\",\n          \"state\": \"SANCTIONED\",\n          \"application\": { \"name\": \"Slack\" }\n        },\n        {\n          \"id\": \"6650a3f1e4b1...\",\n          \"state\": \"SANCTIONED\",\n          \"application\": { \"name\": \"GitHub\" }\n        },\n        {\n          \"id\": \"6650a3f1e4b2...\",\n          \"state\": \"DISCOVERED\",\n          \"application\": { \"name\": \"Figma\" }\n        }\n      ]\n    }\n  }\n}\n","json",[124,378,379,383,398,412,427,432,455,475,509,514,518,537,555,584,588,592,611,630,660,665,671,676,681],{"__ignoreMap":126},[142,380,381],{"class":144,"line":145},[142,382,176],{"class":148},[142,384,385,388,392,394,396],{"class":144,"line":155},[142,386,387],{"class":148},"  \"",[142,389,391],{"class":390},"spNyl","data",[142,393,328],{"class":148},[142,395,166],{"class":148},[142,397,152],{"class":148},[142,399,400,403,406,408,410],{"class":144,"line":179},[142,401,402],{"class":148},"    \"",[142,404,405],{"class":300},"applications",[142,407,328],{"class":148},[142,409,166],{"class":148},[142,411,152],{"class":148},[142,413,414,417,420,422,424],{"class":144,"line":187},[142,415,416],{"class":148},"      \"",[142,418,419],{"class":169},"nodes",[142,421,328],{"class":148},[142,423,166],{"class":148},[142,425,426],{"class":148}," [\n",[142,428,429],{"class":144,"line":193},[142,430,431],{"class":148},"        {\n",[142,433,434,437,441,443,445,447,450,452],{"class":144,"line":201},[142,435,436],{"class":148},"          \"",[142,438,440],{"class":439},"swJcz","id",[142,442,328],{"class":148},[142,444,166],{"class":148},[142,446,322],{"class":148},[142,448,449],{"class":304},"6650a3f1e4b0...",[142,451,328],{"class":148},[142,453,454],{"class":148},",\n",[142,456,457,459,462,464,466,468,471,473],{"class":144,"line":207},[142,458,436],{"class":148},[142,460,461],{"class":439},"state",[142,463,328],{"class":148},[142,465,166],{"class":148},[142,467,322],{"class":148},[142,469,470],{"class":304},"SANCTIONED",[142,472,328],{"class":148},[142,474,454],{"class":148},[142,476,477,479,482,484,486,489,491,495,497,499,501,504,506],{"class":144,"line":213},[142,478,436],{"class":148},[142,480,481],{"class":439},"application",[142,483,328],{"class":148},[142,485,166],{"class":148},[142,487,488],{"class":148}," {",[142,490,322],{"class":148},[142,492,494],{"class":493},"su27w","name",[142,496,328],{"class":148},[142,498,166],{"class":148},[142,500,322],{"class":148},[142,502,503],{"class":304},"Slack",[142,505,328],{"class":148},[142,507,508],{"class":148}," }\n",[142,510,511],{"class":144,"line":219},[142,512,513],{"class":148},"        },\n",[142,515,516],{"class":144,"line":227},[142,517,431],{"class":148},[142,519,520,522,524,526,528,530,533,535],{"class":144,"line":233},[142,521,436],{"class":148},[142,523,440],{"class":439},[142,525,328],{"class":148},[142,527,166],{"class":148},[142,529,322],{"class":148},[142,531,532],{"class":304},"6650a3f1e4b1...",[142,534,328],{"class":148},[142,536,454],{"class":148},[142,538,539,541,543,545,547,549,551,553],{"class":144,"line":241},[142,540,436],{"class":148},[142,542,461],{"class":439},[142,544,328],{"class":148},[142,546,166],{"class":148},[142,548,322],{"class":148},[142,550,470],{"class":304},[142,552,328],{"class":148},[142,554,454],{"class":148},[142,556,557,559,561,563,565,567,569,571,573,575,577,580,582],{"class":144,"line":247},[142,558,436],{"class":148},[142,560,481],{"class":439},[142,562,328],{"class":148},[142,564,166],{"class":148},[142,566,488],{"class":148},[142,568,322],{"class":148},[142,570,494],{"class":493},[142,572,328],{"class":148},[142,574,166],{"class":148},[142,576,322],{"class":148},[142,578,579],{"class":304},"GitHub",[142,581,328],{"class":148},[142,583,508],{"class":148},[142,585,586],{"class":144,"line":253},[142,587,513],{"class":148},[142,589,590],{"class":144,"line":258},[142,591,431],{"class":148},[142,593,594,596,598,600,602,604,607,609],{"class":144,"line":264},[142,595,436],{"class":148},[142,597,440],{"class":439},[142,599,328],{"class":148},[142,601,166],{"class":148},[142,603,322],{"class":148},[142,605,606],{"class":304},"6650a3f1e4b2...",[142,608,328],{"class":148},[142,610,454],{"class":148},[142,612,613,615,617,619,621,623,626,628],{"class":144,"line":270},[142,614,436],{"class":148},[142,616,461],{"class":439},[142,618,328],{"class":148},[142,620,166],{"class":148},[142,622,322],{"class":148},[142,624,625],{"class":304},"DISCOVERED",[142,627,328],{"class":148},[142,629,454],{"class":148},[142,631,633,635,637,639,641,643,645,647,649,651,653,656,658],{"class":144,"line":632},18,[142,634,436],{"class":148},[142,636,481],{"class":439},[142,638,328],{"class":148},[142,640,166],{"class":148},[142,642,488],{"class":148},[142,644,322],{"class":148},[142,646,494],{"class":493},[142,648,328],{"class":148},[142,650,166],{"class":148},[142,652,322],{"class":148},[142,654,655],{"class":304},"Figma",[142,657,328],{"class":148},[142,659,508],{"class":148},[142,661,663],{"class":144,"line":662},19,[142,664,250],{"class":148},[142,666,668],{"class":144,"line":667},20,[142,669,670],{"class":148},"      ]\n",[142,672,674],{"class":144,"line":673},21,[142,675,261],{"class":148},[142,677,679],{"class":144,"line":678},22,[142,680,267],{"class":148},[142,682,684],{"class":144,"line":683},23,[142,685,273],{"class":148},[109,687,689],{"id":688},"operations","Operations",[105,691,692],{},"GraphQL defines two main operation types:",[694,695,696,704],"ul",{},[697,698,699,703],"li",{},[700,701,702],"strong",{},"Queries"," — read data without side effects.",[697,705,706,709],{},[700,707,708],{},"Mutations"," — create, update, or delete data.",[105,711,712,713,716],{},"Browse the available queries and their related schema types in the ",[285,714,715],{"href":49},"area-based schema reference",".",[109,718,720],{"id":719},"error-handling","Error Handling",[105,722,723,724,727,728,166],{},"GraphQL errors are returned in the ",[124,725,726],{},"errors"," array alongside any partial ",[124,729,391],{},[117,731,733],{"className":374,"code":732,"language":376,"meta":126,"style":126},"{\n  \"errors\": [\n    {\n      \"message\": \"The current user is not authorized to access this resource.\",\n      \"path\": [\"applications\"],\n      \"extensions\": {\n        \"code\": \"AUTH_NOT_AUTHORIZED\"\n      }\n    }\n  ],\n  \"data\": {\n    \"applications\": null\n  }\n}\n",[124,734,735,739,751,756,776,799,812,831,835,839,844,856,869,873],{"__ignoreMap":126},[142,736,737],{"class":144,"line":145},[142,738,176],{"class":148},[142,740,741,743,745,747,749],{"class":144,"line":155},[142,742,387],{"class":148},[142,744,726],{"class":390},[142,746,328],{"class":148},[142,748,166],{"class":148},[142,750,426],{"class":148},[142,752,753],{"class":144,"line":179},[142,754,755],{"class":148},"    {\n",[142,757,758,760,763,765,767,769,772,774],{"class":144,"line":187},[142,759,416],{"class":148},[142,761,762],{"class":300},"message",[142,764,328],{"class":148},[142,766,166],{"class":148},[142,768,322],{"class":148},[142,770,771],{"class":304},"The current user is not authorized to access this resource.",[142,773,328],{"class":148},[142,775,454],{"class":148},[142,777,778,780,783,785,787,790,792,794,796],{"class":144,"line":193},[142,779,416],{"class":148},[142,781,782],{"class":300},"path",[142,784,328],{"class":148},[142,786,166],{"class":148},[142,788,789],{"class":148}," [",[142,791,328],{"class":148},[142,793,405],{"class":304},[142,795,328],{"class":148},[142,797,798],{"class":148},"],\n",[142,800,801,803,806,808,810],{"class":144,"line":201},[142,802,416],{"class":148},[142,804,805],{"class":300},"extensions",[142,807,328],{"class":148},[142,809,166],{"class":148},[142,811,152],{"class":148},[142,813,814,817,819,821,823,825,828],{"class":144,"line":207},[142,815,816],{"class":148},"        \"",[142,818,124],{"class":169},[142,820,328],{"class":148},[142,822,166],{"class":148},[142,824,322],{"class":148},[142,826,827],{"class":304},"AUTH_NOT_AUTHORIZED",[142,829,830],{"class":148},"\"\n",[142,832,833],{"class":144,"line":213},[142,834,216],{"class":148},[142,836,837],{"class":144,"line":219},[142,838,261],{"class":148},[142,840,841],{"class":144,"line":227},[142,842,843],{"class":148},"  ],\n",[142,845,846,848,850,852,854],{"class":144,"line":233},[142,847,387],{"class":148},[142,849,391],{"class":390},[142,851,328],{"class":148},[142,853,166],{"class":148},[142,855,152],{"class":148},[142,857,858,860,862,864,866],{"class":144,"line":241},[142,859,402],{"class":148},[142,861,405],{"class":300},[142,863,328],{"class":148},[142,865,166],{"class":148},[142,867,868],{"class":148}," null\n",[142,870,871],{"class":144,"line":247},[142,872,267],{"class":148},[142,874,875],{"class":144,"line":253},[142,876,273],{"class":148},[105,878,879],{},"Common error scenarios:",[881,882,883,896],"table",{},[884,885,886],"thead",{},[887,888,889,893],"tr",{},[890,891,892],"th",{},"Scenario",[890,894,895],{},"Example message",[897,898,899,909,919,929],"tbody",{},[887,900,901,905],{},[902,903,904],"td",{},"Invalid or missing API key",[902,906,907],{},[124,908,771],{},[887,910,911,914],{},[902,912,913],{},"Missing required argument",[902,915,916],{},[124,917,918],{},"The argument 'id' is required.",[887,920,921,924],{},[902,922,923],{},"Wrong argument type",[902,925,926],{},[124,927,928],{},"The specified argument value does not match the argument type.",[887,930,931,934],{},[902,932,933],{},"Unknown field",[902,935,936],{},[124,937,938],{},"The field 'foo' does not exist on the type 'Query'.",[109,940,942],{"id":941},"practical-guides","Practical Guides",[694,944,945,950,955,960],{},[697,946,947],{},[285,948,949],{"href":33},"List SaaS applications",[697,951,952],{},[285,953,954],{"href":37},"Find unused licenses",[697,956,957],{},[285,958,959],{"href":41},"Retrieve upcoming renewals",[697,961,962],{},[285,963,964],{"href":45},"Handle GraphQL errors safely",[966,967,968],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}",{"title":126,"searchDepth":145,"depth":155,"links":970},[971,972,973,976,977,978],{"id":111,"depth":155,"text":112},{"id":129,"depth":155,"text":130},{"id":279,"depth":155,"text":280,"children":974},[975],{"id":370,"depth":179,"text":371},{"id":688,"depth":155,"text":689},{"id":719,"depth":155,"text":720},{"id":941,"depth":155,"text":942},"2026-07-30","2026-01-31","Introduction to the Viio GraphQL API — endpoint, available resources, and how to get started.","md",null,{},true,{"title":987,"description":988},"Viio GraphQL API: Endpoint, Authentication and Examples","Start using the Viio GraphQL API with its endpoint, authentication requirements, example queries, operations, and error handling.","6fKlRneBG_OoC0hMKJk5mZT3rkT9h_anmHXwx-pNA3w",[991,993],{"title":12,"path":13,"stem":14,"description":992,"children":-1},"How to authenticate with the Viio API using API keys.",{"title":24,"path":25,"stem":26,"description":994,"children":-1},"Pagination, filtering, and sorting patterns for the Viio GraphQL API.",1787319038267]