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

## vapi std errors: invalid argument

The `invalid_argument` error indicates that the values received for one or more parameters are not acceptable.

This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. It may also be reported as the result of operation-specific validation.

Examples:

- A parameter has a value that is not of the expected type.
- A parameter has a value that is not in the required range.
- A parameter has a value that is not one of the specifically allowed strings.
- One field of a structure is the tag for a tagged union, and has a specific value but another field of the structure that is required to be specified when the tag has that value is not specified, or another field of the structure that is required to be unspecified when the tag has that value is specified.

Counterexamples:

- Trying to create a new tag in tag category when a tag with the specified name already exists the tag category. The vapi.std.errors.already_exists error would be used instead.
- Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. The vapi.std.errors.not_found error would be used instead.
- Attempt to put a virtual machine into a folder that can only contain hosts. The vapi.std.errors.invalid_element_type error would be used instead.
- Attempt to attach a SCSI virtual disk to an IDE port. The vapi.std.errors.invalid_element_type error would be used instead.

### Representations:

- JSON
- XML

{
"type": "com.vmware.vapi.std.errors.invalid_argument",
"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_argument</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.