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

# Personal agent

> Reach one personal agent from every Darwin client.

`POST /agent/messages` sends a turn to the authenticated user's personal agent. `GET /agent/conversation` returns the same conversation history.

## One agent, many channels

Web, iOS, MCP, iMessage, WhatsApp, SDKs, and the CLI are access channels. They do not create separate agents or separate identities.

## Idempotent requests

Set `requestId` to a stable caller-generated value when retrying a message. Darwin uses it to correlate retries and downstream work without changing the authenticated owner.

## Tool use

The agent receives only tools allowed by the current owner-scoped turn grant. Account-sensitive actions pass through Darwin's Action Gateway, which:

1. resolves the authenticated owner;
2. verifies scopes, resource ownership, connections, and approvals;
3. executes the action with the correct credential;
4. records an audit event.

External writes may return `approval_required`. Present the approval to the user instead of retrying the write automatically.

<Note>
  The Agent reasons about a request, but the API remains the policy and credential boundary.
</Note>
