{"openapi":"3.1.0","info":{"title":"Netify tool: prepare_council_sdwan_refresh","description":"Prepare a private council refresh brief, conditional question pack, evidence actions, dependency decisions, cost schedule and migration milestones using the same deterministic rules as the page. Stateless: does not save answers, send emails, publish or contact suppliers. Unknowns stay open, missing cost data prevents complete totals; different VAT bases stay separate. No procurement/legal/compliance verdict, supplier recommendation or assumed delivery dates. Do not supply confidential council addresses, topology, credentials or security findings.","version":"1.0.0"},"servers":[{"url":"https://netify.co.uk"}],"paths":{"/api/openapi/prepare_council_sdwan_refresh/":{"post":{"operationId":"prepare_council_sdwan_refresh","description":"Prepare a private council refresh brief, conditional question pack, evidence actions, dependency decisions, cost schedule and migration milestones using the same deterministic rules as the page. Stateless: does not save answers, send emails, publish or contact suppliers. Unknowns stay open, missing cost data prevents complete totals; different VAT bases stay separate. No procurement/legal/compliance verdict, supplier recommendation or assumed delivery dates. Do not supply confidential council addresses, topology, credentials or security findings.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"answers":{"default":{},"type":"object","propertyNames":{"type":"string","enum":["I01","I02","I03","I04","I05","I06","I07","I08","I09","I10","I11","I12","I13","I14","I15","I16","I17","I18","I19","I20","I21","I22","I23","I24","I25","I26"]},"additionalProperties":{"anyOf":[{"type":"string","maxLength":2500},{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}}]}},"costs":{"default":[],"maxItems":16,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^C(0[1-9]|1[0-6])$"},"applicability":{"default":"Unknown","type":"string","enum":["Unknown","Included","Not applicable"]},"quantity":{"anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"rate":{"anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"periods":{"anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"vat":{"default":"Unknown","type":"string","enum":["Excluding VAT","Including VAT","VAT not applicable","Unknown"]},"evidence":{"default":"","type":"string","maxLength":1000}},"required":["id","applicability","vat","evidence"],"additionalProperties":false}},"services":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"service":{"type":"string","maxLength":200},"owner":{"type":"string","maxLength":200},"hours":{"type":"string","maxLength":200},"application":{"type":"string","maxLength":300},"interruption":{"type":"string","maxLength":100},"test":{"type":"string","maxLength":500}},"required":["service","owner","hours","application","interruption","test"],"additionalProperties":false}},"dependencies":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"dependency":{"type":"string","maxLength":200},"owner":{"type":"string","maxLength":200},"decision":{"type":"string","enum":["Keep","Change","Retire","Unknown"]},"evidence":{"type":"string","maxLength":500}},"required":["dependency","owner","decision","evidence"],"additionalProperties":false}},"milestones":{"default":[],"maxItems":12,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^MS(0[1-9]|1[0-2])$"},"durationDays":{"anyOf":[{"type":"number","minimum":0,"maximum":10000000000},{"type":"null"}]},"targetDate":{"default":"","type":"string","maxLength":10},"confidence":{"default":"Unknown","type":"string","enum":["Unknown","High","Medium","Low"]},"note":{"default":"","type":"string","maxLength":500}},"required":["id","targetDate","confidence","note"],"additionalProperties":false}}},"required":["answers","costs","services","dependencies","milestones"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result as JSON.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}