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

# Send Result • AI Agent SDK

> SendResult: Result of a single outbound send/edit through an adapter.

# SendResult

> Defined in the [**base**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/base.md) module.

AI Agent

Result of a single outbound send/edit through an adapter.

A small, transport-neutral value returned by :meth:`BasePlatformAdapter.send`
and the default delivery helpers so callers can react uniformly regardless
of platform.

Attributes:
ok: Whether the send succeeded.
message\_id: Platform message id of the last message sent (if any). For
a chunked delivery this is the id of the final chunk.
chat\_id: The chat/channel the message was delivered to.
message\_ids: All platform message ids produced (one per chunk).
error: Human-readable error string when `ok` is False.
error\_kind: Structured, machine-readable classification of *why* the
send failed (see :class:`SendErrorKind`). `None` on success or
when a legacy adapter reports a failure without classifying it.
retryable: Whether the failure is worth retrying. Derived from
`error_kind` (permanent kinds → False); defaults True so an
unclassified failure preserves the historical retry-everything
behaviour rather than being silently dropped.
retry\_after: Suggested seconds to wait before retrying (from the
platform's rate-limit response, if provided).
queued: True when the send was persisted to a durable outbox for later
delivery rather than delivered inline (`status == "queued"`).
duplicate: True when a crash-recovered re-send may be a duplicate —
an honest at-least-once outcome (`status == "duplicate"`).
metadata: Additional platform-specific result details.

## Properties

**ok** `bool`

No description available.

**message\_id** `Optional[str]`

No description available.

**chat\_id** `Optional[str]`

No description available.

**message\_ids** `List[str]`

No description available.

**error** `Optional[str]`

No description available.

**error\_kind** `Optional[SendErrorKind]`

No description available.

**retryable** `bool`

No description available.

**retry\_after** `Optional[float]`

No description available.

**queued** `bool`

No description available.

**duplicate** `bool`

No description available.

**metadata** `Dict[str, Any]`

No description available.

## Methods

> [card] [status()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/SendResult-status.md)
>
> Closed, branchable delivery outcome for the send contract.

> [accordion] Internal & Generic Methods
>
> * **to\_dict**: Convert to a plain dictionary.

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/bots/base.py#L346)
>
> `praisonaiagents/bots/base.py` at line 346


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.