ErrorResponse

  • This document defines the ErrorResponse object, which is returned when an error occurs instead of the regular response, and should not be used for business logic-based rejections.

  • The ErrorResponse object includes fields like responseMetadata, errorDescription, and issuerErrorIdentifier, along with a union field called result which specifies the type of error.

  • Several specific error types are detailed, including InvalidApiVersion, InvalidPayloadSignature, InvalidPayloadEncryption, InvalidIdentifier, InvalidFieldValue, MissingRequiredField, InvalidDecryptedRequest, PermissionDenied, Forbidden, and InvalidState.

  • Each error type can have a specific JSON format, for instance InvalidApiVersion contains the requestVersion and the expectedVersion.

  • Depending on the error type, a suggestion for an appropriate HTTP code is provided.

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 (ResponseMetadata)
  },
  "errorDescription": string,
  "issuerErrorIdentifier": string,

  // Union field result can be only one of the following:
  "invalidApiVersion": {
    object (InvalidApiVersion)
  },
  "invalidPayloadSignature": {
    object (InvalidPayloadSignature)
  },
  "invalidPayloadEncryption": {
    object (InvalidPayloadEncryption)
  },
  "invalidIdentifier": {
    object (InvalidIdentifier)
  },
  "invalidFieldValue": {
    object (InvalidFieldValue)
  },
  "missingRequiredField": {
    object (MissingRequiredField)
  },
  "invalidDecryptedRequest": {
    object (InvalidDecryptedRequest)
  },
  "permissionDenied": {
    object (PermissionDenied)
  },
  "forbidden": {
    object (Forbidden)
  },
  "invalidState": {
    object (InvalidState)
  }
  // End of list of possible types for union field result.
}
Fields
responseMetadata

object (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 (InvalidApiVersion)

Used if the request's API version is unsupported. Advised HTTP Code: 400

invalidPayloadSignature

object (InvalidPayloadSignature)

Used if the signature of the payload is to an unknown or inactive key. Advised HTTP Code: 401

invalidPayloadEncryption

object (InvalidPayloadEncryption)

Used if the encryption of the payload is to an unknown or inactive key. Advised HTTP Code: 400

invalidIdentifier

object (InvalidIdentifier)

Used if an identifier sent in the request was invalid or unknown. Advised HTTP Code: 404

invalidFieldValue

object (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 (MissingRequiredField)

Used if a field that is required is unset in the request. Advised HTTP Code: 400

invalidDecryptedRequest

object (InvalidDecryptedRequest)

Used if the request payload could be decrypted, but the resulting message could not be parsed. Advised HTTP Code: 400

permissionDenied

object (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 (Forbidden)

Access to the requested resource is forbidden. Advised Http Code: 403

invalidState

object (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 (Version)
  },
  "expectedVersion": {
    object (Version)
  }
}
Fields
requestVersion

object (Version)

The invalid version that was specified on the request.

expectedVersion

object (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.