vapi std errors: unexpected input

The unexpected_input error indicates that the request contained a parameter or field whose name is not known by the server.

Every operation expects parameters with known names. Some of those parameters may be (or contain) structures, and the operation expects those structures to contain fields with known names. If the operation receives parameters or fields with names that is does not expect, this error may be reported.

This error can be reported by the API infrastructure for any operation, but it is specific to the API infrastructure, and should never be reported by the implementation of any operation.

Examples:

  • A client using stubs generated from the interface specification for version2 of a service invokes the operation passing one or more parameters that were added in version2, but they are communicating with a server that only supports version1 of the service.
  • A client provides an unexpected parameter or field name when invoking the operation using a dynamic interface (for example REST).

Representation:

{
    "type""com.vmware.vapi.std.errors.unexpected_input",
    "value"{
        "data"{},
        "messages"[
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "id""string"
            },
            {
                "args"[
                    "string",
                    "string"
                ],
                "default_message""string",
                "id""string"
            }
        ]
    }
}

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.