> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sanas.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Result Codes

> Return-value enums for Initialize, CreateAudioProcessor, UpdateLanguageConfig, and cleanup

Always check the return value of `Initialize` and `CreateAudioProcessor` before proceeding.

## `InitSDKResult`

| Code                    | Meaning                                                            |
| ----------------------- | ------------------------------------------------------------------ |
| `kSuccess`              | SDK initialised successfully.                                      |
| `kAlreadyInitialized`   | `Initialize` was called more than once.                            |
| `kInvalidParameters`    | `apiKey` is missing or malformed.                                  |
| `kInitializationFailed` | Auth or endpoint resolution failed. Check the API key and network. |
| `kFailed`               | Unexpected internal error.                                         |

## `CreateProcessorResult`

| Code                     | Meaning                                                        |
| ------------------------ | -------------------------------------------------------------- |
| `kSuccess`               | Processor created. Starts in `kInitializing`.                  |
| `kSDKNotInitialized`     | Call `Initialize` first.                                       |
| `kInvalidParameters`     | For LT: both `languageIn` and `languageOut` must be non-empty. |
| `kUnsupportedSampleRate` | Use 8000, 16000, or 48000.                                     |
| `kProcessorLimitReached` | Server concurrency limit reached. Destroy idle processors.     |
| `kFailed`                | Unexpected internal error.                                     |

## `UpdateLanguageResult`

| Code                 | Meaning                              |
| -------------------- | ------------------------------------ |
| `kSuccess`           | Language config updated.             |
| `kProcessorNotReady` | Processor is not in `kReady` state.  |
| `kInvalidParameters` | Language codes are invalid or empty. |
| `kFailed`            | Unexpected internal error.           |

## `DestroyProcessorResult` / `ShutdownSDKResult`

| Code                                               | Meaning                                               |
| -------------------------------------------------- | ----------------------------------------------------- |
| `kSuccess`                                         | Operation completed successfully.                     |
| `kSDKNotInitialized`                               | SDK was not initialised.                              |
| `kInvalidProcessor` / `kProcessorAlreadyDestroyed` | The processor handle is invalid or already destroyed. |
| `kFailed`                                          | Unexpected internal error.                            |
