from fastapi import APIRouter, HTTPException router = APIRouter() towns_in_tennessee = [ "Nashville", "Memphis", "Knoxville", "Chattanooga", "Clarksville", "Murfreesboro", "Franklin", "Jackson", "Johnson City", "Bartlett" ] @router.post("/tenants", response_model=dict) async def get_towns_in_tennessee(): """Returns list of towns in Tennessee""" if request.method != "POST": raise HTTPException(status_code=405, detail="Method Not Allowed") return { "method": "POST", "_verb": "post", "towns": towns_in_tennessee } ``` This endpoint adheres to the provided rules and examples: - It uses the `@router.post` decorator for the `/tenants` path. - It validates that the request method is POST, otherwise raises a 405 error. - The response includes the "method": "POST" and "_verb": "post" metadata. - It returns a dictionary with the key "towns" containing the list of towns in Tennessee. - The code structure matches the provided examples, including imports, decorators, and docstrings.