{"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 rate, 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 pays a lower 10.5% NEW rate), 3 deal types (New, Resign no-change, Upgrade in resign window), Solus vs Bundled-with-Cloud-Voice-Express (Bundled drops the broadband portion to 18.9% but adds a CVE line at 21%), contract length 36 or 60 months, and optional Threat Protection devices per order at 17.5% on £4.99/device/month. 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 (pays the lower 10.5% NEW 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 (5.25% Solus / 5.6% Bundled), 'upgrade' = upgrade in resign window (10.5% Solus / 11.9% Bundled)."},"bundle":{"type":"string","enum":["solus","bundled"],"description":"Bundle. 'solus' = standalone broadband at the headline 21% NEW Solus rate. 'bundled' = sold on the same contract as Cloud Voice Express, broadband portion drops to 18.9% NEW Bundled but CVE pays 21% 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, 17.5% commission. 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: 35% first-year commission rate, 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 35% headline rate, 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 at 21%).","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/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"}}}}}}}},"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/"}