# FoundryCheckpointSaver

> **Class** in `langchain_azure_ai`

📖 [View in docs](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver)

Persist LangGraph checkpoints in Microsoft Foundry state stores.

Each LangGraph ``thread_id`` maps to one state store named
``{store_name_prefix}/{thread_id}``. Checkpoint namespaces and IDs are
encoded in item keys within that store. The saver is async-only; use it
with ``graph.ainvoke`` or ``graph.astream``.

## Signature

```python
FoundryCheckpointSaver(
    self,
    credential: AsyncTokenCredential | None = None,
    endpoint: FoundryStorageEndpoint | str | None = None,
    *,
    store_name_prefix: str = DEFAULT_STORE_NAME_PREFIX,
    user_isolation: bool = True,
    item_ttl_seconds: int = DEFAULT_ITEM_TTL_SECONDS,
    api_version: str = 'v1',
    serde: SerializerProtocol | None = None,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `credential` | `AsyncTokenCredential \| None` | No | Optional async Azure credential. Omit to use ``DefaultAzureCredential``. (default: `None`) |
| `endpoint` | `FoundryStorageEndpoint \| str \| None` | No | Foundry project or storage endpoint. When omitted, the SDK resolves ``FOUNDRY_PROJECT_ENDPOINT``. (default: `None`) |
| `store_name_prefix` | `str` | No | Prefix used for per-thread store names. (default: `DEFAULT_STORE_NAME_PREFIX`) |
| `user_isolation` | `bool` | No | Partition items by the hosted request's end user. (default: `True`) |
| `item_ttl_seconds` | `int` | No | Sliding item TTL configured when a thread store is first created. ``-1`` disables expiration. (default: `DEFAULT_ITEM_TTL_SECONDS`) |
| `api_version` | `str` | No | Foundry storage API version. (default: `'v1'`) |
| `serde` | `SerializerProtocol \| None` | No | Optional LangGraph serializer. (default: `None`) |

## Extends

- `BaseCheckpointSaver`

## Constructors

```python
__init__(
    self,
    credential: AsyncTokenCredential | None = None,
    endpoint: FoundryStorageEndpoint | str | None = None,
    *,
    store_name_prefix: str = DEFAULT_STORE_NAME_PREFIX,
    user_isolation: bool = True,
    item_ttl_seconds: int = DEFAULT_ITEM_TTL_SECONDS,
    api_version: str = 'v1',
    serde: SerializerProtocol | None = None,
) -> None
```

| Name | Type |
|------|------|
| `credential` | `AsyncTokenCredential \| None` |
| `endpoint` | `FoundryStorageEndpoint \| str \| None` |
| `store_name_prefix` | `str` |
| `user_isolation` | `bool` |
| `item_ttl_seconds` | `int` |
| `api_version` | `str` |
| `serde` | `SerializerProtocol \| None` |


## Methods

- [`aclose()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/aclose)
- [`aget_tuple()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/aget_tuple)
- [`alist()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/alist)
- [`aput()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/aput)
- [`aput_writes()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/aput_writes)
- [`adelete_thread()`](https://reference.langchain.com/python/langchain-azure-ai/agents/hosting/_foundry_checkpoint_saver/FoundryCheckpointSaver/adelete_thread)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-azure/blob/7a6a664d617264df8dcb12fcfb1bacc09f21d504/libs/azure-ai/langchain_azure_ai/agents/hosting/_foundry_checkpoint_saver.py#L111)