# Universal Speech Access API errors

This topic provides a summary of Universal Speech Access API error codes. All USAI functions return a status code. The return code is either SUCCESS (0) or an error code indicating that the function failed and a reason for the failure.

Universal Speech Access API error codes are defined in the saidef.h and ctaerr.h include files. The error codes are prefixed with SAIERR_ or CTAERR_.

## Alphabetical listing

The following table alphabetically lists the USAI errors (all errors are 32 bits):

Error name | Description
SAIERR_ENGINE_FAILED | Failed to create a new USAI speech engine object.
SAIERR_ENGINE_NOT_READY | Application attempted to use a synthesizer engine that is not in a ready state.
SAIERR_FAILED | General error code failure occurred.
SAIERR_FAILED_TO_GET_LICENCE | License file was not present when the application attempted to open the USAI with ctaInitialize.
SAIERR_FAILED_TO_QUEUE_EVENT | USAI failed to queue an event in the NaturalAccess queue.
SAIERR_INVALID_PARAMETER | Value specified for one of the mandatory arguments is invalid.
SAIERR_LIST_EMPTY | Specified grammar list contains no entries.
SAIERR_LIST_NOT_INITIALIZED | Application attempted to use a non-initialized grammar list.
SAIERR_NO_MORE_LICENSED_PORT_AVAILABLE | Application exceeded the maximum number of licensed ports when invoking saiCreateSynthesizer or saiCreateRecognizer.
SAIERR_NOT_ENOUGH_MEMORY | Not enough memory space when attempting to initialize or format speech grammar lists.
SAIERR_UNSUPPORTED_SPEECH_PARAMETER | Application specified an unsupported vendor parameter.
SAIERR_VENDOR_SPECIFIC_ERROR | At least one of the parameters specified in a vendor-specific parameter function was not previously added to the local database.

## Numerical listing

The following table numerically lists the USAI errors:

Hex | Decimal | Error name
0x320001 | 3276801 | SAIERR_ENGINE_FAILED
0x320002 | 3276802 | SAIERR_ENGINE_NOT_READY
0x320003 | 3276803 | SAIERR_INVALID_PARAMETER
0x320004 | 3276804 | SAIERR_LIST_NOT_INITIALIZED
0x320005 | 3276805 | SAIERR_NOT_ENOUGH_MEMORY
0x320006 | 3276806 | SAIERR_FAILED
0x320007 | 3276807 | SAIERR_UNSUPPORTED_SPEECH_PARAMETER
0x320008 | 3276808 | SAIERR_FAILED_TO_QUEUE_EVENT
0x320009 | 3276809 | SAIERR_VENDOR_SPECIFIC_ERROR
0x32000A | 3276810 | SAIERR_NO_MORE_LICENSED_PORT_AVAILABLE
0x32000B | 3276811 | SAIERR_FAILED_TO_GET_LICENCE
0x32000D | 3276813 | SAIERR_LIST_EMPTY