how_to_report
Find how to report a NYC 311 problem from a plain description. Get relevant 311 articles, agency, problem type, next steps, and reporting options; does not file a report.
Instructions
Find how to report a problem to 311, from a plain description ('a pothole on my block', 'no heat in my apartment'). Returns the best 311 articles from the City's own 311 content (title, KA number, link on 311 Online), the agency and the 311 problem type each names (the problem type is NYC Open Data's complaint_type), what the article says to do and what happens next, and the ways to report (311 Online, the NYC311 app, phone 311 or 212-NEW-YORK, text 311-692), all from City text. Every answer starts with 'For informational purposes only. BetaNYC builds these answers from City data; they may contain errors. Check the City's 311 page before you report. If this is an emergency, or if you think this is an emergency, call 911.'; a description that suggests danger, and every no-match answer, leads with a 911 line, in the City's words only when the City article is that danger. IMPORTANT: danger detection here is keyword-based and will miss some emergencies. If anything the person says suggests someone may be in danger or need urgent medical help, tell them to call 911 first, even if this tool did not flag it. Matching is by keyword, done by BetaNYC, and reads only a few 311 categories (listed in searched). Give community_district or council_district to add how often that problem type was reported there (BoardStat). Does not file anything.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"description": "<description>"
},
"name": "how_to_report"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many articles to return (default 3). | |
| borough | No | Optional. 311's articles are citywide, so this does not change the match; it is noted for the report. | |
| last_days | No | With a district: count reports over the last N days of data (default 365). | |
| category_id | No | Search only this 311 category (an id from list_311_categories, e.g. '311-12' for Noise). | |
| description | Yes | The problem in plain words. Not stored and not sent anywhere: only the 311 content is fetched. | |
| council_district | No | Council district, 1 to 51. Not with community_district. | |
| community_district | No | 306, BK06 or 'Brooklyn 6' (all forms: server instructions). Not with council_district. |