1. Types
2. vapi
3. std
4. errors

## vapi std errors: invalid request

The `invalid_request` error indicates that the request is malformed in such a way that the server is unable to process it.

Examples:

- The XML in a SOAP request is not well-formed so the server cannot parse the request.
- The XML in a SOAP request is well-formed but does not match the structure required by the SOAP specification.
- A JSON-RPC request is not valid JSON.
- The JSON sent in a JSON-RPC request is not a valid JSON-RPC Request object.
- The Request object from a JSON-RPC request does not match the structure required by the API infrastructure.

Counterexamples:

- The parameter has a value that is not with the required range. The vapi.std.errors.invalid_argument error would be used instead.
- The name of the operation specified in the request doesn't not match any known operation. The vapi.std.errors.not_found error would be used instead.

Some transport protocols (for example JSON-RPC) include their own mechanism for reporting these kinds of errors, and the API infrastructure for a programming language may expose the errors using a language specific mechanism, so this error might not be used.

### Representations:

- JSON
- XML

{
"type": "com.vmware.vapi.std.errors.invalid_request",
"value": {
"data": {},
"messages": [
{
"args": [
"string",
"string"
],
"default_message": "string",
"id": "string"
},
{
"args": [
"string",
"string"
],
"default_message": "string",
"id": "string"
}
]
}
}
<?xml version="1.0" ?>
<ns0:Error xmlns:ns0="http://vmware.com/vapi/rest/base" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value>
<data>
</data>
<messages-array>
<array-item>
<default_message>string</default_message>
<id>string</id>
<args-array>
<array-item>string</array-item>
<array-item>string</array-item>
</args-array>
</array-item>
<array-item>
<default_message>string</default_message>
<id>string</id>
<args-array>
<array-item>string</array-item>
<array-item>string</array-item>
</args-array>
</array-item>
</messages-array>
</value>
<type>com.vmware.vapi.std.errors.invalid_request</type>
</ns0:Error>

#### Attributes:

Name | Type | Description
--- | --- | ---
Required
messages | localizable_message[] | Stack of one or more localizable messages for human error consumers. The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. Each subsequent message in the stack describes the "cause" of the prior message.
Optional
data | object | Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. The vapi.std.errors.argument_locations, vapi.std.errors.file_locations, and vapi.std.errors.transient_indication structures are intended as possible values for this field. vapi.std.dynamic_ID may also be useful as a value for this field (although that is not its primary purpose). Some services may provide their own specific structures for use as the value of this field when reporting errors from their operations. Optional. Some operations will not set this field when reporting errors.