call function. what do we return? BadRequest? Is there a better error type?