---
title: "Create environments with optional initial state"
method: POST
path: "/api/sessions"
---

# Create environments with optional initial state

`POST /api/sessions`

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `ttlSeconds` integer
  - `initialState` object
  - `environments` string[], required

## Response `201`

Environment session created

- object
  - `sessionId` string, required
  - `status` 'starting' | 'ready' | 'running' | 'tearing_down' | 'ended' | 'expired' | 'failed', required
  - `environmentIds` string[], required
  - `environments` object, required
  - `expiresAt` string, required
  - `certificationWarnings` object[]
    - `environmentId` string, required
    - `code` 'ENVIRONMENT_CERTIFICATION_DEGRADED', required
    - `message` string, required
    - `certification` object, required
      - `status` 'healthy' | 'degraded' | 'quarantined' | 'unknown', required
      - `admission` 'allow' | 'warn' | 'deny', required
      - `checkedAt` string, date-time, nullable, required
      - `evidenceSha256` string, nullable, required
  - `lease` object
    - `expiresAt` string, required
    - `idleExpiresAt` string, nullable, required
    - `hardExpiresAt` string, required
    - `renewable` boolean, required
  - `workspace` object
    - `id` string, required
    - `name` string

## Other responses

- `400` — The request was rejected
- `401` — The request was rejected
- `402` — The request was rejected
- `403` — The request was rejected
- `404` — The request was rejected
- `409` — The request was rejected
- `413` — The request was rejected
- `429` — The request was rejected
- `500` — The request was rejected
- `502` — The request was rejected
- `503` — The request was rejected

---

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