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

# Documentation

> Build an AI agent without code, so you can turn it into something people pay for. Make money with Duraton.ai.

Duraton is where anyone builds an AI agent without writing code - so you can turn it into
something people pay for. Have a problem AI can solve? Build the agent, no coding required.

Every other builder shows you a chat log. Duraton shows you the reason to trust what your agent
did:

| Check | What it means |
| - | - |
| **Step record** | every action your agent took, in order - not just its final answer |
| **Approval before it happens** | the risky ones park on a person's decision before they run |
| **Replay** | re-run any completed run and see exactly what happened |

[Build your first agent](/start/first-agent) in the console - no code.

<CardGroup cols={2}>
  <Card title="Build your first agent" href="/start/first-agent" icon="rocket">
    Sign in, add a model provider key, and publish an agent from the console.
  </Card>

  <Card title="Agent kit" href="/agent-kit" icon="bot">
    `agent()` and `tool()` in code: an agent whose every turn and tool call is a durable step.
  </Card>

  <Card title="AI" href="/ai" icon="sparkles">
    Durable model calls, approvals, guardrails, spend caps, streaming, and observability.
  </Card>

  <Card title="Developers" href="/start/quickstart" icon="code">
    The durable runtime, the TypeScript SDK, the REST API, and the protocol a runner speaks.
  </Card>
</CardGroup>

## Building with code

The agent kit and the durable runtime underneath it are also available directly in code - the same
document a no-code agent publishes, authored by hand instead. Find the sentence closest to your own
problem.

| What you want | Where to go |
| - | - |
| "It must not act without a human on the risky stuff" | [Approvals](/ai/approvals): park the run on a person's decision, holding no worker |
| "My agent spends money and I can't sleep" | [Cost controls](/ai/cost-controls): halt before the call that would overspend, or pause over a rolling window |
| "My long agent dies halfway and starts over" | [Durable execution](/core/durable-execution): why a run resumes instead of restarting |
| "The model is down and my agent just fails" | [Cost controls](/ai/cost-controls): advance to the next model, and cache repeats at zero spend |
| "I want to see what it's doing right now" | [Watching a run](/core/realtime) and [Streaming](/ai/streaming): every step and token, live |
| "I need to show someone what the agent did" | [AI observability](/ai/observability): token and cost rollups read from the durable record |
| "I want to write the agent, not the loop" | [Agent kit](/agent-kit): `agent()`, `tool()`, approval-gated tools, structured output |

### Running anything else durably

The model call is optional. If you came here with an ordinary backend job rather than an agent,
start here.

| What you want | Where to go |
| - | - |
| "My background job dies halfway and starts over" | [Durable execution](/core/durable-execution): each step is saved when it completes, and the job resumes at the next one |
| "I need this to run on a schedule" | [Cron triggers](/core/triggers#cron-triggers): a schedule with no event behind it at all |
| "A flaky API keeps killing the whole job" | [Retries](/core/retries): only the failing step retries; the ones before it keep their results |
| "It has to wait hours or days for something" | [Steps](/core/steps): the run suspends holding no worker, and survives a restart while it waits |
| "The same job must not run twice for one input" | [Idempotency](/core/flow-control#idempotency): collapse repeats into a single run |
| "Too many jobs at once, and I'm rate-limited" | [Flow control](/core/flow-control): concurrency, throttle, rate limit, debounce, batch, priority, singleton |
| "A job failed and I need to re-run it" | [Control API](/reference/api/control): replay a finished run, or retry from the exact step that failed |

### Getting work in and out

| What you want | Where to go |
| - | - |
| "The work arrives from somewhere else" | [Integrations](/integrations): events, webhooks, or a schedule |
| "I need to receive a webhook from a third party" | [Webhooks](/integrations/webhooks): a signature-verified POST becomes an event that starts a run |
| "Something has to happen when it finishes" | [Outbound webhooks](/integrations/webhooks#ctx-webhook-send): signed delivery, retried, every attempt logged |
| "My agent should be able to operate Duraton" | [MCP server](/integrations/mcp-server): list and control runs, send events, decide approvals |

Or work straight through the [recipes](/start/recipes): one complete, paste-and-run workflow per
task.


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