# ErrorResponse

- [Error Response body](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#body.error_response_body)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#body.ErrorResponse.SCHEMA_REPRESENTATION)
- [InvalidApiVersion](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidApiVersion)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidApiVersion.SCHEMA_REPRESENTATION)
- [InvalidPayloadSignature](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadSignature)
- [InvalidPayloadEncryption](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadEncryption)
- [InvalidIdentifier](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidIdentifier)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidIdentifier.SCHEMA_REPRESENTATION)
- [InvalidFieldValue](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidFieldValue)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidFieldValue.SCHEMA_REPRESENTATION)
- [MissingRequiredField](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#MissingRequiredField)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#MissingRequiredField.SCHEMA_REPRESENTATION)
- [InvalidDecryptedRequest](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidDecryptedRequest)
- [PermissionDenied](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#PermissionDenied)
  - [JSON representation](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#PermissionDenied.SCHEMA_REPRESENTATION)
- [Forbidden](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#Forbidden)
- [InvalidState](https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidState)

ErrorResponse object for all methods. This is returned instead of the usual response type, when there is an error. This object should not be used for business logic based rejections.

| JSON representation |
|---|
| ``` { "responseMetadata": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ResponseMetadata`) }, "errorDescription": string, "issuerErrorIdentifier": string, // Union field `result` can be only one of the following: "invalidApiVersion": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidApiVersion`) }, "invalidPayloadSignature": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadSignature`) }, "invalidPayloadEncryption": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadEncryption`) }, "invalidIdentifier": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidIdentifier`) }, "invalidFieldValue": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidFieldValue`) }, "missingRequiredField": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#MissingRequiredField`) }, "invalidDecryptedRequest": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidDecryptedRequest`) }, "permissionDenied": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#PermissionDenied`) }, "forbidden": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#Forbidden`) }, "invalidState": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidState`) } // End of list of possible types for union field `result`. } ``` |

| Fields ||
|---|---|
| `responseMetadata` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ResponseMetadata`)`` The metadata about the response, required in all responses. |
| `errorDescription` | `string` Provide a description of this status for support reps to debug errors. Note that this is never shown to users. It can contain descriptive, non-sensitive text used for debugging. Note that some values for errorResponseCode should be accompanied by additional detail in this field. Warning: Do not include any PII in this message. |
| `issuerErrorIdentifier` | `string` This identifier is specific to the issuer and is generated by the issuer. It is used for debugging purposes only in order to identify this error. This is the identifier that the issuer knows this error by. |
| Union field `result`. A oneof that captures the type of error that occurred. `result` can be only one of the following: ||
| `invalidApiVersion` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidApiVersion`)`` Used if the request's API version is unsupported. Advised HTTP Code: 400 |
| `invalidPayloadSignature` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadSignature`)`` Used if the signature of the payload is to an unknown or inactive key. Advised HTTP Code: 401 |
| `invalidPayloadEncryption` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidPayloadEncryption`)`` Used if the encryption of the payload is to an unknown or inactive key. Advised HTTP Code: 400 |
| `invalidIdentifier` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidIdentifier`)`` Used if an identifier sent in the request was invalid or unknown. Advised HTTP Code: 404 |
| `invalidFieldValue` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidFieldValue`)`` Used if the request contains a value for a field that isn't in the set of supported values. Advised HTTP Code: 400 |
| `missingRequiredField` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#MissingRequiredField`)`` Used if a field that is required is unset in the request. Advised HTTP Code: 400 |
| `invalidDecryptedRequest` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidDecryptedRequest`)`` Used if the request payload could be decrypted, but the resulting message could not be parsed. Advised HTTP Code: 400 |
| `permissionDenied` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#PermissionDenied`)`` Used if the request was declined due to issues related to any permission credentials that Google sends in the API calls. Advised HTTP Code: 403 |
| `forbidden` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#Forbidden`)`` Access to the requested resource is forbidden. Advised Http Code: 403 |
| `invalidState` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/ErrorResponse#InvalidState`)`` Used if a request was made, but the system is not in a valid state to perform the request. Ex: mdl.provisionCredential is called with a Rejected proofing. Advised HTTP Code: 400 |

## InvalidApiVersion

Object containing information about an invalid API version error.

| JSON representation |
|---|
| ``` { "requestVersion": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/RequestMetadata#Version`) }, "expectedVersion": { object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/RequestMetadata#Version`) } } ``` |

| Fields ||
|---|---|
| `requestVersion` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/RequestMetadata#Version`)`` The invalid version that was specified on the request. |
| `expectedVersion` | ``object (`https://developers.google.com/wallet/identity/provisioning/api-reference/issuer-hosted/rest/v1/RequestMetadata#Version`)`` The expected version. |

## InvalidPayloadSignature

This message is intentionally empty right now. New fields could be added in the future.

## InvalidPayloadEncryption

This message is intentionally empty right now. New fields could be added in the future.

## InvalidIdentifier

Object containing information about an invalid identifier error.

| JSON representation |
|---|
| ``` { "invalidIdentifierType": string } ``` |

| Fields ||
|---|---|
| `invalidIdentifierType` | `string` The type of identifier that was invalid, e.g. proofing id, document id, etc. |

## InvalidFieldValue

Object containing information about an invalid field value error.

| JSON representation |
|---|
| ``` { "invalidFieldName": string } ``` |

| Fields ||
|---|---|
| `invalidFieldName` | `string` The name of the field that was found to be invalid. |

## MissingRequiredField

Object containing information about an missing required field error.

| JSON representation |
|---|
| ``` { "missingFieldNames": [ string ] } ``` |

| Fields ||
|---|---|
| `missingFieldNames[]` | `string` The names of the missing fields. |

## InvalidDecryptedRequest

This message is intentionally empty right now. New fields could be added in the future.

## PermissionDenied

Object containing information about a permission denied error.

| JSON representation |
|---|
| ``` { "reason": string } ``` |

| Fields ||
|---|---|
| `reason` | `string` The reason for denying the permission. |

## Forbidden

This message is intentionally empty right now. New fields could be added in the future.

## InvalidState

This message is intentionally empty right now. New fields could be added in the future.