[{"data":1,"prerenderedAt":851},["ShallowReactive",2],{"navigation":3,"\u002Fgraphql-api\u002Fguides\u002Fupcoming-renewals":99,"\u002Fgraphql-api\u002Fguides\u002Fupcoming-renewals-surround":846},[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":40,"body":101,"dateModified":836,"datePublished":836,"description":837,"extension":838,"links":839,"meta":840,"navigation":841,"path":41,"seo":842,"stem":42,"__hash__":845},"docs\u002F2.graphql-api\u002F4.guides\u002F3.upcoming-renewals.md",{"type":102,"value":103,"toc":831},"minimark",[104,113,118,671,674,765,769,776,783,787,827],[105,106,107,108,112],"p",{},"Use ",[109,110,111],"code",{},"licensePlans"," to retrieve plans whose contract-renewal dates fall inside a planning window.",[114,115,117],"h2",{"id":116},"request","Request",[119,120,125],"pre",{"className":121,"code":122,"language":123,"meta":124,"style":124},"language-graphql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","query UpcomingRenewals($from: Date!, $to: Date!, $first: Int!, $after: String) {\n  licensePlans(\n    first: $first\n    after: $after\n    where: {\n      contractDetails: {\n        renewal: {\n          upcomingDate: {\n            value: {\n              gte: $from\n              lte: $to\n            }\n          }\n        }\n      }\n    }\n    order: {\n      contractDetails: {\n        renewal: {\n          upcomingDate: {\n            value: ASC\n          }\n        }\n      }\n    }\n  ) {\n    nodes {\n      id\n      name\n      integration {\n        id\n        name\n      }\n      contractDetails {\n        type\n        renewal {\n          upcomingDate {\n            value\n            origin\n          }\n          terminationPeriod {\n            value\n            origin\n          }\n        }\n      }\n      pricingStats {\n        annualCost\n        currency\n        potentialSaving {\n          amount\n          percentage\n        }\n      }\n      usageStats {\n        total\n        inUse {\n          total\n        }\n        unused {\n          total\n        }\n      }\n    }\n    pageInfo {\n      hasNextPage\n      endCursor\n    }\n  }\n}\n","graphql","",[109,126,127,191,197,208,219,230,241,251,261,271,282,293,299,305,311,317,323,333,342,351,360,370,375,380,385,390,398,406,412,418,426,432,438,443,451,457,465,473,479,485,490,498,503,508,513,518,523,531,537,543,551,557,563,568,573,581,587,595,601,606,614,619,624,629,634,642,648,654,659,665],{"__ignoreMap":124},[128,129,132,136,140,144,148,151,155,158,161,163,165,167,170,172,175,177,180,182,185,188],"span",{"class":130,"line":131},"line",1,[128,133,135],{"class":134},"sMK4o","query",[128,137,139],{"class":138},"s2Zo4"," UpcomingRenewals",[128,141,143],{"class":142},"sTEyZ","(",[128,145,147],{"class":146},"sHdIc","$from",[128,149,150],{"class":134},":",[128,152,154],{"class":153},"sBMFI"," Date",[128,156,157],{"class":134},"!,",[128,159,160],{"class":146}," $to",[128,162,150],{"class":134},[128,164,154],{"class":153},[128,166,157],{"class":134},[128,168,169],{"class":146}," $first",[128,171,150],{"class":134},[128,173,174],{"class":153}," Int",[128,176,157],{"class":134},[128,178,179],{"class":146}," $after",[128,181,150],{"class":134},[128,183,184],{"class":153}," String",[128,186,187],{"class":142},") ",[128,189,190],{"class":134},"{\n",[128,192,194],{"class":130,"line":193},2,[128,195,196],{"class":142},"  licensePlans(\n",[128,198,200,203,205],{"class":130,"line":199},3,[128,201,202],{"class":146},"    first",[128,204,150],{"class":134},[128,206,207],{"class":142}," $first\n",[128,209,211,214,216],{"class":130,"line":210},4,[128,212,213],{"class":146},"    after",[128,215,150],{"class":134},[128,217,218],{"class":142}," $after\n",[128,220,222,225,227],{"class":130,"line":221},5,[128,223,224],{"class":146},"    where",[128,226,150],{"class":134},[128,228,229],{"class":142}," {\n",[128,231,233,237,239],{"class":130,"line":232},6,[128,234,236],{"class":235},"sfazB","      contractDetails",[128,238,150],{"class":134},[128,240,229],{"class":142},[128,242,244,247,249],{"class":130,"line":243},7,[128,245,246],{"class":235},"        renewal",[128,248,150],{"class":134},[128,250,229],{"class":142},[128,252,254,257,259],{"class":130,"line":253},8,[128,255,256],{"class":235},"          upcomingDate",[128,258,150],{"class":134},[128,260,229],{"class":142},[128,262,264,267,269],{"class":130,"line":263},9,[128,265,266],{"class":235},"            value",[128,268,150],{"class":134},[128,270,229],{"class":142},[128,272,274,277,279],{"class":130,"line":273},10,[128,275,276],{"class":235},"              gte",[128,278,150],{"class":134},[128,280,281],{"class":142}," $from\n",[128,283,285,288,290],{"class":130,"line":284},11,[128,286,287],{"class":235},"              lte",[128,289,150],{"class":134},[128,291,292],{"class":142}," $to\n",[128,294,296],{"class":130,"line":295},12,[128,297,298],{"class":142},"            }\n",[128,300,302],{"class":130,"line":301},13,[128,303,304],{"class":142},"          }\n",[128,306,308],{"class":130,"line":307},14,[128,309,310],{"class":142},"        }\n",[128,312,314],{"class":130,"line":313},15,[128,315,316],{"class":142},"      }\n",[128,318,320],{"class":130,"line":319},16,[128,321,322],{"class":142},"    }\n",[128,324,326,329,331],{"class":130,"line":325},17,[128,327,328],{"class":146},"    order",[128,330,150],{"class":134},[128,332,229],{"class":142},[128,334,336,338,340],{"class":130,"line":335},18,[128,337,236],{"class":235},[128,339,150],{"class":134},[128,341,229],{"class":142},[128,343,345,347,349],{"class":130,"line":344},19,[128,346,246],{"class":235},[128,348,150],{"class":134},[128,350,229],{"class":142},[128,352,354,356,358],{"class":130,"line":353},20,[128,355,256],{"class":235},[128,357,150],{"class":134},[128,359,229],{"class":142},[128,361,363,365,367],{"class":130,"line":362},21,[128,364,266],{"class":235},[128,366,150],{"class":134},[128,368,369],{"class":142}," ASC\n",[128,371,373],{"class":130,"line":372},22,[128,374,304],{"class":142},[128,376,378],{"class":130,"line":377},23,[128,379,310],{"class":142},[128,381,383],{"class":130,"line":382},24,[128,384,316],{"class":142},[128,386,388],{"class":130,"line":387},25,[128,389,322],{"class":142},[128,391,393,396],{"class":130,"line":392},26,[128,394,395],{"class":142},"  ) ",[128,397,190],{"class":134},[128,399,401,404],{"class":130,"line":400},27,[128,402,403],{"class":142},"    nodes ",[128,405,190],{"class":134},[128,407,409],{"class":130,"line":408},28,[128,410,411],{"class":142},"      id\n",[128,413,415],{"class":130,"line":414},29,[128,416,417],{"class":142},"      name\n",[128,419,421,424],{"class":130,"line":420},30,[128,422,423],{"class":142},"      integration ",[128,425,190],{"class":134},[128,427,429],{"class":130,"line":428},31,[128,430,431],{"class":142},"        id\n",[128,433,435],{"class":130,"line":434},32,[128,436,437],{"class":142},"        name\n",[128,439,441],{"class":130,"line":440},33,[128,442,316],{"class":134},[128,444,446,449],{"class":130,"line":445},34,[128,447,448],{"class":142},"      contractDetails ",[128,450,190],{"class":134},[128,452,454],{"class":130,"line":453},35,[128,455,456],{"class":142},"        type\n",[128,458,460,463],{"class":130,"line":459},36,[128,461,462],{"class":142},"        renewal ",[128,464,190],{"class":134},[128,466,468,471],{"class":130,"line":467},37,[128,469,470],{"class":142},"          upcomingDate ",[128,472,190],{"class":134},[128,474,476],{"class":130,"line":475},38,[128,477,478],{"class":142},"            value\n",[128,480,482],{"class":130,"line":481},39,[128,483,484],{"class":142},"            origin\n",[128,486,488],{"class":130,"line":487},40,[128,489,304],{"class":134},[128,491,493,496],{"class":130,"line":492},41,[128,494,495],{"class":142},"          terminationPeriod ",[128,497,190],{"class":134},[128,499,501],{"class":130,"line":500},42,[128,502,478],{"class":142},[128,504,506],{"class":130,"line":505},43,[128,507,484],{"class":142},[128,509,511],{"class":130,"line":510},44,[128,512,304],{"class":134},[128,514,516],{"class":130,"line":515},45,[128,517,310],{"class":134},[128,519,521],{"class":130,"line":520},46,[128,522,316],{"class":134},[128,524,526,529],{"class":130,"line":525},47,[128,527,528],{"class":142},"      pricingStats ",[128,530,190],{"class":134},[128,532,534],{"class":130,"line":533},48,[128,535,536],{"class":142},"        annualCost\n",[128,538,540],{"class":130,"line":539},49,[128,541,542],{"class":142},"        currency\n",[128,544,546,549],{"class":130,"line":545},50,[128,547,548],{"class":142},"        potentialSaving ",[128,550,190],{"class":134},[128,552,554],{"class":130,"line":553},51,[128,555,556],{"class":142},"          amount\n",[128,558,560],{"class":130,"line":559},52,[128,561,562],{"class":142},"          percentage\n",[128,564,566],{"class":130,"line":565},53,[128,567,310],{"class":134},[128,569,571],{"class":130,"line":570},54,[128,572,316],{"class":134},[128,574,576,579],{"class":130,"line":575},55,[128,577,578],{"class":142},"      usageStats ",[128,580,190],{"class":134},[128,582,584],{"class":130,"line":583},56,[128,585,586],{"class":142},"        total\n",[128,588,590,593],{"class":130,"line":589},57,[128,591,592],{"class":142},"        inUse ",[128,594,190],{"class":134},[128,596,598],{"class":130,"line":597},58,[128,599,600],{"class":142},"          total\n",[128,602,604],{"class":130,"line":603},59,[128,605,310],{"class":134},[128,607,609,612],{"class":130,"line":608},60,[128,610,611],{"class":142},"        unused ",[128,613,190],{"class":134},[128,615,617],{"class":130,"line":616},61,[128,618,600],{"class":142},[128,620,622],{"class":130,"line":621},62,[128,623,310],{"class":134},[128,625,627],{"class":130,"line":626},63,[128,628,316],{"class":134},[128,630,632],{"class":130,"line":631},64,[128,633,322],{"class":134},[128,635,637,640],{"class":130,"line":636},65,[128,638,639],{"class":142},"    pageInfo ",[128,641,190],{"class":134},[128,643,645],{"class":130,"line":644},66,[128,646,647],{"class":142},"      hasNextPage\n",[128,649,651],{"class":130,"line":650},67,[128,652,653],{"class":142},"      endCursor\n",[128,655,657],{"class":130,"line":656},68,[128,658,322],{"class":134},[128,660,662],{"class":130,"line":661},69,[128,663,664],{"class":134},"  }\n",[128,666,668],{"class":130,"line":667},70,[128,669,670],{"class":134},"}\n",[105,672,673],{},"Example variables for a 90-day planning window:",[119,675,679],{"className":676,"code":677,"language":678,"meta":124,"style":124},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"from\": \"2026-08-01\",\n  \"to\": \"2026-10-31\",\n  \"first\": 50,\n  \"after\": null\n}\n","json",[109,680,681,685,710,730,747,761],{"__ignoreMap":124},[128,682,683],{"class":130,"line":131},[128,684,190],{"class":134},[128,686,687,690,694,697,699,702,705,707],{"class":130,"line":193},[128,688,689],{"class":134},"  \"",[128,691,693],{"class":692},"spNyl","from",[128,695,696],{"class":134},"\"",[128,698,150],{"class":134},[128,700,701],{"class":134}," \"",[128,703,704],{"class":235},"2026-08-01",[128,706,696],{"class":134},[128,708,709],{"class":134},",\n",[128,711,712,714,717,719,721,723,726,728],{"class":130,"line":199},[128,713,689],{"class":134},[128,715,716],{"class":692},"to",[128,718,696],{"class":134},[128,720,150],{"class":134},[128,722,701],{"class":134},[128,724,725],{"class":235},"2026-10-31",[128,727,696],{"class":134},[128,729,709],{"class":134},[128,731,732,734,737,739,741,745],{"class":130,"line":210},[128,733,689],{"class":134},[128,735,736],{"class":692},"first",[128,738,696],{"class":134},[128,740,150],{"class":134},[128,742,744],{"class":743},"sbssI"," 50",[128,746,709],{"class":134},[128,748,749,751,754,756,758],{"class":130,"line":221},[128,750,689],{"class":134},[128,752,753],{"class":692},"after",[128,755,696],{"class":134},[128,757,150],{"class":134},[128,759,760],{"class":134}," null\n",[128,762,763],{"class":130,"line":232},[128,764,670],{"class":134},[114,766,768],{"id":767},"plan-the-renewal","Plan the renewal",[105,770,771,772,775],{},"Use the renewal date together with ",[109,773,774],{},"terminationPeriod"," to calculate the practical decision deadline. Review pricing and usage before that deadline so procurement has time to validate seats, negotiate terms, or cancel.",[105,777,778,779,782],{},"The ",[109,780,781],{},"origin"," fields indicate where contract values came from. Treat manually entered and integrated data according to your organization’s data-quality process.",[114,784,786],{"id":785},"related-reference","Related reference",[788,789,790,800,809,818],"ul",{},[791,792,793],"li",{},[794,795,797,799],"a",{"href":796},"\u002Fgql-schema-reference\u002Flicenses#licenseplans-query",[109,798,111],{}," query",[791,801,802],{},[794,803,805,808],{"href":804},"\u002Fgql-schema-reference\u002Flicenses#licenseplanfilterinput-input",[109,806,807],{},"LicensePlanFilterInput"," input",[791,810,811],{},[794,812,814,817],{"href":813},"\u002Fgql-schema-reference\u002Flicenses#contractrenewal-object",[109,815,816],{},"ContractRenewal"," type",[791,819,820],{},[794,821,823,826],{"href":822},"\u002Fgql-schema-reference\u002Fcommon#date-scalar",[109,824,825],{},"Date"," scalar",[828,829,830],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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}",{"title":124,"searchDepth":131,"depth":193,"links":832},[833,834,835],{"id":116,"depth":193,"text":117},{"id":767,"depth":193,"text":768},{"id":785,"depth":193,"text":786},"2026-07-30","Query and sort SaaS license plans by upcoming contract-renewal date.","md",null,{},true,{"title":843,"description":844},"Retrieve Upcoming SaaS Renewals with the Viio GraphQL API","Filter Viio license plans by renewal window and retrieve contract dates, termination periods, pricing, and usage.","xlGxiF_b2r9nM5er5pchy3Ta-MNfGmgt2-XG0V0R9lM",[847,849],{"title":36,"path":37,"stem":38,"description":848,"children":-1},"Query unused licenses and potential annual savings from your Viio workspace.",{"title":44,"path":45,"stem":46,"description":850,"children":-1},"Handle transport, GraphQL, partial-data, authentication, and mutation errors safely.",1787319038267]