Environments
List and get desktop environments available for challenges
An environment is a desktop OS image (and its tools) that challenges can run on. This resource is read-only. Auth: organization API key.
Only for partner customers. Pass the active organization with the optional x-organization-id header. Omit it to use the organization that owns the API key. A partner key may pass a direct child. An unknown organization returns 404. An organization the key cannot access returns 403. A non-empty organization_id query field returns 400 VALIDATION_ERROR.
| Method | Path | Summary |
|---|---|---|
GET | /v1/environments | List environments |
GET | /v1/environments/:id | Get one environment by UUID |
List
curl "https://api.skillflare.co/v1/environments?limit=20&offset=0" \
-H "x-api-key: sk_skillflare_YOUR_KEY" \
-H "x-organization-id: CHILD_ORG_UUID"Returns { data, meta } as described in Errors and pagination. Each item:
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"created_at": "2026-01-15T12:00:00.000Z",
"name": "Linux analyst desktop",
"operating_system": "LINUX",
"oci_url": "ghcr.io/example/webtop:latest",
"description": "Ubuntu desktop with browser and office tools.",
"tools": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tool_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Firefox"
}
]
}id— environment UUID.created_at— when the environment was created (ISO 8601).name— display name.operating_system—LINUXorWINDOWS.oci_url— container image URL, ornull.description— summary, ornull.tools— installed tools. Each entry hasid(join row),tool_id(tool UUID), andname.
Get by id
curl https://api.skillflare.co/v1/environments/f1a2b3c4-d5e6-7890-abcd-ef1234567890 \
-H "x-api-key: sk_skillflare_YOUR_KEY" \
-H "x-organization-id: CHILD_ORG_UUID"Returns the environment at the top level, with the same fields as a list item.
Invalid UUIDs → VALIDATION_ERROR. A missing environment → 404 Environment does not exist.