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

# in10nt SDK

> Build and deploy AI agents with custom environments

## Overview

`in10nt` provides a simplified API for creating and managing AI coding agents with custom Docker environments. The SDK has been streamlined to 3 core flows:

<CardGroup cols={3}>
  <Card title="Container Templates" icon="docker">
    Create custom environments with your base images
  </Card>

  <Card title="Instances" icon="server">
    Create and manage VM instances
  </Card>

  <Card title="Task Execution" icon="terminal">
    Run AI-powered coding tasks
  </Card>
</CardGroup>

## Quick Example

### Zero-config path

```typescript theme={null}
import { Instance } from '@in10nt/sdk';

// No client needed — uses IN10NT_API_KEY env var
const instance = await Instance.create({
  name: 'my-agent',
  description: 'Build an API'
});

const result = await instance.run('Build a REST API for user management');
console.log(result.response);
console.log('Preview:', instance.getProxyUrl(5173));

await instance.destroy();
```

### Client path (multiple resources)

```typescript theme={null}
import { In10ntClient } from '@in10nt/sdk';

const client = new In10ntClient({
  apiKey: process.env.IN10NT_API_KEY
});

const instance = await client.instances.create({
  name: 'my-agent',
  description: 'Build an API'
});

const result = await instance.run('Build a REST API for user management');
console.log(result.response);
```

## Key Features

* **`Static Factory Methods`**: `Instance.create()`, `Instance.connect()`, `Instance.list()` — no client needed
* **`Full TypeScript`**: Ships `.d.ts` + source maps, ESM-only
* **`Namespaced Sub-modules`**: `instance.tasks.*`, `instance.ports.*`, `instance.files.*`, `instance.tools.*`, `instance.integrations.*`
* **`Custom Environments`**: Use any Docker image as your base
* **`Auto Health Checks`**: Automatic instance readiness detection
* **`Configurable Everything`**: Model, timeout, poll interval, health checks all settable per-call
* **`Typed Errors`**: Catch `TimeoutError`, `HealthCheckError`, `TaskPollError`, etc.
* **`Logger Injection`**: Zero `console.log` in library code — opt in with `createConsoleLogger()`

## Get Started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/getting-started/quickstart">
    Get up and running in 5 minutes
  </Card>

  <Card title="Authentication" icon="key" href="/getting-started/authentication">
    Learn how to authenticate your requests
  </Card>

  <Card title="API Reference" icon="code" href="/api/instances">
    Explore the complete API documentation
  </Card>

  <Card title="Examples" icon="book" href="/guides/examples">
    See real-world usage examples
  </Card>
</CardGroup>

## SDK Architecture

```
In10ntClient
├── instances: InstanceManager
├── templates: ContainerTemplateManager
├── savedTemplates: SavedTemplateManager
└── usage: UsageManager

Instance
├── tasks: TasksNamespace
├── ports: PortsNamespace
├── files: FilesNamespace
├── tools: ToolsNamespace
└── integrations: IntegrationsNamespace
```

The SDK uses `axios` for HTTP requests and provides both a zero-config static API (`Instance.create()`) and a full client (`In10ntClient`) for managing multiple resources.
