---
title: "Create new Execution Runner"
method: POST
path: "/execution/runners"
tags: ["ExecutionRunner"]
---

# Create new Execution Runner

`POST /execution/runners`

Created Execution Runner for tracking a unique runner

## Request body

- CreateExecutionRunnerRequest — Patch select Execution Runner properties
  - `ipv4_address` string — Currently associated IP address (typically RFC 1918)
  - `execution_runtime_version` string — SHA256 hash first 7 characters of the runner binary (NOT necessarily the OS/base image)
  - `mobile_training_session_id` string — The currently associated mobile training session ID
  - `status` 'ready' | 'resetting' | 'running' | 'stopping' | 'starting' | 'terminated', required — Non-directed states for runner lifecycle
  - `test_run_id` string — Currently associated test run ID
  - `zone` string — The zone where the VM resides
  - `ref_id` string, required — Globally unique runner reference ID (e.g. GCE VM instance number as "gce-<number>", GKE pod ID "gke-<number>", EC2 instance ID as "ec2-<ID>")
  - `workspace_id` string, required — Runner owner - may be user owned, or mabl owned
  - `display_name` string, required — Presentation name for this runner
  - `test_type` 'api' | 'browser' | 'performance' | 'mobile' — Type of test
  - `mobile_device_type` 'virtual' | 'physical' — Type of platform used to create mobile device
  - `execution_host_id` string — The id of the execution host this is running on
  - `execution_runtime_purpose` 'training' | 'test_run' — Capability provided by this runtime
  - `capabilities` ExecutionRuntimeCapability[], required
  - `execution_runtime_type` 'container' | 'virtual_machine', required — Type of container used for execution. Note that VM Instances -> virtual machine, GCF, GKE, GCR -> container
  - `execution_runtime_operating_system` 'android' | 'ios' | 'windows' | 'linux' | 'osx', required — Operation system used in the runtime
  - `capability_browser` string — optional, browsers available to runner, for browser type runners

## Response `201`

Execution Runner

- ExecutionRunner — Patch select Execution Runner properties
  - `ipv4_address` string — Currently associated IP address (typically RFC 1918)
  - `execution_runtime_version` string — SHA256 hash first 7 characters of the runner binary (NOT necessarily the OS/base image)
  - `mobile_training_session_id` string — The currently associated mobile training session ID
  - `status` 'ready' | 'resetting' | 'running' | 'stopping' | 'starting' | 'terminated', required — Non-directed states for runner lifecycle
  - `test_run_id` string — Currently associated test run ID
  - `zone` string — The zone where the VM resides
  - `ref_id` string, required — Globally unique runner reference ID (e.g. GCE VM instance number as "gce-<number>", GKE pod ID "gke-<number>", EC2 instance ID as "ec2-<ID>")
  - `workspace_id` string, required — Runner owner - may be user owned, or mabl owned
  - `display_name` string, required — Presentation name for this runner
  - `test_type` 'api' | 'browser' | 'performance' | 'mobile' — Type of test
  - `mobile_device_type` 'virtual' | 'physical' — Type of platform used to create mobile device
  - `execution_host_id` string — The id of the execution host this is running on
  - `execution_runtime_purpose` 'training' | 'test_run' — Capability provided by this runtime
  - `capabilities` ExecutionRuntimeCapability[], required
  - `execution_runtime_type` 'container' | 'virtual_machine', required — Type of container used for execution. Note that VM Instances -> virtual machine, GCF, GKE, GCR -> container
  - `execution_runtime_operating_system` 'android' | 'ios' | 'windows' | 'linux' | 'osx', required — Operation system used in the runtime
  - `capability_browser` string — optional, browsers available to runner, for browser type runners
  - `id` string, required — API generated globally unique ID
  - `etag` string — API version etag
  - `created_time` integer, required — Creation time, epoch millis
  - `created_by_id` string, required — Creation principal ID
  - `last_updated_time` integer, required — Last updated time, epoch millis
  - `last_updated_by_id` string, required — Last updating principal ID
  - `deleted_time` integer — Deletion time, epoch millis
  - `deleted_by_id` string — Deletion principal ID

## Other responses

- `401` — Missing or invalid credentials
- `403` — Actor is not authorized to make this call
- `409` — Execution Runner with ID already exists
- `default` — Unknown error

---

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