You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs). info

Apigee provides a set of fault codes for various features that help you to diagnose issues. For example, a typical `4xx` or `5xx` HTTP status code can be classified using one or more fault codes.

Fault codes provide you with useful information about runtime errors, including information about the source and name of the error in the following format: `[prefix].[error_name]`

For example: `steps.raisefault.RaiseFault`

In this example:

- `steps.raisefault` is the prefix that indicates the RaiseFault policy generated the error.
- `RaiseFault` is the error name that helps you determine the cause of the error. In this case, more information would be provided by the fault string.

  <br />

  > [!NOTE]
  > **Notes** :
  > - For policy errors, error-specific flow variables are populated that are useful for fault handling. See [What you need to know about policy errors](https://docs.apigee.com/api-platform/fundamentals/what-you-need-know-about-policy-errors).
  > - When [setting up alerts](https://docs.apigee.com/api-monitoring/alerts-notifications), fault codes are organized by category and subcategory, and display the human-readable name. When using the [Investigate](https://docs.apigee.com/api-monitoring/investigate) dashboard, the raw fault codes are displayed.
  >
  > <br />
  >
The following table summarizes the fault codes, organized by category and sub-category.

**Note** : When [setting up alerts](https://docs.apigee.com/api-monitoring/alerts-notifications), fault codes are organized by category and subcategory, and display the human-readable name. When [comparing relational activity between metrics](https://docs.apigee.com/api-monitoring/investigate), the raw fault codes are displayed.

| Category | Sub-category | Name | Fault Code |
|---|---|---|---|---|
| ## API protocol | ### HTTP | HTTP BadFormData | `protocol.http.BadFormData` |
| ## API protocol | ### HTTP | HTTP BadRequestPath | `protocol.http.BadPath` |
| ## API protocol | ### HTTP | HTTP DuplicateHeader | `protocol.http.DuplicateHeader` |
| ## API protocol | ### HTTP | HTTP EmptyHeaderName | `protocol.http.EmptyHeaderName` |
| ## API protocol | ### HTTP | HTTP HeaderNameWithNonASCIICharacter | `protocol.http.HeaderNameWithNonAsciiChar` |
| ## API protocol | ### HTTP | HTTP HeaderWithInvalidCharacter | `protocol.http.HeaderWithInvalidChar` |
| ## API protocol | ### HTTP | HTTP InvalidRequestPath | `protocol.http.InvalidPath` |
| ## API protocol | ### HTTP | HTTP LengthRequired | `messaging.adaptors.http.flow.LengthRequired` |
| ## API protocol | ### HTTP | HTTP ProxyTunnelCreationFailed | `protocol.http.ProxyTunnelCreationFailed` |
| ## API protocol | ### HTTP | HTTP RequestHasABigBody | `https://docs.apigee.com/api-platform/fundamentals/best-practices-api-proxy-design-and-development#size` |
| ## API protocol | ### HTTP | HTTP RequestsHaveABigLine | `protocol.http.TooBigLine` |
| ## API protocol | ### HTTP | HTTP Response306IsReserved | `protocol.http.Response306Reserved` |
| ## API protocol | ### HTTP | HTTP Response405WithoutAllowHeader | `protocol.http.Response405WithoutAllowHeader` |
| ## API protocol | ### HTTP | ResponseWithBodyForIncorrectStatusCode | `protocol.http.ResponseWithBody` |
| ## API protocol | ### HTTP | HTTP TargetURLHasEmptyPath | `protocol.http.EmptyPath` |
| ## API protocol | ### HTTP | HTTP TooBigHeaders | `protocol.http.TooBigHeaders` |
| ## API protocol | ### HTTP | HTTP UnsupportedEncoding | `protocol.http.UnsupportedEncoding` |
| ## Developer/app | ### Key Management | KeyManagement AccessTokenNotApproved | `keymanagement.service.access_token_not_approved` |
| ## Developer/app | ### Key Management | KeyManagement APIProductNotFound | `keymanagement.service.InvalidAPICallAsNoApiProductMatchFound` |
| ## Developer/app | ### Key Management | KeyManagement AppNotApproved | `keymanagement.service.invalid_client-app_not_approved` |
| ## Developer/app | ### Key Management | KeyManagement AppNotApproved | `keymanagement.service.app_not_approved` |
| ## Developer/app | ### Key Management | KeyManagement AuthorizationCodeExpired | `keymanagement.service.access_denied-authorization_code_expired` |
| ## Developer/app | ### Key Management | KeyManagement AuthorizationCodeinvalid | `keymanagement.service.invalid_request-authorization_code_invalid` |
| ## Developer/app | ### Key Management | KeyManagement ClientIDAuthorizationCodeMismatch | `keymanagement.service.invalid_client-client_id_authorzation_code_mismatch` |
| ## Developer/app | ### Key Management | KeyManagement ClientIDNotApproved | `keymanagement.service.invalid_client-client_id_not_approved` |
| ## Developer/app | ### Key Management | KeyManagement CompanyStatusNotActive | `keymanagement.service.CompanyStatusNotActive` |
| ## Developer/app | ### Key Management | KeyManagement Consumer Key Expired | `keymanagement.service.consumer_key_expired` |
| ## Developer/app | ### Key Management | KeyManagement DeveloperNotActive | `keymanagement.service.DeveloperStatusNotActive` |
| ## Developer/app | ### Key Management | KeyManagement InvalidAccessToken | `keymanagement.service.oauth10_access_token_doesnotexist` |
| ## Developer/app | ### Key Management | KeyManagement InvalidClientID | `keymanagement.service.InvalidClientIdForGivenResource` |
| ## Developer/app | ### Key Management | KeyManagement InvalidClientID | `keymanagement.service.invalid_client-client_id_authorzation_code_mismatch` |
| ## Developer/app | ### Key Management | KeyManagement InvalidClientID | `keymanagement.service.invalid_client-invalid_client_id` |
| ## Developer/app | ### Key Management | KeyManagement InvalidConsumerKey | `keymanagement.service.invalid_consumer_key` |
| ## Developer/app | ### Key Management | KeyManagement InvalidRefreshToken | `keymanagement.service.invalid_refresh_token` |
| ## Developer/app | ### Key Management | KeyManagement RefreshTokenExpired | `keymanagement.service.refresh_token_expired` |
| ## Extension Policy | ### JavaCallout | JavaCallout *errorname* | See [JavaCallout policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/java-callout-policy#runtime-errors) |
| ## Extension Policy | ### JavaScript Callout | JavaScriptCallout *errorname* | See [JavaScript policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/javascript-policy#runtime-errors) |
| ## Extension Policy | ### MessageLogging | MessageLogging StepDefinitionExecutionFailed | `steps.messagelogging.StepDefinitionExecutionFailed` |
| ## Extension Policy | ### Node Script | NodeScript ExecutionError | `scripts.node.ScriptExecutionError` |
| ## Extension Policy | ### PythonScript | PythonScript *errorname* | See [PythonScript policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/python-script-policy#runtime-errors) |
| ## Extension Policy | ### Script | Script EvaluationFailed | `steps.script.ScriptEvaluationFailed` |
| ## Extension Policy | ### ServiceCallout | ServiceCallout *errorname* | See [ServiceCallout policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/service-callout-policy#runtime-errors) |
| ## Gateway | ### Proxy | Gateway APITimedOut | `flow.APITimedOut` |
| ## Gateway | ### Proxy | Gateway ApplicationNotFound | `messaging.adaptors.http.flow.ApplicationNotFound` |
| ## Gateway | ### Proxy | Gateway DecompressionFailureAtRequest | `messaging.adaptors.http.flow.DecompressionFailureAtRequest` |
| ## Gateway | ### Proxy | Gateway DecompressionFailureAtResponse | `messaging.adaptors.http.flow.DecompressionFailureAtResponse` |
| ## Gateway | ### Proxy | Gateway KeyAliasNotFound | `security.util.KeyAliasNotFound` |
| ## Gateway | ### Proxy | Gateway RouteToTargetFailed | `messaging.runtime.RouteFailed` |
| ## Gateway | ### Proxy | Gateway SharedFlowNotFound | `flow.SharedFlowNotFound` |
| ## Gateway | ### Proxy | Gateway TargetIsMissing | `messaging.runtime.TargetMissing` |
| ## Gateway | ### Target | Gateway FailedHandshakeWithTargetEndpoint | `messaging.adaptors.http.flow.SslHandshakeFailed` |
| ## Gateway | ### Target | Gateway TimeoutWithTargetOrCallout | [messaging.adaptors.http.flow.GatewayTimeout](https://docs.apigee.com/api-platform/troubleshoot/runtime/504-gateway-timeout) |
| ## Gateway | ### Target | Gateway TargetOrCalloutEndpointsNotAvailable | [messaging.adaptors.http.flow.ServiceUnavailable](https://docs.apigee.com/api-platform/troubleshoot/runtime/503-service-unavailable) |
| ## Gateway | ### Target | Gateway TargetServerConfiguredInLoadBalancerIsDown | `messaging.adaptors.http.flow.NoActiveTargets` |
| ## Gateway | ### Target | Gateway UnexpectedEOFAtTarget | [messaging.adaptors.http.flow.UnexpectedEOFAtTarget](https://docs.apigee.com/api-platform/troubleshoot/runtime/502-bad-gateway#errormessages) |
| ## Gateway | ### Other | Gateway HTTPErrorResponseCode | `messaging.adaptors.http.flow.ErrorResponseCode` |
| ## Gateway | ## Mediation Policy | ### AssignMessage | AssignMessage *errorname* | See [AssignMessage policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/assign-message-policy#runtime-errors) |
| ## Gateway | ## Mediation Policy | ### ExtractVariables | ExtractVariables *errorname* | See [ExtractVariables policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/extract-variables-policy#runtime-errors) |
| ### JSONtoXML | ## Mediation Policy | JSONtoXML *errorname* | See [JSONtoXML policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/json-xml-policy#runtime-errors) |
| ### KeyValueMap | ## Mediation Policy | KeyValueMap *errorname* | See [KeyValueMapOperations policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/error-code-reference#keyvaluemapoperationspolicy) |
| ### MessageValidation | ## Mediation Policy | MessageValidation *errorname* | See [SOAPMessageValidation policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/error-code-reference#soapmessagevalidationpolicy) |
| ### RaiseFault | ## Mediation Policy | RaiseFault RaiseFaultException | `steps.raisefault.RaiseFault` |
| ### XMLtoJSON | ## Mediation Policy | XMLtoJSON *errorname* | See [XMLtoJSON policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/xml-json-policy#runtime-errors) |
| ### XSLTransformation | ## Mediation Policy | XSLTransformation *errorname* | See [XSLTransform policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/xsl-transform-policy#runtime-errors) |
| ## Monetization |   | Mint UndefinedProduct | `mintstep.undefinedProduct` |
| ## Security Policy | ### AccessControl | AccessControl *errorname* | See [AccessControl policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/error-code-reference#runtime-errors) |
| ## Security Policy | ### BasicAuthentication | BasicAuthentication *errorname* | See [BasicAuthentication policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/basic-authentication-policy#runtime-errors) |
| ## Security Policy | ### JSONThreatProtection | JSONThreatProtection *errorname* | See [JSONThreatProtection policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/json-threat-protection-policy#runtime-errors) |
| ## Security Policy | ### JWT | JWT *errorname* | See [JWT policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/generate-jwt-policy#generate-jwt-runtime-errors) |
| ## Security Policy | ### OAuth | OAuth *errorname* | See [OAuth V2 policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/oauthv2-policy#runtime-errors) |
| ## Security Policy | ### Regex Protection | RegexProtection *errorname* | See [RegularExpressionProtection policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/regular-expression-protection#runtime-errors) |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion InvalidKeyStore | `steps.saml.generate.InvalidKeyStore` |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion InvalidMediaType | `steps.saml.generate.InvalidMediaTpe` |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion InvalidTrustStore | `steps.saml.validate.InvalidTrustStore` |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion SAMLAssertionForNotBeforeConditionViolated | `steps.saml.validate.NotBeforeConditionViolated` |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion SignatureValidationFailed | `steps.saml.validate.SignatureValidationFailed` |
| ## Security Policy | ### SAMLAssertion | SAMLAssertion XPathResolutionFailed | `steps.saml.validate.XPathResolutionFailed` |
| ## Security Policy | ### XMLThreatProtection | XMLThreatProtection *errorname* | See [XMLThreatProtection policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/xml-threat-protection-policy#runtime-errors) |
| ## Sense | ### Sense | Sense RaiseFault | `messaging.runtime.SenseRaiseFault` |
| ## Traffic Mgmt Policy | ### Caching | Caching InvalidExpiryDatForCacheEntry | `messaging.config.beans.InvalidExpiryDateForCacheEntry` |
| ## Traffic Mgmt Policy | ### ConcurrentRateLimit | ConcurrentRateLimit ConcurrentRateLimitViolation | `policies.concurrentratelimit.ConcurrentRatelimitViolation` |
| ## Traffic Mgmt Policy | ### Quota | Quota *errorname* | See [Quota policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/quota-policy#runtime-errors) |
| ## Traffic Mgmt Policy | ### Quota or SpikeArrest | QuotaOrSpikeArrest InvalidMessageWeight | [policies.ratelimit.InvalidMessageWeight](https://docs.apigee.com/api-platform/reference/policies/quota-policy#runtime-errors) |
| ## Traffic Mgmt Policy | ### ResetQuota | ResetQuota *errorname* | See [ResetQuota policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/reset-quota-policy#errorcodes) |
| ## Traffic Mgmt Policy | ### SpikeArrest | SpikeArrest *errorname* | See [SpikeArrest policy runtime errors](https://docs.apigee.com/api-platform/reference/policies/spike-arrest-policy#runtime-errors) |