POST /runners
Creates a new runner set for the authenticated organization. A runner set defines the configuration template for runner instances that will be provisioned when CI/CD jobs request matching labels. You can create different types of runners: - **Stock runners**: WarpBuild managed runners with pre-configured images - **Custom runners**: Bring Your Own Cloud (BYOC) runners on AWS EC2, GCP, or Azure - **Custom image runners**: Runners with custom container images or custom AMIs
In: header
Request Body
application/json
Create new runner body
Active indicates whether the runner is enabled
Labels are custom tags for runner selection in CI workflows
Name is a unique identifier for the runner within the organization
PoolSize specifies the number of warm pool instances
ProviderId is the cloud integration ID for BYOC runners
Deprecated: runner sets are organization-global and serve all connected GitHub orgs; this field is ignored (a server-side value is stamped instead, for rollback compatibility).
Response Body
application/json
application/json
curl -X POST "https://api.warpbuild.com/api/v1/runners" \ -H "Content-Type: application/json" \ -d '{}'{
"active": true,
"configuration": {
"byoc_sku": {
"arch": "x64",
"imdsv2_required": true,
"instance_types": [
"m5.xlarge",
"m5.2xlarge"
],
"is_public": false,
"network_tier": "STANDARD",
"role_arn": "arn:aws:iam::123456789012:role/WarpBuildRole"
},
"capacity_type": "ondemand",
"image": "ubuntu-2404",
"sku": "warp-ubuntu-2404-x64-4x",
"storage": {
"disk_type": "pd-balanced",
"iops": 0,
"performance_tier": "P15",
"size": 0,
"throughput": 0,
"tier": "low"
}
},
"created_at": "string",
"id": "runner_abc123",
"labels": [
"warp-ubuntu-2404-x64-4x"
],
"meta": {},
"name": "my-ubuntu-runner",
"organization_id": "org_abc123",
"provider_id": "cloud_xyz789",
"stock_runner_id": "stock_xyz",
"updated_at": "string",
"vcs_integration_id": "vcs_abc123"
}{
"code": "string",
"description": "string",
"message": "string",
"sub_code": "string",
"sub_message": "string"
}PATCH /runners/default-group
Sets or updates the default runner group for a specific VCS integration. The default runner is used when CI/CD workflows don't specify explicit runner labels.
PATCH /runners/{id}
Updates an existing runner set configuration. Only the fields specified in the request body will be updated; all other fields remain unchanged. You can update various aspects of a runner including its name, labels, storage configuration, and capacity type.