Corrected task.insert API. Now it works in the follwoing way:

Only title is required.
The request must contain at least one of category or status.
If the request has neither category nor status , then it fails with a
bad request error.