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

# Intern

Public lifecycle state and settings for one intern.

## Example Usage

```typescript theme={null}
import { Intern } from "@openrouter/sdk/models";

let value: Intern = {
  attachedVaultId: null,
  createdAt: "2026-09-16T08:30:00.000Z",
  description: "Researches customer questions",
  hostname: "research-assistant.openrouter.ai",
  id: "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  instructions: null,
  lastFailureMessage: null,
  model: "openai/gpt-5.4",
  name: "research-assistant",
  progress: null,
  status: "running",
  updatedAt: "2026-09-16T08:45:00.000Z",
  vaultId: "b431c59d-6eed-41ac-bc89-9a89be79a121",
  workspaceId: "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb",
};
```

## Fields

| Field | Type | Required | Description |
| - | - | - | - |
| `attachedVaultId` | *string* | :heavy\_check\_mark: | Vault the intern borrows from another intern, or null when it borrows none. |
| `createdAt` | *string* | :heavy\_check\_mark: | ISO 8601 creation time. |
| `description` | *string* | :heavy\_check\_mark: | Free-form description. |
| `hostname` | *string* | :heavy\_check\_mark: | Public hostname the intern is reachable at, or null until provisioning has assigned one. |
| `id` | *string* | :heavy\_check\_mark: | Intern id. |
| `instructions` | *string* | :heavy\_check\_mark: | Standing instructions the intern boots with. |
| `lastFailureMessage` | *string* | :heavy\_check\_mark: | Why the last provisioning attempt failed, when status is failed. |
| `model` | *string* | :heavy\_check\_mark: | OpenRouter model slug the intern runs, or null for the workspace default. |
| `name` | *string* | :heavy\_check\_mark: | Intern name, unique per creator within a workspace. |
| `progress` | [models.Progress](../models/progress.mdx) | :heavy\_check\_mark: | Active provisioning step, or null once provisioning has settled. |
| `status` | [models.InternStatus](../models/internstatus.mdx) | :heavy\_check\_mark: | Lifecycle status. |
| `updatedAt` | *string* | :heavy\_check\_mark: | ISO 8601 last update time. |
| `vaultId` | *string* | :heavy\_check\_mark: | Vault the intern owns, or null before it has been created. |
| `workspaceId` | *string* | :heavy\_check\_mark: | Workspace that owns the intern and scopes its secrets. |
