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

# Create computers in bulk

`POST /api/v0/computers/bulk`

Creates up to 20 identical managed computers with server-assigned names (`<namePrefix>-<n>`, lowest free suffixes). Creation is fail-fast without rollback: on a mid-batch failure the response is still 201 with the computers created so far plus an `error` describing the failure.

## Request body

- BulkCreateComputersRequestBody
  - `quantity` integer, required — Number of identical computers to create.
  - `namePrefix` string, required
  - `provider` string
  - `repos` string[]
  - `autoInstallDeps` boolean
  - `serviceAccountId` string

## Response `201`

Response for status 201

- BulkCreateComputers201ResponseBody
  - `computers` object[], required
    - `id` string, required
    - `hostId` string, uuid
    - `name` string, required
    - `isListed` boolean
    - `providerType` string, required — Compute provider backing this computer, e.g. 'byom' or 'e2b'.
    - `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` 'execution-template', required
        - `templateId` string, required
      - object
        - `kind` 'computer', required
        - `computerId` string, required
  - `requestedQuantity` integer, required
  - `error` object
    - `message` string, required

## Other responses

- `400` — Response for status 400
- `401` — Response for status 401
- `402` — Response for status 402
- `403` — Response for status 403
- `404` — Response for status 404
- `409` — Response for status 409
- `500` — Response for status 500
- `503` — Response for status 503

---

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