### Elasticsearch Version

8.2.0

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

Cloud

### Problem Description

Creating a PIT without the required `?keep_alive` parameter throws a NPE which maps to HTTP status code `500 Internal Server Error` whereas really this isn't a server-side error, it's a bad request, so the status code should be something like `400 Bad Request`

### Steps to Reproduce

```
# Request:
POST /_pit

# Response:
# 500 Internal Server Error
# {
#   "status": 500,
#   "error": {
#     "reason": "[keep_alive] parameter must be non null",
#     "root_cause": [
#       {
#         "reason": "[keep_alive] parameter must be non null",
#         "type": "null_pointer_exception"
#       }
#     ],
#     "type": "null_pointer_exception"
#   }
# }
```

### Logs (if relevant)

_No response_
server/src/main/java/org/elasticsearch/action/search/OpenPointInTimeRequest.java
public OpenPointInTimeRequest(String... indices) {
        this.indices = Objects.requireNonNull(indices, "[index] is not specified");
    }
    public OpenPointInTimeRequest(StreamInput in) throws IOException {
        super(in);
        this.indices = in.readStringArray();
        this.indicesOptions = IndicesOptions.readIndicesOptions(in);
        this.keepAlive = in.readTimeValue();
        this.routing = in.readOptionalString();
        this.preference = in.readOptionalString();
    }
    @Override
    public void writeTo(StreamOutput out) throws IOException {
        super.writeTo(out);
        out.writeStringArray(indices);
        indicesOptions.writeIndicesOptions(out);
        out.writeTimeValue(keepAlive);
        out.writeOptionalString(routing);
        out.writeOptionalString(preference);
    }
    @Override
    public ActionRequestValidationException validate() {
        ActionRequestValidationException validationException = null;
        if (indices == null || indices.length == 0) {
            validationException = addValidationError("[index] is not specified", validationException);
        }
        if (keepAlive == null) {
            validationException = addValidationError("[keep_alive] is not specified", validationException);
        }
        return validationException;