{"openapi":"3.1.0","info":{"title":"Netify Reseller Programme for BT Business Broadband, Agent API","version":"1.0.0","description":"REST/OpenAPI mirror of the MCP server at /api/mcp/. Same tools, same outputs, for agents that speak OpenAPI rather than MCP.","contact":{"name":"Netify","url":"https://netify.co.uk","email":"support@netify.com"}},"servers":[{"url":"https://netify.co.uk"}],"paths":{"/api/openapi/get_programme_facts/":{"post":{"summary":"Returns the headline facts about the BT Business Broadband Partner Programme via Netify: commission structure (rates confidential, confirmed in writing at application), eligibility, onboarding time, contract terms, marketplace size, verification links.","operationId":"get_programme_facts","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/list_products/":{"post":{"summary":"Returns the BT business broadband product catalogue available to resellers: FTTP (Full Fibre 100/150/300/500/900), SoGEA (Standard Fibre sub-15/38/76), SoADSL. Includes tier names, retail prices, and contract length availability.","operationId":"list_products","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/estimate_commission/":{"post":{"summary":"Calculates per-deal one-off commission for a single BT Business Broadband reseller scenario, plus the annualised pipeline run-rate at the configured deals-per-month volume. Models the full rate-card spectrum: 3 products (FTTP, SOGEA Standard, Essential SOGEA 76 which sits on its own lower rate), 3 deal types (New, Resign no-change, Upgrade in resign window), Solus vs Bundled-with-Cloud-Voice-Express (Bundled is rated separately with a CVE line paid on top), contract length 36 or 60 months, and optional Threat Protection devices per order at £4.99/device/month retail, commission per the rate card. Returns perDealCommission (one-off paid on install), perDealBreakdown (broadband, CVE, threatProtection components), broadbandContractSov, and annualCommissionAtMonthlyRunRate (perDeal x 12 x dealsPerMonth). Other commissionable products on the programme (SoADSL, BT Cloud Voice, Complete Wi-Fi VAS, CVE migration on resigns, in-life upgrades) exist on the rate card but are not part of this interactive model; see /llms-full.txt for the full rate-card context.","operationId":"estimate_commission","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["fttp","sogea","sogea76"],"description":"Broadband product family. 'fttp' = Full Fibre, 'sogea' = SOGEA Standard 38/76, 'sogea76' = Essential SOGEA 76 (sits on its own lower Solus rate)."},"dealType":{"type":"string","enum":["new","resign","upgrade"],"description":"Deal type. 'new' = new order, 'resign' = resign no-change in resign window or out of contract, 'upgrade' = upgrade in resign window. Each pays to its own schedule on the confidential rate card."},"bundle":{"type":"string","enum":["solus","bundled"],"description":"Bundle. 'solus' = standalone broadband at the headline Solus rate on the confidential rate card. 'bundled' = sold on the same contract as Cloud Voice Express, broadband portion moves to the Bundled rate with CVE paid separately on the CVE portion of SOV."},"contractLengthMonths":{"type":"integer","enum":[36,60],"description":"36 or 60 months only. 12 and 24 month contracts are not part of this programme."},"threatProtectionDevicesPerOrder":{"type":"integer","minimum":0,"maximum":20,"description":"Average Threat Protection devices attached per broadband order. £4.99 per device per month retail; commission per the rate card. Set to 0 to remove."},"dealsPerMonth":{"type":"integer","minimum":0,"maximum":100,"description":"Pipeline volume for the annual run-rate. Set to 1 to read out the single-deal commission; set higher to project a pipeline. annualCommission = perDeal x 12 x dealsPerMonth."}},"required":["product","dealType","bundle","contractLengthMonths"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/check_eligibility/":{"post":{"summary":"Returns a yes/no eligibility signal for a prospective Netify reseller of BT Business services, with reasoning, a specific failing gate when ineligible, and an estimated onboarding timeline. Seven hard gates are evaluated: UK-registered Ltd status (sole traders and unincorporated partnerships are not eligible), business email on a custom domain, physical workspace fit for BT compliance audit, documented Anti-Bribery and Corruption policy, Ofcom General Conditions and UK GDPR adherence, UK-based staff handling customer data, and a named compliance owner inside the reseller business. Route to market (businessType) is informational only, it drives the next-step copy and does not gate the verdict.","operationId":"check_eligibility","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"businessType":{"type":"string","description":"Informational route to market. Drives the next-step copy. Does not gate eligibility on its own (the seven boolean gates below do that). Sole trader and partnership were removed on 2026-06-10 because they were redundant with ukRegisteredLtd.","enum":["msp","it-consultant","telecom-provider","telemarketing","pos-provider","energy-broker","other"]},"ukRegisteredLtd":{"type":"boolean","description":"True if the prospect is a UK-registered Ltd company. Sole traders and unincorporated partnerships are not eligible."},"businessEmailOnCustomDomain":{"type":"boolean","description":"True if the prospect uses a business email on a custom domain. BT rejects Gmail / Outlook.com / Yahoo at application stage."},"physicalWorkspaceAuditReady":{"type":"boolean","description":"True if the prospect has a physical workspace that can be photographed for BT calling-facility audit. Home offices are accepted where they meet the audit criteria."},"abcPolicyDocumented":{"type":"boolean","description":"True if the prospect has a documented written Anti-Bribery and Corruption policy. Required by BT at nomination stage."},"ofcomAndGdprAdherence":{"type":"boolean","description":"True if the prospect has documented adherence to Ofcom General Conditions (particularly C1.6 and C5.16 on Contract Summaries for SME and Not-for-Profit customers) and UK GDPR data-handling controls."},"ukOnlyStaff":{"type":"boolean","description":"True if all staff handling BT customer data are UK-based. Offshore support is treated as a compliance-audit flag at nomination stage."},"namedComplianceOwner":{"type":"boolean","description":"True if a named person inside the reseller business is responsible for Ofcom, UK GDPR and ABC adherence. Can be a director wearing multiple hats, not a dedicated hire."},"currentTelcoCustomers":{"type":"integer","minimum":0},"expectedMonthlySales":{"type":"integer","minimum":0}},"required":["businessType","ukRegisteredLtd"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/get_btnet_facts/":{"post":{"summary":"Returns the headline facts about the BT Business Internet Leased Line Reseller Programme via Netify: first-year commission structure (rates confidential, confirmed at application), contract terms (3 and 5 year), 100% SLA, 5-hour target fix, Cloud Voice cross-sell rate, bandwidth range, eligibility, BT funding for excess construction.","operationId":"get_btnet_facts","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/list_btnet_products/":{"post":{"summary":"Returns the BT Business Internet product catalogue available to resellers: BTnet (Ethernet Fibre leased line, 30Mb-10Gbps), BTnet Data Centre Access (port-only termination inside third-party UK data centres), BTnet Security (Cisco Meraki + AMP + Sourcefire + Webroot), BTnet Wi-Fi (Cisco Meraki Wi-Fi 6). Includes resilience options (Failover / Backup with Quick Connect / Load Balancing) and the Cloud Voice cross-sell rate.","operationId":"list_btnet_products","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/estimate_btnet_commission/":{"post":{"summary":"Calculates projected first-year commission for a BTnet reseller scenario at the headline rate on the confidential rate card, plus term-total commission and per-circuit average. Inputs: monthly new BTnet circuits, contract term in years (3 or 5), per-attach rates (resilience, security, Cloud Voice cross-sell).","operationId":"estimate_btnet_commission","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monthlyCircuits":{"type":"integer","minimum":1,"maximum":60,"description":"New BTnet circuits sold per month."},"contractTermYears":{"type":"integer","enum":[3,5]},"attachRates":{"type":"object","properties":{"resilience":{"type":"integer","minimum":0,"maximum":100,"description":"Percentage of circuits with Failover / Backup / Load Balancing attached."},"security":{"type":"integer","minimum":0,"maximum":100,"description":"Percentage of circuits with BTnet Security attached."},"cloudVoice":{"type":"integer","minimum":0,"maximum":100,"description":"Percentage of circuits with BT Cloud Voice cross-sold."}},"required":["resilience","security","cloudVoice"]}},"required":["monthlyCircuits","contractTermYears","attachRates"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/list_vendors/":{"post":{"summary":"Returns the catalogue of SD-WAN, SASE and connectivity vendors that have a Netify-authored review page on the Vercel marketplace. Use this first to enumerate what is reviewable before calling get_vendor or score_vendor_fit. Each entry includes the canonical HTML URL, the JSON twin URL, the last reviewed date, and the count of capabilities the vendor advertises.","operationId":"list_vendors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/get_vendor/":{"post":{"summary":"Returns the full VendorPage data (hero, company facts, performance / SLA, recognition, capability matrix with stable IDs, strengths, weaknesses, pros/cons, comparisons, pricing, best/less-suited for, FAQs, author, fact-checker, last-reviewed date) for a single marketplace vendor. Use after list_vendors. Capability IDs in the response are the canonical vocabulary to pass into score_vendor_fit.","operationId":"get_vendor","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"slug":{"type":"string","description":"Vendor slug, e.g. \"aryaka\". Discover via list_vendors."}},"required":["slug"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/score_vendor_fit/":{"post":{"summary":"Scores a marketplace vendor against a buyer requirements shortlist. Use when a buyer has expressed concrete needs (e.g. \"must have Universal ZTNA\", \"needs UK PoP\", \"must replace MPLS\") and you want a structured fit answer rather than narrative prose. Returns matched (available natively) / partner (delivered via a named third-party) / future (on roadmap with date) / partial (available with caveats) / unavailable / unknown buckets, plus a shareable URL that pre-loads the same selection in the human-facing capability checker. Unknown requirement IDs do not error, they are returned in fit.unknown so the agent can ask the buyer to clarify.","operationId":"score_vendor_fit","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"slug":{"type":"string","description":"Vendor slug, discover via list_vendors."},"requirements":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","minLength":1},"description":"Capability IDs the buyer cares about. Use get_vendor to discover the canonical IDs per vendor."}},"required":["slug","requirements"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/request_rate_card/":{"post":{"summary":"Request the current BT reseller commission rate card on behalf of a prospective reseller who has explicitly asked for it. Commission rates are confidential to the partner agreement and are never stated by any tool; this is the designed route to see them: a Netify partner manager sends the current rate card in writing, usually within one working day, before the prospect commits to anything. Requires the prospect's business email. Before calling, confirm their name, company, email and that they want Netify to contact them. Takes no other action.","operationId":"request_rate_card","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Prospect contact name."},"email":{"type":"string","description":"Prospect's business email (required)."},"company":{"type":"string","description":"Prospect company name."},"phone":{"type":"string","description":"Prospect phone number (optional)."},"message":{"type":"string","description":"Anything the prospect wants the partner team to know (optional)."}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/estimate_btnet_cost/":{"post":{"summary":"Estimate BUYER cost for a BTnet dedicated leased line: indicative monthly range (low/typical/high, ex VAT) from Netify's market bands, the same function the calculator at netify.co.uk/bt-leased-line-cost-calculator-tool/ runs. Options: bandwidth 100|200|500|1000|10000 (Mb), term 3|5 (years; 5-year prices about 7% under 3-year), delivery premises|dca (data centre delivery is significantly cheaper), resilience none|backup|load|failover, security none|small|large (published Meraki attach at £100 or £200 per month), extraAps (Wi-Fi access points, £8 to £10 per AP per month). Basis: Netify quoting experience as a BT Authorised Partner since 2012, prices reviewed 20 July 2026; BTnet rentals are site-specific, so these are ranges, not quotes. For the buyer's confirmed BEST price, use request_btnet_best_price (opens the secure quote room, consent required). Read and compute only.","operationId":"estimate_btnet_cost","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"bandwidth":{"type":"string","description":"Band id: 100, 200, 500, 1000 or 10000 (Mb). Default 200, matching the calculator."},"term":{"type":"string","description":"3 or 5 (years). Default 3."},"delivery":{"type":"string","description":"premises or dca. Default premises."},"resilience":{"type":"string","description":"none, backup, load or failover. Default none."},"security":{"type":"string","description":"none, small or large. Default none."},"extraAps":{"type":"number","description":"Wi-Fi access points beyond the first. Default 0."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/request_btnet_best_price/":{"post":{"summary":"Open a secure BTnet quote room for a buyer who has explicitly asked for their best leased line price. Netify (BT Authorised Partner since 2012) confirms the best available figure directly with BT's pricing desk, usually within one working day. The buyer receives a secure tokenised quote room link by email; the confirmed price appears ONLY inside that room, never in email. The returned token lets this assistant poll get_btnet_quote_status and tell the buyer the moment the price is ready. Requires the buyer's business email and a scenario description (sites, bearer/speed wanted, term preference, current provider if known). Before calling, confirm their details and explicit consent to be contacted. Takes no other action; indicative self-serve pricing is available first via the calculator tools.","operationId":"request_btnet_best_price","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Buyer contact name."},"email":{"type":"string","description":"Buyer's business email (required)."},"company":{"type":"string","description":"Buyer company name."},"mobile":{"type":"string","description":"Buyer mobile for order updates (optional)."},"postcodes":{"type":"string","description":"Site postcode(s), one per site (optional but speeds pricing)."},"scenario_description":{"type":"string","description":"Plain-English requirement: sites, bandwidth, term, resilience, current provider (required)."},"webhook_url":{"type":"string","description":"Optional https endpoint POSTed { event, state, room_token, at } on every state change. Never carries the figure; fetch get_btnet_quote_status after the ping."},"test":{"type":"boolean","description":"Integration testing: full state machine with a synthetic price about 90 seconds after creation, zero emails, no human involved, two-hour expiry. Use this to develop against the flow."}},"required":["email","scenario_description"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/get_btnet_quote_status/":{"post":{"summary":"Check a secure BTnet quote room by its token (returned by request_btnet_best_price, or given by the buyer from their quote room link). Returns the room state (submitted, with_bt, survey_needed, priced, accepted or declined); when priced it includes the confirmed monthly figure with its reference and valid_until date, any upfront, the specialist's note, and the Q&A thread. The token is the credential: only call with a token the buyer provided in this conversation.","operationId":"get_btnet_quote_status","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The quote room token from the buyer's secure link (the path segment after /quote/)."}},"required":["token"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/ask_btnet_quote_question/":{"post":{"summary":"Post a clarification question inside an open BTnet quote room on the buyer's behalf (for example: price a 5-year term too, what bearer was assumed, can delivery be to our data centre). The Netify team answers inside the room and the buyer is notified; poll get_btnet_quote_status to read the answer. Only call with a token the buyer provided in this conversation and a question they asked.","operationId":"ask_btnet_quote_question","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The quote room token."},"question":{"type":"string","description":"The buyer's question, 3 to 2000 characters."}},"required":["token","question"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/accept_btnet_quote/":{"post":{"summary":"Accept the confirmed price in a priced BTnet quote room, on the buyer's explicit instruction only. Records the acceptance under the quote reference and starts the order: a Netify specialist confirms details with the buyer and a contract document follows for a HUMAN signature; nothing is committed until the buyer signs. Requires the room token plus the accepting person's name and organisation, and their explicit consent in this conversation. Fails with a clear error if the room is not priced.","operationId":"accept_btnet_quote","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The quote room token."},"name":{"type":"string","description":"Accepting person, full name."},"organisation":{"type":"string","description":"Their organisation."},"role":{"type":"string","description":"Their role (optional)."}},"required":["token","name","organisation"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/advise_threat_protect_fit/":{"post":{"summary":"Advise whether BT Endpoint Threat Protect fits a business: pass the device mix (computers, mobiles) and the threats the user cares about; returns an honest per-threat verdict (covered, partly covered, a different BT product is the right route, or bigger than this product with the Netify marketplace route), the indicative monthly and annual cost at BT's public £4.99 per device per month price point, and how to order (EECC order form emailed by Netify, signed and returned by email). Same logic as the advisor on netify.co.uk/bt-endpoint-threat-protect/. Threat ids: malware_ransomware, unknown_threats, usb_data_theft, device_spread, mobile_devices, web_browsing, staff_phishing, cloud_apps, office_perimeter, soc_mdr, multi_site_sase. Omit threats to get the full coverage matrix. Read and compute only; takes no action.","operationId":"advise_threat_protect_fit","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"computers":{"type":"number","description":"Windows, Mac and Linux computers and servers to protect. Chromebooks and EPOS systems are not supported; exclude them."},"mobiles":{"type":"number","description":"Android 9+ and iOS 15+ devices to protect."},"threats":{"type":"array","items":{"type":"string"},"description":"Threat ids the user cares about (see tool description). Omit for the full matrix."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/request_threat_protect_consult/":{"post":{"summary":"Request written confirmation of current BT Endpoint Threat Protect pricing and fit on behalf of a buyer who has explicitly asked for it. Endpoint Threat Protect (formerly Business Antivirus Detect and Respond) is BT's endpoint security for small and medium businesses, built on CrowdStrike Falcon Go, publicly priced at £4.99 per device per month on flexible contract options. A Netify BT specialist replies in writing, usually within one working day, confirming pricing for the stated device count and how it fits alongside BT connectivity. No charge, no obligation. Requires the buyer's business email. Before calling, confirm their details and that they want Netify to contact them. Verified product facts: get the buyer page data.json at netify.co.uk/bt-endpoint-threat-protect/data.json. Takes no other action.","operationId":"request_threat_protect_consult","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Buyer contact name."},"email":{"type":"string","description":"Buyer's business email (required)."},"company":{"type":"string","description":"Buyer company name."},"phone":{"type":"string","description":"Buyer phone number (optional)."},"devices":{"type":"number","description":"How many devices need protecting (optional but useful for the written quote)."},"message":{"type":"string","description":"Context the specialist should know, e.g. current antivirus, contract end dates, existing BT services (optional)."}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/apply_to_resell/":{"post":{"summary":"Start a BT Business reseller application with Netify on behalf of a prospect who has explicitly asked to apply. The programme: no minimum spend, no sales targets, no joining fees, upfront commission paid on install, two to three weeks from application to a live reseller code, open to UK Ltd companies. This submits the application start to the Netify partner team, who confirm next steps by email; it takes no BT-facing or contractual action. Requires name, company and business email. Before calling, confirm the prospect's details and their explicit consent to be contacted. The full online application also exists at netify.co.uk/go/bt-reseller-application/.","operationId":"apply_to_resell","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Applicant contact name (required)."},"email":{"type":"string","description":"Applicant's business email (required)."},"company":{"type":"string","description":"Applicant company name (required)."},"phone":{"type":"string","description":"Applicant phone number (optional)."},"products":{"type":"array","items":{"type":"string","enum":["broadband","btnet-leased-lines","cloud-voice","security","sd-wan"]},"description":"Which product families the applicant wants to resell (optional)."},"message":{"type":"string","description":"Anything the applicant wants the partner team to know (optional)."}},"required":["name","email","company"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/list_cloud_voice_options/":{"post":{"summary":"Returns the BT Cloud Voice rate card and valid identifiers: licence tiers (basic/connect/collaborate) with per-user prices by 24/36/60-month term, the UK Unlimited package price, sharer plans (uk / intFixed / intFixedMobile) with their minute bundles and per-site prices, user features and site features with ids and prices, handsets with ids and one-off prices, number/connection charges, discount step rules, and tier guidance. Call this first when you need exact ids, prices or option names before building a quote.","operationId":"list_cloud_voice_options","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/calculate_cloud_voice_quote/":{"post":{"summary":"Computes an indicative BT Cloud Voice quote from a quote state, using the same engine as the on-page calculator. Returns monthlyRecurring (MRR after per-line discounts), monthlyRecurringAtListBeforeDiscount, oneOffUpfront, perUserPerMonth, totalContractValue, a discountStatus flag, an itemised line breakdown, plus any blocking errors (e.g. fewer than 3 users) and warnings. This is the ONLY source of BT Cloud Voice prices — never compute prices yourself.","operationId":"calculate_cloud_voice_quote","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tenure":{"type":"integer","enum":[24,36,60],"description":"Minimum contract term in months."},"customerType":{"type":"string","enum":["new","legacy","resign"],"description":"'new' or 'legacy' (existing BT, priced as new); 'resign' = existing Cloud Voice re-sign."},"licences":{"type":"object","description":"User licences by tier. Each: { qty, discount } (discount % off list, orderable steps only).","properties":{"basic":{"type":"object","properties":{"qty":{"type":"integer"},"discount":{"type":"integer"}}},"connect":{"type":"object","properties":{"qty":{"type":"integer"},"discount":{"type":"integer"}}},"collaborate":{"type":"object","properties":{"qty":{"type":"integer"},"discount":{"type":"integer"}}}}},"unlimited":{"type":"object","description":"UK Unlimited call package. { qty, discount }. qty must not exceed total users.","properties":{"qty":{"type":"integer"},"discount":{"type":"integer"}}},"sharers":{"type":"object","description":"Sharer call plans (per site). Keys: uk, intFixed, intFixedMobile. Each: { apply: boolean, size: minutes string e.g. '5,000' or 'PAYG', discount }.","properties":{"uk":{"type":"object","properties":{"apply":{"type":"boolean"},"size":{"type":"string"},"discount":{"type":"integer"}}},"intFixed":{"type":"object","properties":{"apply":{"type":"boolean"},"size":{"type":"string"},"discount":{"type":"integer"}}},"intFixedMobile":{"type":"object","properties":{"apply":{"type":"boolean"},"size":{"type":"string"},"discount":{"type":"integer"}}}}},"userFeatures":{"type":"object","description":"Per-user features keyed by feature id (see list_cloud_voice_options), each { qty, discount }."},"siteFeatures":{"type":"object","description":"Per-site features keyed by feature id, each { qty, discount }."},"numbers":{"type":"object","description":"Numbers & porting. { ddiQty, discount, chargeFees (boolean), ported, newNumbers }.","properties":{"ddiQty":{"type":"integer"},"discount":{"type":"integer"},"chargeFees":{"type":"boolean"}}},"handsets":{"type":"object","description":"Handsets keyed by handset id (see list_cloud_voice_options), each { qty, discount }. One-off charges."}},"required":["tenure","customerType"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/create_cloud_voice_lead/":{"post":{"summary":"Submit a BT Cloud Voice enquiry to Netify on behalf of a customer who has explicitly asked to proceed. Requires the customer's work email; name, company and phone are recommended. Optionally pass quoteState (same shape as calculate_cloud_voice_quote) to attach the exact indicative figures. This emails a Netify BT Cloud Voice specialist — the route that can run BT's internal Cloud Voice discount calculator and secure the discount — and takes NO BT-facing or contractual action. Only call with the customer's genuine email and explicit consent to be contacted.","operationId":"create_cloud_voice_lead","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Customer contact name."},"email":{"type":"string","description":"Customer's work email (required)."},"company":{"type":"string","description":"Customer company name."},"phone":{"type":"string","description":"Customer phone number."},"message":{"type":"string","description":"Anything the customer wants the specialist to know."},"quoteState":{"type":"object","description":"Optional quote state (same shape as calculate_cloud_voice_quote) to attach the computed figures."}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/get_sase_pricing_comparison_framework/":{"post":{"summary":"Returns the Netify Research framework for comparing SASE pricing between vendors: the 10 commercial questions that make quotes comparable, the five pricing models, hidden costs, TCO components, quotation red flags, the weighted scoring method (Commercial 30%, Support 20%, Functionality 20%, Scalability 15%, Implementation 10%, Risk 5%) and both comparison tables. Written by Harry Yelland, published 17 July 2026, reusable with attribution.","operationId":"get_sase_pricing_comparison_framework","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/get_multinational_sase_requirements/":{"post":{"summary":"Returns the Netify Research framework for evaluating scalable and affordable SASE providers for multinational organisations: the three scalability categories (geographic, technical, operational), the total-cost components to itemise, the 10 requirements that determine supplier suitability, the what-to-ask comparison table and the page FAQs. Written by Harry Yelland, published 17 July 2026, reusable with attribution.","operationId":"get_multinational_sase_requirements","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/list_one_phone_features/":{"post":{"summary":"List the BT One Phone features (named per BT's official user guide) with each one's BT Cloud Voice equivalent and mapping status (Met, Met with add-on, Partial, Gap). Use before advise_one_phone_replacement to discover feature ids.","operationId":"list_one_phone_features","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/advise_one_phone_replacement/":{"post":{"summary":"Recommend a replacement path for a business leaving BT One Phone (which BT has closed to new orders): Path A (BT Cloud Voice like-for-like), Path B (Cloud Voice plus BT Business Mobile, when mobile-first users dominate or network-level mobile features are used) or Path C (Microsoft Teams Phone via BT, for Microsoft 365 led teams). Maps every One Phone feature the business uses to its Cloud Voice equivalent with honest Met / Add-on / Partial / Gap statuses, and returns an indicative Cloud Voice quote from BT published list prices (April 2026 price book). Describe the team as receptionUsers, officeUsers, meetingRunners and mobileFirstUsers; pass featureIds from list_one_phone_features (defaults to the common set).","operationId":"advise_one_phone_replacement","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"receptionUsers":{"type":"integer","minimum":0,"description":"Reception or shared-line users (Basic licence)."},"officeUsers":{"type":"integer","minimum":0,"description":"Desk-based office users (Connect licence)."},"meetingRunners":{"type":"integer","minimum":0,"description":"Heavy meeting and collaboration users (Collaborate licence)."},"mobileFirstUsers":{"type":"integer","minimum":0,"description":"Mobile-first users who live on the mobile network."},"sites":{"type":"integer","minimum":1,"description":"Number of sites. Default 1."},"microsoft365Led":{"type":"boolean","description":"True when the business runs on Microsoft 365 and Teams."},"tenureMonths":{"type":"integer","enum":[24,36,60],"description":"Contract tenure. Default 60."},"featureIds":{"type":"array","items":{"type":"string"},"description":"One Phone feature ids in use, from list_one_phone_features. Defaults to the common set."},"callRecordingRetentionYears":{"type":"integer","enum":[1,3,5,7],"description":"Call recording retention requirement, when call recording is used. Default 5."}},"required":[]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/openapi/compare_reseller_programmes/":{"post":{"summary":"Compare all 16 UK broadband reseller and wholesale programmes side by side: Openreach, CityFibre, Vodafone Business, Glide, ITS, Virgin Media Business, TalkTalk Business, Gamma, FluidOne, Zen, Daisy, Stream Networks, Virtual1, Fidelity, Wavetel and BT Business via Netify. Returns provider type, commission model, coverage, minimum commitments, best-for and not-ideal-for guidance, a best-by-use-case matrix and the published reasons NOT to choose the Netify route. Neutral editorial comparison, reviewed 24 June 2026; Netify appears as one disclosed row among 16 with no commercial relationship to the other 15. Filter by provider_type, commission_model, required_features or named providers; detail \"full\" adds descriptions, feature grids, decision tree and methodology.","operationId":"compare_reseller_programmes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider_type":{"type":"string","enum":["direct-network","aggregator","authorised-partner"],"description":"Route category: direct-network (Openreach, CityFibre, Vodafone, Glide, ITS, VMB), aggregator (TalkTalk, Gamma, FluidOne, Zen, Daisy, Stream, Virtual1, Fidelity, Wavetel) or authorised-partner (BT via Netify)."},"commission_model":{"type":"string","enum":["upfront","residual","hybrid"],"description":"Commercial model to filter on."},"required_features":{"type":"array","items":{"type":"string","enum":["noMinimumSpend","whiteLabelOptions","fttpPortfolio","sogeaAvailable","ethernetServices","apiIntegration","partnerPortal","billingSupport"]},"description":"Features every returned programme must offer: noMinimumSpend, whiteLabelOptions, fttpPortfolio, sogeaAvailable, ethernetServices (leased lines), apiIntegration, partnerPortal, billingSupport."},"providers":{"type":"array","items":{"type":"string"},"description":"Compare specific programmes by name, e.g. [\"Zen\", \"Gamma\", \"BT\"]. Loose match on programme name."},"detail":{"type":"string","enum":["summary","full"],"description":"summary (default) returns compact rows; full adds descriptions, per-feature grids, structured commission splits where publicly disclosed, the decision tree and the comparison methodology."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"x-mcp-server":"https://netify.co.uk/api/mcp/","x-llms-txt":"https://netify.co.uk/llms.txt","x-verified-by":"https://business.bt.com/bt-authorised-partners/"}