Status codes

NLUaaS returns standard gRPC error codes  and HTTP status codes.

gRPC includes error and exception handling facilities. Use these gRPC features to confirm the success or failure of a request.

NLU also returns a status message confirming the outcome of an InterpretRequest call. The status field in InterpretResponse contains an HTTP status code, a brief description of this status, and in the case of an error or warning, a longer description with details on specifics.

HTTP status codes

Here are some details about the specific meanings of the HTTP status codes used in the context of NLUaaS.

Success

An HTTP status code of 200 means that NLU successfully interpreted the input. A successful interpretation with no other issues will be indicated by a code of 200 and a message of “OK”.

Success with warnings

Note that a successful interpretation may include warnings. This is indicated by a code of 200 and a message of “Success with warnings”.

You should pay careful attention to warnings, since they will indicate issues that may prevent your model from performing as expected. Warnings can occur in a number of situations, including:

  • Entities named in a wordset are not defined in the associated NLU model
  • Entities named in a wordset are not declared as dynamic in the associated NLU model
  • One or more compiled wordsets were compiled with a different NLU model
  • One or more compiled wordsets could not be loaded

Failure

Values in the 400 range indicate an error in the request that your client app sent.

Values in the 500 range indicate an internal error with NLUaaS.

Summary of status codes

The table below describes details of status codes and messages.

Status codes
Code Message Indicates
200 OK Successful interpretation with no warnings.
200 Success with warnings The interpret request was successful, but there are issues that raised a warning, for example, a problem with a wordset.
400 Bad request A malformed or unsupported client request was rejected.
401 Unauthorized The request could not be authorized. Make sure you have provided Mix credentials and/or generated an OAuth token.
See Authorize your client application.
403 Forbidden The request specified a resource the client is not authorized to use.
404 Not found The resource specified could not be found.
415 Unsupported resource type The resources specified is not supported.
429 Too many requests The client application has reached the rate limit, either for the authorization service or runtime service. See Rate limits.
500-511 Internal server error There was an issue on the server side.