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

# Create a computer

`POST /api/v0/computers`

Creates a new persistent computer environment.

## Request body

- CreateComputerRequestBody
  - `name` string, required
  - `provider` 'byom' | 'e2b'
  - `hostId` string, uuid
  - `remoteUser` string
  - `repos` string[]
  - `autoInstallDeps` boolean
  - `serviceAccountId` string
  - `source` union
    - object
      - `kind` 'template', required
      - `templateId` string, required
    - object
      - `kind` 'computer', required
      - `sourceComputerId` string, required

## Response `201`

Response for status 201

- CreateComputer201ResponseBody
  - `id` string, required
  - `hostId` string, uuid
  - `name` string, required
  - `providerType` 'byom' | 'e2b', required
  - `status` 'provisioning' | 'active' | 'error'
  - `createdAt` number, required
  - `provisioningSteps` object[]
    - `id` string, required
    - `name` string, required
    - `status` string, required
    - `error` string
    - `startedAt` number
    - `completedAt` number
    - `installSessionId` string
  - `relayClientUrl` string, uri
  - `relayAgentUrl` string, uri
  - `remoteUser` string
  - `clonedRepoDirectories` string[]
  - `ownerPrincipalKind` string
  - `ownerId` string
  - `computerSource` union
    - object
      - `kind` 'template', required
      - `templateId` string, required
    - object
      - `kind` 'computer', required
      - `computerId` string, required

## Other responses

- `400` — Response for status 400
- `401` — Response for status 401
- `402` — Response for status 402
- `403` — Response for status 403
- `500` — Response for status 500

---

[API](https://skmtc.dev/factory/apis/factory-public-api.md) · [All operations](https://skmtc.dev/factory/apis/factory-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/factory/factory-public-api/revisions/09c8ece419bf/schema)
