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

# initialize

> Initialize the SDK. Must be called before any context operations.

```python theme={null}
await sdk.initialize()
```

Performs the one-time setup that must run before any other SDK call. `initialize()` resolves the Synap API key (from the `api_key=` constructor kwarg first, then the `SYNAP_API_KEY` environment variable), establishes the authenticated client identity, sets up the optional local cache, and starts the telemetry collector. Calling it a second time on the same SDK instance is a safe no-op.

### Parameters

This method takes no parameters.

### Returns

Returns `None`.

### Example

```python theme={null}
import os
from maximem_synap import MaximemSynapSDK

sdk = MaximemSynapSDK(api_key=os.environ["SYNAP_API_KEY"])
await sdk.initialize()

# SDK is now ready for context operations.
ctx = await sdk.fetch(user_id="user-456")
```

### Raises

* `AuthenticationError`: when no API key is supplied (neither `api_key=` nor `SYNAP_API_KEY`), the key is rejected by the platform, or credential loading otherwise fails.

See [Error Codes](/sdk-reference/errors) for the full SDK exception hierarchy.

### See also

* [configure](/sdk-reference/lifecycle/configure): adjust SDK-wide options before `initialize()`.
* [shutdown](/sdk-reference/lifecycle/shutdown): flush telemetry and release resources on exit.
* [fetch](/sdk-reference/context/fetch): the recommended cross-scope context entry point.
