---
title: "Create a computer"
method: POST
path: "/v1/computers"
tags: ["Computers"]
---

# Create a computer

`POST /v1/computers`

## Request

- Base URL: `https://api.steel.dev`
- URL: `https://api.steel.dev/v1/computers`
- Auth: one of:
  - API key in header `steel-api-key`
  - none

Declare a new computer; it boots asynchronously.

## Request body

- CreateComputerRequest
  - `autoPause` boolean: Pause at the timeout instead of deleting, so a later resume continues where the computer left off. The pause begins about 30 seconds before the deadline.
  - `diskMib` integer: Ignored today. Every computer gets the disk its host is configured for.
  - `env` object
  - `environmentId` string, uuid
  - `idleTimeoutSeconds` integer: Pause the computer after this many seconds without incoming traffic, so a later resume continues where it left off. 0 disables idle pausing.
  - `memoryMib` integer
  - `name` string
  - `networkPolicy` object
    - `cidrs` object
      - `allow` string[]
      - `deny` string[]
    - `domains` object
      - `allow` string[]
      - `deny` string[]
    - `internetAccess` boolean
  - `networkSecrets` object[]
    - `domain` string, required
    - `header` string, required
    - `port` integer
    - `secretId` string, uuid, required
    - `template` string, required
  - `projectId` string, uuid
  - `secrets` object
  - `template` string
  - `timeoutSeconds` integer: How long the computer may run before it is deleted, or paused when autoPause is set. A resume starts a fresh window.
  - `vcpu` integer

## Response `201`

Default Response

- ComputerResponse
  - `autoPause` boolean, required
  - `checkpointId` string, nullable, required
  - `diskMib` integer, required
  - `environmentId` string, uuid, nullable, required
  - `id` string, required
  - `idleTimeoutSeconds` integer, required
  - `memoryMib` integer, required
  - `projectId` string, uuid, required
  - `status` 'none' | 'creating' | 'running' | 'pausing' | 'paused' | 'waking' | 'stopped' | 'failed' | 'deleting' | 'deleted', required
  - `statusChangedAt` string, date-time, required
  - `template` string, nullable, required
  - `timeoutSeconds` integer, nullable, required
  - `vcpu` integer, required

## Changes

- **2026-10-16** `8f7e74e04bd3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/steel-dev/apis/steel-api/changes/v1/computers/post.md)

---

[API](https://skmtc.dev/steel-dev/apis/steel-api.md) - [All operations](https://skmtc.dev/steel-dev/apis/steel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/steel-dev/apis/steel-api/revisions/8f7e74e04bd3?raw)
