---
title: "Get an intern"
method: GET
path: "/interns/{internId}"
tags: ["Interns"]
---

# Get an intern

`GET /interns/{internId}`

Returns the public lifecycle state and settings for one visible intern. The API key selects the caller, workspace and visible interns. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.

## Path parameters

- `internId` string, required — ID of an intern visible to the authenticated API key.

## Response `200`

Intern lifecycle state and settings.

- Intern — Public lifecycle state and settings for one intern.
  - `attached_vault_id` string, nullable, required — Vault the intern borrows from another intern, or null when it borrows none.
  - `created_at` string, required — ISO 8601 creation time.
  - `description` string, nullable, required — Free-form description.
  - `hostname` string, nullable, required — Public hostname the intern is reachable at, or null until provisioning has assigned one.
  - `id` string, required — Intern id.
  - `instructions` string, nullable, required — Standing instructions the intern boots with.
  - `last_failure_message` string, nullable, required — Why the last provisioning attempt failed, when status is failed.
  - `model` string, nullable, required — OpenRouter model slug the intern runs, or null for the workspace default.
  - `name` string, required — Intern name, unique per creator within a workspace.
  - `progress` object, nullable, required — Active provisioning step, or null once provisioning has settled.
    - `step_label` string, required — Human-readable label of the active provisioning step.
    - `step_number` integer, required — One-based index of the active step.
    - `total_steps` integer, required — Number of provisioning steps.
  - `status` 'awaiting_slack_install' | 'queued' | 'provisioning' | 'running' | 'failed' | 'stopped' | 'destroying' | 'destroy_failed', required — Lifecycle status.
  - `updated_at` string, required — ISO 8601 last update time.
  - `vault_id` string, nullable, required — Vault the intern owns, or null before it has been created.
  - `workspace_id` string, required — Workspace that owns the intern and scopes its secrets.

## Other responses

- `401` — Missing, unknown or provisioning API key.
- `403` — The key owner no longer has access, or the request used a regional hostname.
- `404` — The caller is outside the Intern API programme, the intern is hidden, or lifecycle writes are disabled.
- `408` — The request exceeded its route deadline. The deadline quoted in the message is the route's own, so it differs between operations.
- `500` — The request could not be completed. `metadata.reason` says whether to try again: `internal_error` is a transient failure and carries `metadata.retryable: true`, so the same request may be sent again, while `configuration_error` carries `retryable: false` because the next attempt reads the same missing binding or unusable stored credential.

## Changes

- **2026-09-21** `50d23050da7a` — 5 info
  - added the optional property `error/metadata` to the response with the `401` status
  - added the optional property `error/metadata` to the response with the `403` status
  - added the optional property `error/metadata` to the response with the `404` status
  - added the optional property `error/metadata` to the response with the `408` status
  - …1 more
- **2026-09-18** `c4cafb1919d1` — 7 breaking, 7 info
  - removed the required property `createdAt` from the response with the `200` status
  - removed the required property `lastFailureMessage` from the response with the `200` status
  - removed the required property `progress/stepLabel` from the response with the `200` status
  - removed the required property `progress/stepNumber` from the response with the `200` status
  - …10 more
- **2026-09-17** `c3b9702bd9d7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openrouterteam/apis/openrouter-api/changes/interns/:internId/get.md)

---

[API](https://skmtc.dev/openrouterteam/apis/openrouter-api.md) · [All operations](https://skmtc.dev/openrouterteam/apis/openrouter-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openrouterteam/apis/openrouter-api/revisions/7104840a4b40?raw)
