{"openapi":"3.1.0","info":{"title":"DeclutterKit API","version":"0.1.0","description":"A fully local home-organization/decluttering toolkit: accurate methodology explanations (KonMari, Four-Box, 20/20 Rule, Project 333), a genuine time-boxed room-by-room plan generator, a 20/20-rule qualifier calculator, and decision-fatigue-reducing quick checklists.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://declutterkit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/declutterkit/docs"},"termsOfService":"https://connectorbay.com/declutterkit/terms"},"servers":[{"url":"https://declutterkit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/declutterkit/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/methodology_list":{"post":{"operationId":"methodology_list","summary":"Every decluttering methodology this reference covers — the KonMari Method, the Four-Box Method, the 20/20","description":"Every decluttering methodology this reference covers — the KonMari Method, the Four-Box Method, the 20/20\n    Rule, and Project 333 — each with its origin and a one-line summary. Use for \"what decluttering methods are\n    there\", \"what's a well-known way to declutter clothes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"methodology_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/methodology_detail":{"post":{"operationId":"methodology_detail","summary":"Full detail for one decluttering methodology: its origin, exactly how it works step by step, and what","description":"Full detail for one decluttering methodology: its origin, exactly how it works step by step, and what\n    situation it's best suited for. Use for \"explain the KonMari method\", \"how does the four-box method work\",\n    \"what's Project 333\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"methodology":{"description":"A methodology id or name, e.g. 'konmari', 'four_box_method', '20/20 rule', 'project 333'.","title":"Methodology","type":"string"}},"required":["methodology"],"title":"methodology_detailArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/room_plan_generator":{"post":{"operationId":"room_plan_generator","summary":"Generates a genuinely time-boxed, prioritized decluttering task sequence for one room: sorts that room's","description":"Generates a genuinely time-boxed, prioritized decluttering task sequence for one room: sorts that room's\n    task catalog by priority and quick-win duration, then greedily fits as many tasks as actually fit your time\n    budget — so a 15-minute plan and a 90-minute plan for the same room produce meaningfully different sequences,\n    not the same list truncated. Use for \"give me a 20 minute decluttering plan for my bedroom\", \"what should I\n    tackle in the garage if I only have an hour\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room":{"description":"bedroom | kitchen | bathroom | living room | closet | garage | home office | kids room","title":"Room","type":"string"},"minutes_available":{"description":"How many minutes you have available right now.","maximum":600,"minimum":0,"title":"Minutes Available","type":"integer"}},"required":["room","minutes_available"],"title":"room_plan_generatorArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/twenty_twenty_rule_check":{"post":{"operationId":"twenty_twenty_rule_check","summary":"Checks a 'just in case' item against the 20/20 rule — replaceable for under $20 in under 20 minutes — and","description":"Checks a 'just in case' item against the 20/20 rule — replaceable for under $20 in under 20 minutes — and\n    says plainly whether it qualifies to be let go, with the reasoning. Use for \"should I keep this spare cable\n    just in case\", \"does this count under the 20/20 rule\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"replace_cost_usd":{"description":"Roughly what it would cost to replace this item today, in USD.","minimum":0,"title":"Replace Cost Usd","type":"number"},"replace_minutes":{"description":"Roughly how many minutes it would take to get a replacement if you needed one.","minimum":0,"title":"Replace Minutes","type":"number"}},"required":["replace_cost_usd","replace_minutes"],"title":"twenty_twenty_rule_checkArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/quick_checklist":{"post":{"operationId":"quick_checklist","summary":"A short, decision-fatigue-reducing set of yes/no questions for deciding on one common clutter category —","description":"A short, decision-fatigue-reducing set of yes/no questions for deciding on one common clutter category —\n    clothes, papers, sentimental items, books, or kitchen gadgets — plus one practical tip for that category. Use\n    for \"help me decide what clothes to keep\", \"questions to ask before tossing old papers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"clothes | papers | sentimental_items | books | kitchen_gadgets","title":"Category","type":"string"}},"required":["category"],"title":"quick_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}