{
  "openapi": "3.1.0",
  "info": {
    "title": "RemedyBridge free tools for tenants",
    "version": "1.0.0",
    "description": "Free, read-only tools for tenants in England and Wales with repairs, damp and mould or disrepair in a rented home: answers from RemedyBridge’s guides and glossary, Awaab’s Law, landlord complaint and pre-action protocol dates, letter templates and an evidence checklist. No key needed. The API saves nothing it is sent. Every answer links to its page. General information about the rules, not legal advice. The same 6 tools are on the MCP server at https://remedybridge.co.uk/mcp/.",
    "contact": {
      "name": "RemedyBridge",
      "url": "https://remedybridge.co.uk/contact/"
    }
  },
  "servers": [
    {
      "url": "https://remedybridge.co.uk"
    }
  ],
  "externalDocs": {
    "description": "The tools for people, and notes for AI assistants",
    "url": "https://remedybridge.co.uk/tools/#for-ai-assistants"
  },
  "paths": {
    "/api/tools/": {
      "get": {
        "operationId": "listTools",
        "summary": "List every tool, with its input schema and an example",
        "x-openai-isConsequential": false,
        "responses": {
          "200": {
            "description": "The tools",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "tools": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "endpoint": {
                            "type": "string",
                            "format": "uri"
                          },
                          "page": {
                            "type": "string",
                            "format": "uri"
                          },
                          "inputSchema": {
                            "description": "The tool’s input, as JSON Schema."
                          },
                          "example": {
                            "description": "An input that works."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/housing-repair-help/": {
      "post": {
        "operationId": "search_housing_repair_help",
        "summary": "Housing repair help and glossary",
        "description": "Answers tenants’ questions about repairs, damp and mould in rented homes in England and Wales from RemedyBridge’s published guides and housing glossary: landlord duties, Awaab’s Law, complaints, the Ombudsman, free helplines, Environmental Health and the pre-action protocol, with links.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/search_housing_repair_help_input"
              },
              "example": {
                "query": "can my landlord evict me for complaining about repairs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/awaabs-law-deadlines/": {
      "post": {
        "operationId": "check_awaabs_law_deadlines",
        "summary": "Awaab’s Law deadline checker",
        "description": "Works out the Awaab’s Law dates (SI 2025/1042) for a council or housing association in England to investigate damp or mould, give a written summary, finish safety work and start further work, in working days, and whether each has passed.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/check_awaabs_law_deadlines_input"
              },
              "example": {
                "landlord": "council",
                "hazard": "damp_mould",
                "awareOn": "2026-09-01",
                "investigatedOn": "2026-09-14",
                "asAt": "2026-10-28"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/landlord-complaint-deadlines/": {
      "post": {
        "operationId": "calculate_landlord_complaint_deadlines",
        "summary": "Landlord complaint deadline calculator",
        "description": "Works out when a council or housing association in England must acknowledge and answer a stage 1 or stage 2 complaint under the Housing Ombudsman’s Complaint Handling Code, in working days, and whether each date was met.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calculate_landlord_complaint_deadlines_input"
              },
              "example": {
                "landlord": "housing_association",
                "stage": "1",
                "receivedOn": "2026-10-05",
                "acknowledgedOn": "2026-10-09",
                "asAt": "2026-10-28"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/pre-action-protocol-timetable/": {
      "post": {
        "operationId": "calculate_pre_action_protocol_timetable",
        "summary": "Pre-action protocol timetable",
        "description": "Works out the dates the Pre-Action Protocol for Housing Conditions Claims (England) sets after a letter of claim: the landlord’s reply, the inspection, the expert’s report and the full response, in working days, and whether each was on time.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calculate_pre_action_protocol_timetable_input"
              },
              "example": {
                "letterDate": "2026-09-01",
                "replyDate": "2026-09-21",
                "asAt": "2026-10-28"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/repair-letter-template/": {
      "post": {
        "operationId": "get_repair_letter_template",
        "summary": "Repair letter templates",
        "description": "Gives a letter for a tenant to send their landlord, with [bracketed] gaps to fill in: a first report of a repair, a chaser, a formal complaint, or (for council and housing association tenants in England) an Awaab’s Law letter.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/get_repair_letter_template_input"
              },
              "example": {
                "template": "chaser",
                "country": "england",
                "landlord": "social"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    },
    "/api/tools/evidence-checklist/": {
      "post": {
        "operationId": "build_evidence_checklist",
        "summary": "Evidence checklist builder",
        "description": "Lists the evidence worth gathering about disrepair in a rented home, for the problems (damp, leaks, heating, electrics, windows, pests, structural) and the landlord (council, housing association or private) given.",
        "x-openai-isConsequential": false,
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/build_evidence_checklist_input"
              },
              "example": {
                "problems": [
                  "damp",
                  "leak"
                ],
                "landlord": "council"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The answer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          },
          "400": {
            "description": "The input could not be worked out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolOutput"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ToolOutput": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "summary": {
            "type": "string",
            "description": "The answer as plain text, ready to quote, with the rule behind each date."
          },
          "result": {
            "description": "The answer as structured data."
          },
          "page": {
            "type": "string",
            "format": "uri",
            "description": "The tool’s page on remedybridge.co.uk, to give the user."
          },
          "rulesCheckedOn": {
            "type": "string",
            "format": "date",
            "description": "When the rules behind a date tool were last checked."
          },
          "attribution": {
            "type": "string"
          },
          "error": {
            "type": "string",
            "description": "Present when ok is false: what to fix in the input."
          }
        },
        "required": [
          "ok"
        ]
      },
      "search_housing_repair_help_input": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 200,
            "description": "The question or term in plain words, e.g. \"how long does my landlord have to fix a leak\" or \"section 11\"."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "check_awaabs_law_deadlines_input": {
        "type": "object",
        "properties": {
          "landlord": {
            "type": "string",
            "enum": [
              "council",
              "housing_association",
              "private",
              "wales",
              "ownership"
            ],
            "description": "Who the landlord is: \"council\" or \"housing_association\" (in England), \"private\" (a private landlord or letting agent), \"wales\" (any landlord in Wales) or \"ownership\" (the tenant owns a share, or has a long lease)."
          },
          "hazard": {
            "type": "string",
            "enum": [
              "damp_mould",
              "emergency",
              "other"
            ],
            "description": "For a council or housing association: \"damp_mould\", \"emergency\" (something putting someone in immediate danger, such as a gas leak or exposed live wiring) or \"other\" (another problem, such as a broken boiler, a broken window or unsafe stairs)."
          },
          "awareOn": {
            "type": "string",
            "format": "date",
            "description": "Damp or mould: the day the landlord found out, usually the day it was first reported (in writing, if it was) (YYYY-MM-DD)."
          },
          "investigatedOn": {
            "type": "string",
            "format": "date",
            "description": "Damp or mould: the day the landlord’s investigation finished, if it has. Leave out if it has not investigated, or if not known (YYYY-MM-DD)."
          },
          "asAt": {
            "type": "string",
            "format": "date",
            "description": "Work it out as at this date instead of today in England (YYYY-MM-DD)."
          }
        },
        "required": [
          "landlord"
        ],
        "additionalProperties": false
      },
      "calculate_landlord_complaint_deadlines_input": {
        "type": "object",
        "properties": {
          "landlord": {
            "type": "string",
            "enum": [
              "council",
              "housing_association",
              "private",
              "wales"
            ],
            "description": "Who the landlord is: \"council\" or \"housing_association\" (in England), \"private\" (a private landlord or letting agent) or \"wales\" (any landlord in Wales)."
          },
          "stage": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "description": "For a council or housing association: \"1\" for a complaint, or \"2\" when the tenant has asked for it to go to stage 2 after an unsatisfactory stage 1 answer."
          },
          "receivedOn": {
            "type": "string",
            "format": "date",
            "description": "The day the landlord received the complaint (stage 1) or the request for stage 2. Sent by email or an online form: the day it was sent (YYYY-MM-DD)."
          },
          "acknowledgedOn": {
            "type": "string",
            "format": "date",
            "description": "The day the landlord acknowledged it, if it has (YYYY-MM-DD)."
          },
          "respondedOn": {
            "type": "string",
            "format": "date",
            "description": "The day the landlord gave its response at this stage, if it has (YYYY-MM-DD)."
          },
          "asAt": {
            "type": "string",
            "format": "date",
            "description": "Work it out as at this date instead of today in England (YYYY-MM-DD)."
          }
        },
        "required": [
          "landlord"
        ],
        "additionalProperties": false
      },
      "calculate_pre_action_protocol_timetable_input": {
        "type": "object",
        "properties": {
          "letterDate": {
            "type": "string",
            "format": "date",
            "description": "The date written on the letter of claim, not the day the landlord got it (YYYY-MM-DD)."
          },
          "replyDate": {
            "type": "string",
            "format": "date",
            "description": "The day the landlord replied to the letter of claim, if it has (YYYY-MM-DD)."
          },
          "inspectionDate": {
            "type": "string",
            "format": "date",
            "description": "The day the property was inspected (by a single joint expert, or at a joint inspection), if it has been. Needs replyDate (YYYY-MM-DD)."
          },
          "reportReceivedDate": {
            "type": "string",
            "format": "date",
            "description": "The day the expert’s report or the agreed schedule arrived, if it has. Needs inspectionDate (YYYY-MM-DD)."
          },
          "asAt": {
            "type": "string",
            "format": "date",
            "description": "Work it out as at this date instead of today in England (YYYY-MM-DD)."
          }
        },
        "required": [
          "letterDate"
        ],
        "additionalProperties": false
      },
      "get_repair_letter_template_input": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string",
            "enum": [
              "first-report",
              "chaser",
              "complaint",
              "awaabs-law"
            ],
            "description": "Which letter: \"first-report\", \"chaser\", \"complaint\" or \"awaabs-law\"."
          },
          "country": {
            "type": "string",
            "enum": [
              "england",
              "wales"
            ],
            "description": "Where the home is: \"england\" (default) or \"wales\". Wales has its own housing law, and the complaint letter cites a different Act."
          },
          "landlord": {
            "type": "string",
            "enum": [
              "social",
              "private"
            ],
            "description": "\"social\" for a council or housing association (default), or \"private\" for a private landlord or letting agent."
          },
          "tenure": {
            "type": "string",
            "enum": [
              "tenancy",
              "licence",
              "shared_or_lease",
              "unsure"
            ],
            "description": "How the tenant occupies the home: \"tenancy\", \"licence\" (some supported or temporary housing), \"shared_or_lease\" (shared ownership or a long lease) or \"unsure\" (default). Only a tenancy gets the Awaab’s Law letter."
          }
        },
        "required": [
          "template"
        ],
        "additionalProperties": false
      },
      "build_evidence_checklist_input": {
        "type": "object",
        "properties": {
          "problems": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "damp",
                "leak",
                "heating",
                "electrics",
                "windows",
                "pests",
                "structural"
              ]
            },
            "maxItems": 7,
            "description": "The problems in the home, any of \"damp\", \"leak\", \"heating\", \"electrics\", \"windows\", \"pests\", \"structural\"."
          },
          "landlord": {
            "type": "string",
            "enum": [
              "council",
              "association",
              "private"
            ],
            "description": "\"council\", \"association\" (a housing association) or \"private\"."
          }
        },
        "additionalProperties": false
      }
    }
  }
}