{"openapi":"3.1.0","info":{"title":"OneLessTool API","version":"1.0.0","summary":"What software does, what it costs, and how to replace it with tools you already own.","description":"Read-only public knowledge API. Every fact carries an evidence status:\n\n- **verified** — Checked against the cited primary source (usually the vendor's own page) on verifiedAt.\n- **editorial** — OneLessTool's reasoned judgement (e.g. quality scores, fit). Not a vendor claim.\n- **estimate** — A calculated or approximate figure; the methodology is stated alongside it.\n- **illustrative** — An example scenario, not a measurement.\n- **ai_suggested** — Generated by an AI model and not yet reviewed by a human.\n- **unverified** — Believed accurate but not checked against a primary source recently.\n\nSavings figures are estimates. OneLessTool never cancels or modifies subscriptions. No authentication is required; requests are rate-limited per IP. The same capabilities are available over MCP at `/api/mcp`.","contact":{"name":"OneLessTool","url":"https://onelesstool.com/docs"}},"servers":[{"url":"https://onelesstool.com"}],"tags":[{"name":"Discovery","description":"Search and browse"},{"name":"Knowledge","description":"Tools, capabilities, workflows, pricing"},{"name":"Decisions","description":"Recommendations and savings estimates"}],"paths":{"/api/v1/search":{"get":{"tags":["Discovery"],"operationId":"search","summary":"Natural-language search over tools, capabilities and workflows","parameters":[{"name":"q","in":"query","required":true,"description":"Query, e.g. 'make thumbnails' or 'Canva'","schema":{"type":"string"}},{"name":"kinds","in":"query","required":false,"description":"Comma-separated: tool,capability,workflow,guide","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1–100 (default 20)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Ranked hits plus interpreted tool and capabilities","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/tools":{"get":{"tags":["Knowledge"],"operationId":"listTools","summary":"List software products","parameters":[{"name":"category","in":"query","required":false,"description":"Tool category","schema":{"type":"string"}},{"name":"capability","in":"query","required":false,"description":"Only tools providing this capability slug","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Free-text filter","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1–200","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Pagination offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"Tool summaries","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/tools/{slug}":{"get":{"tags":["Knowledge"],"operationId":"getTool","summary":"Tool profile: plans, capabilities, evidence, risks, workflows","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}}],"responses":{"200":{"description":"Tool detail","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Tool"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/capabilities":{"get":{"tags":["Knowledge"],"operationId":"listCapabilities","summary":"List capabilities","parameters":[{"name":"category","in":"query","required":false,"description":"Capability category","schema":{"type":"string"}}],"responses":{"200":{"description":"Capabilities","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/capabilities/{slug}":{"get":{"tags":["Knowledge"],"operationId":"getCapability","summary":"Compare every known solution for a capability","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}}],"responses":{"200":{"description":"Capability with ranked solutions","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/workflows":{"get":{"tags":["Knowledge"],"operationId":"listWorkflows","summary":"List replacement workflows","parameters":[{"name":"tool","in":"query","required":false,"description":"Tool replaced or used","schema":{"type":"string"}},{"name":"capability","in":"query","required":false,"description":"Capability slug","schema":{"type":"string"}}],"responses":{"200":{"description":"Workflow summaries","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/workflows/{slug}":{"get":{"tags":["Knowledge"],"operationId":"getWorkflow","summary":"Full replacement instructions: steps, prompts, artifacts, verification checklist","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}}],"responses":{"200":{"description":"Workflow detail","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Workflow"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/alternatives":{"get":{"tags":["Decisions"],"operationId":"alternatives","summary":"Alternatives for a tool, capability by capability, owned tools first","parameters":[{"name":"tool","in":"query","required":true,"description":"Tool slug or name","schema":{"type":"string"}},{"name":"capabilities","in":"query","required":false,"description":"Comma-separated capability slugs actually used","schema":{"type":"string"}},{"name":"owned","in":"query","required":false,"description":"Comma-separated tools already owned","schema":{"type":"string"}},{"name":"team_size","in":"query","required":false,"description":"People needing access","schema":{"type":"integer"}}],"responses":{"200":{"description":"Per-capability alternatives with verdicts","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/recommend":{"post":{"tags":["Decisions"],"operationId":"recommend","summary":"Cheapest practical stack for the outcomes you need","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendInput"},"example":{"query":"I need 15 YouTube thumbnails a month","ownedTools":[{"tool":"chatgpt","plan":"plus"}],"constraints":{"skill":"none","teamSize":1}}}}},"responses":{"200":{"description":"Per-capability recommendations and a minimal stack","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/audit":{"post":{"tags":["Decisions"],"operationId":"audit","summary":"Stateless subscription audit with non-double-counted savings","description":"Nothing is stored. To save a private shareable report, use the website.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditInput"},"example":{"subscriptions":[{"tool":"chatgpt","plan":"plus","monthlyCostUSD":20,"usage":"daily","capabilitiesUsed":["writing-copy","image-generation"]},{"tool":"canva","plan":"pro","monthlyCostUSD":15,"usage":"weekly","capabilitiesUsed":["youtube-thumbnails"]},{"tool":"grammarly","monthlyCostUSD":12,"usage":"daily","capabilitiesUsed":["grammar-editing"]}],"skill":"basic"}}}},"responses":{"200":{"description":"Audit report with findings, totals and methodology","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/pricing":{"get":{"tags":["Knowledge"],"operationId":"pricing","summary":"All plan prices with evidence status, verification date and source","parameters":[{"name":"tool","in":"query","required":false,"description":"Restrict to one tool","schema":{"type":"string"}}],"responses":{"200":{"description":"Pricing metadata","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (120 requests/minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Meta":{"type":"object","properties":{"apiVersion":{"type":"string"},"dataVersion":{"type":"string","description":"Hash of the content bundle; changes when data changes"},"dataGeneratedAt":{"type":"string","format":"date-time"},"docs":{"type":"string"},"disclaimer":{"type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Evidence":{"type":"object","properties":{"status":{"type":"string","enum":["verified","editorial","estimate","illustrative","ai_suggested","unverified"]},"sources":{"default":[],"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"accessedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"note":{"type":"string"}},"required":["url","title","accessedAt"]}},"verifiedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"verifiedBy":{"type":"string"},"notes":{"type":"string"}},"required":["status"]},"Tool":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"vendor":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"category":{"type":"string","enum":["ai_assistant","ai_coding","design","creative_suite","website_builder","hosting","crm","prospecting","automation","knowledge","productivity_suite","writing","analytics","video","presentation","documents_esign","meetings","database"]},"aliases":{"default":[],"type":"array","items":{"type":"string"}},"tags":{"default":[],"type":"array","items":{"type":"string"}},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"whyPeoplePay":{"default":[],"type":"array","items":{"type":"string"}},"hardToReplace":{"default":[],"type":"array","items":{"type":"string"}},"pricing":{"type":"object","properties":{"model":{"type":"string","enum":["free","freemium","subscription","usage","open_source","source_available","quote"]},"freeTier":{"type":"boolean"},"pricingUrl":{"type":"string","format":"uri"},"plans":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"price":{"type":"object","properties":{"amount":{"nullable":true,"type":"number","minimum":0},"currency":{"default":"USD","type":"string","enum":["USD"]},"period":{"type":"string","enum":["month","year","one_time"]},"unit":{"type":"string","enum":["seat","account","usage"]},"billedAnnually":{"default":false,"type":"boolean"},"minSeats":{"type":"integer","minimum":1,"maximum":9007199254740991},"monthlyBillingUSD":{"type":"number","minimum":0},"oneTimeFeeUSD":{"type":"number","minimum":0},"originalPrice":{"type":"object","properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["amount","currency"]},"note":{"type":"string"}},"required":["amount","period","unit"]},"monthlyUSD":{"nullable":true,"type":"number","minimum":0},"highlights":{"default":[],"type":"array","items":{"type":"string"}},"evidence":{"type":"object","properties":{"status":{"type":"string","enum":["verified","editorial","estimate","illustrative","ai_suggested","unverified"]},"sources":{"default":[],"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"accessedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"note":{"type":"string"}},"required":["url","title","accessedAt"]}},"verifiedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"verifiedBy":{"type":"string"},"notes":{"type":"string"}},"required":["status"]}},"required":["id","name","price","monthlyUSD","evidence"]}},"notes":{"type":"string"}},"required":["model","freeTier"]},"capabilities":{"default":[],"type":"array","items":{"type":"object","properties":{"capability":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"plans":{"default":[],"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"fit":{"type":"string","enum":["native","strong","partial","workaround"]},"scores":{"default":{},"type":"object","properties":{"quality":{"type":"integer","minimum":1,"maximum":5},"ease":{"type":"integer","minimum":1,"maximum":5},"precision":{"type":"integer","minimum":1,"maximum":5},"batch":{"type":"integer","minimum":1,"maximum":5},"collaboration":{"type":"integer","minimum":1,"maximum":5},"brandConsistency":{"type":"integer","minimum":1,"maximum":5},"reliability":{"type":"integer","minimum":1,"maximum":5},"privacy":{"type":"integer","minimum":1,"maximum":5}}},"skill":{"type":"string","enum":["none","basic","technical"]},"notes":{"type":"string"},"limitations":{"default":[],"type":"array","items":{"type":"string"}},"evidence":{"type":"object","properties":{"status":{"type":"string","enum":["verified","editorial","estimate","illustrative","ai_suggested","unverified"]},"sources":{"default":[],"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"accessedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"note":{"type":"string"}},"required":["url","title","accessedAt"]}},"verifiedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"verifiedBy":{"type":"string"},"notes":{"type":"string"}},"required":["status"]}},"required":["capability","fit","skill","evidence"]}},"dataPortability":{"type":"object","properties":{"rating":{"type":"string","enum":["easy","moderate","hard"]},"notes":{"type":"string"}},"required":["rating","notes"]},"risks":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["sensitive_data","security","compliance","functionality_loss","vendor_lock_in","reliability","migration_complexity","collaboration","data_portability","ip_licensing"]},"severity":{"type":"string","enum":["low","medium","high"]},"note":{"type":"string","minLength":1}},"required":["type","severity","note"]}},"lastReviewed":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"sources":{"default":[],"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"accessedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"note":{"type":"string"}},"required":["url","title","accessedAt"]}}},"required":["slug","name","vendor","url","category","summary","description","pricing","dataPortability","lastReviewed"]},"Capability":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"category":{"type":"string","enum":["design","content","web","sales","automation","knowledge","data","video_audio","documents","ai","development"]},"description":{"type":"string","minLength":1},"synonyms":{"default":[],"type":"array","items":{"type":"string"}},"outcomes":{"default":[],"type":"array","items":{"type":"string"}},"keyDimensions":{"default":["quality","ease"],"type":"array","items":{"type":"string","enum":["quality","ease","precision","batch","collaboration","brandConsistency","reliability","privacy"]}},"related":{"default":[],"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"required":["slug","name","category","description"]},"Workflow":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"outcome":{"type":"string","minLength":1},"capabilities":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"replaces":{"minItems":1,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"plan":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"scope":{"type":"string","enum":["full","partial","task_specific"]}},"required":["tool","scope"]}},"requiredTools":{"minItems":1,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"plan":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"purpose":{"type":"string","minLength":1},"optional":{"default":false,"type":"boolean"}},"required":["tool","purpose"]}},"additionalCost":{"type":"object","properties":{"monthlyUSD":{"type":"number","minimum":0},"explanation":{"type":"string","minLength":1}},"required":["monthlyUSD","explanation"]},"difficulty":{"type":"string","enum":["easy","moderate","advanced"]},"skill":{"type":"string","enum":["none","basic","technical"]},"setupTime":{"type":"string","minLength":1},"timePerRun":{"type":"string"},"goodFitFor":{"minItems":1,"type":"array","items":{"type":"string"}},"notFitFor":{"minItems":1,"type":"array","items":{"type":"string"}},"before":{"type":"string","minLength":1},"after":{"type":"string","minLength":1},"steps":{"minItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1}},"required":["title","body"]}},"prompts":{"default":[],"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"purpose":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"variables":{"default":[],"type":"array","items":{"type":"string"}}},"required":["title","purpose","text"]}},"artifacts":{"default":[],"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"kind":{"type":"string","enum":["template","script","config","checklist","schema"]},"language":{"type":"string"},"content":{"type":"string","minLength":1}},"required":["title","kind","content"]}},"limitations":{"minItems":1,"type":"array","items":{"type":"string"}},"risks":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["sensitive_data","security","compliance","functionality_loss","vendor_lock_in","reliability","migration_complexity","collaboration","data_portability","ip_licensing"]},"severity":{"type":"string","enum":["low","medium","high"]},"note":{"type":"string","minLength":1}},"required":["type","severity","note"]}},"verificationChecklist":{"minItems":3,"type":"array","items":{"type":"string"}},"savingsMethodology":{"type":"string","minLength":1},"example":{"type":"object","properties":{"scenario":{"type":"string"},"currentMonthlyUSD":{"type":"number","minimum":0},"newMonthlyUSD":{"type":"number","minimum":0},"assumptions":{"type":"array","items":{"type":"string"}}},"required":["scenario","currentMonthlyUSD","newMonthlyUSD","assumptions"]},"illustrative":{"type":"boolean"},"evidence":{"type":"object","properties":{"status":{"type":"string","enum":["verified","editorial","estimate","illustrative","ai_suggested","unverified"]},"sources":{"default":[],"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"accessedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"note":{"type":"string"}},"required":["url","title","accessedAt"]}},"verifiedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"verifiedBy":{"type":"string"},"notes":{"type":"string"}},"required":["status"]},"lastReviewed":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["slug","title","summary","outcome","capabilities","replaces","requiredTools","additionalCost","difficulty","skill","setupTime","goodFitFor","notFitFor","before","after","steps","limitations","verificationChecklist","savingsMethodology","illustrative","evidence","lastReviewed"]},"RecommendInput":{"type":"object","properties":{"query":{"type":"string","maxLength":300},"capabilities":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","maxLength":80}},"ownedTools":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1,"maxLength":80},"plan":{"type":"string","maxLength":80},"seats":{"type":"integer","minimum":1,"maximum":100000}},"required":["tool"]}},"excludeTools":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":80}},"constraints":{"default":{"skill":"basic","teamSize":1,"needsCollaboration":false,"sensitiveData":false,"priorities":[]},"type":"object","properties":{"skill":{"default":"basic","type":"string","enum":["none","basic","technical"]},"teamSize":{"default":1,"type":"integer","minimum":1,"maximum":100000},"needsCollaboration":{"default":false,"type":"boolean"},"sensitiveData":{"default":false,"type":"boolean"},"priorities":{"default":[],"maxItems":8,"type":"array","items":{"type":"string","enum":["quality","ease","precision","batch","collaboration","brandConsistency","reliability","privacy"]}}}},"limitPerCapability":{"default":5,"type":"integer","minimum":1,"maximum":20}}},"AuditInput":{"type":"object","properties":{"subscriptions":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1,"maxLength":80},"plan":{"type":"string","maxLength":80},"monthlyCostUSD":{"type":"number","minimum":0,"maximum":1000000},"seats":{"default":1,"type":"integer","minimum":1,"maximum":100000},"usage":{"default":"weekly","type":"string","enum":["daily","weekly","monthly","rarely","never"]},"capabilitiesUsed":{"default":[],"maxItems":30,"type":"array","items":{"type":"string","maxLength":80}},"criticality":{"default":"medium","type":"string","enum":["low","medium","high"]}},"required":["tool","monthlyCostUSD"]}},"skill":{"default":"basic","type":"string","enum":["none","basic","technical"]},"hourlyValueUSD":{"type":"number","minimum":0,"maximum":10000}},"required":["subscriptions"]}}},"x-mcp":{"endpoint":"https://onelesstool.com/api/mcp","transport":"streamable-http","docs":"https://onelesstool.com/docs/mcp"}}