> ## 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.

# Delivery Guarantee Protocol • AI Agent SDK

> DeliveryGuaranteeProtocol: Protocol for at-least-once message delivery.

# DeliveryGuaranteeProtocol

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

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

Protocol for at-least-once message delivery.

Messages are stored, tracked, and retried until acknowledged.

## Methods

<CardGroup cols={2}>
  <Card title="store_message()" icon="function" href="../functions/DeliveryGuaranteeProtocol-store_message">
    Persist a message to the store.
  </Card>

  <Card title="acknowledge()" icon="function" href="../functions/DeliveryGuaranteeProtocol-acknowledge">
    Mark a message as acknowledged by a client.
  </Card>

  <Card title="nack()" icon="function" href="../functions/DeliveryGuaranteeProtocol-nack">
    Negative acknowledge - request redelivery.
  </Card>

  <Card title="get_unacknowledged()" icon="function" href="../functions/DeliveryGuaranteeProtocol-get_unacknowledged">
    Get pending unacknowledged messages for a client.
  </Card>

  <Card title="retry_unacknowledged()" icon="function" href="../functions/DeliveryGuaranteeProtocol-retry_unacknowledged">
    Redeliver all unacknowledged messages to a client.
  </Card>

  <Card title="purge_acknowledged()" icon="function" href="../functions/DeliveryGuaranteeProtocol-purge_acknowledged">
    Remove old acknowledged messages from the store.
  </Card>
</CardGroup>

## Source

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