Are all these fields really optional? It seems to me that they are all required in the request, no?