Status codes

DLGaaS returns standard gRPC error codes  and HTTP status codes.

An HTTP status code of 200 means that Dialog successfully handled the user input and the dialog advanced to the next step. 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 within DLGaaS or another Mix service.

gRPC error codes

Here are some details about the specific meanings of the gRPC codes used in the context of DLGaaS.

HTTP status codes
Code Message Indicates
0 OK Normal operation
5 NOT FOUND The resource specified could not be found; for example:
  • No session corresponding to the session ID specified
  • No model found for the URN specified
  • Incorrect language code specified
  • Incorrect channel name specified
Troubleshooting: Make sure that the resource provided exists or that you have specified it correctly. See URN for details on the URN syntax.
9 FAILED_PRECONDITION In an Execute() or ExecuteStream() call, indicates that ASRaaS and/or NLUaaS returned 400 range status codes. In a Start() call, returned when a Dialog model was not provided.
11 OUT_OF_RANGE The provided session timeout is not in the expected range.

Troubleshooting: Specify a value between 0 and 90000 seconds (default is 900 seconds) and try again.
12 UNIMPLEMENTED The API version was not found or is not available on the URL specified. For example, a client using DLGaaS v1 is trying to access the dlgaas.beta.nuance.com URL.

Troubleshooting: See URLs to runtime services for the supported URLs.
13 INTERNAL There was an issue on the server side or interactions between sub systems have failed.

Troubleshooting: Contact Nuance.
16 UNAUTHENTICATED The credentials specified are incorrect or expired.

Troubleshooting: Make sure that you have generated the access token and that you are providing the credentials as described in Authorize your client application. Note that the token needs to be regenerated regularly. See Access token lifetime for details.

HTTP status codes

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

HTTP status codes
Code Message Indicates
200 Success Successful response.
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.
404 Not found The resource specified could not be found. For example:
  • No session corresponding to the session ID specified
  • No model found for the URN specified
  • The path of the HTTP endpoint includes a typo (for example, incorrect version)
Troubleshooting: Make sure that the resource provided exists or that you have specified it correctly. See URN for details on the URN syntax.
429 Too many requests The client application has reached the rate limit, either for the authorization service or runtime service. See Rate limits.
Troubleshooting: If the rate limit is related to the authorization service, make sure you are reusing the access token properly across requests.
500 Internal server error There was an issue on the server side.

Troubleshooting: Contact Nuance.

Examples

Here are some examples.

Incorrect URN

"grpc_message":"model [urn:nuance:mix/eng-USA/coffee_app_typo/mix.dialog] could not be found","grpc_status":5

Incorrect channel

"grpc_message":"channel is invalid, supported values are [Omni Channel VA, default] (error code: 5)","grpc_status":5}"

Session not found

"grpc_message":"Could not find session for [12345]","grpc_status":5}"

Incorrect credentials (HTTP)

"{"error":{"code":401,"status":"Unauthorized","reason":"Token is expired","message":"Access credentials are invalid"}\n","grpc_status":16}"