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

# In Memory Callback Payload Store • AI Agent SDK

> InMemoryCallbackPayloadStore: Bounded, zero-dependency in-memory :class:`CallbackPayloadStoreProtocol`.

# InMemoryCallbackPayloadStore

> Defined in the [**protocols**](../modules/protocols) module.

<Badge color="blue">AI Agent</Badge>

Bounded, zero-dependency in-memory :class:`CallbackPayloadStoreProtocol`.

The default store when a channel does not inject a durable one. Entries are
kept until their `expires_at` and the store is capped at `max_entries`
(oldest inserted evicted first) so a long-running process cannot grow
unbounded. This is per-process only; durable, restart-surviving persistence
belongs to a runtime-provided backend (as approvals already do).

## Methods

<CardGroup cols={2}>
  <Card title="put()" icon="function" href="../functions/InMemoryCallbackPayloadStore-put">
    Instance method.
  </Card>

  <Card title="get()" icon="function" href="../functions/InMemoryCallbackPayloadStore-get">
    Instance method.
  </Card>
</CardGroup>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/bots/protocols.py#L1413">
  `praisonaiagents/bots/protocols.py` at line 1413
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Memory Concept" icon="brain" href="/docs/docs/concepts/memory" />

  <Card title="Memory Overview" icon="database" href="/docs/docs/memory/overview" />

  <Card title="Memory Configuration" icon="gear" href="/docs/docs/configuration/memory-config" />

  <Card title="Session Resume" icon="rotate-right" href="/docs/docs/memory/session-resume" />
</CardGroup>
