Runners API Endpoints

Manage runners for executing containerized tasks with our API

Runners allow you to execute one-off or scheduled containerized tasks on Nodion's infrastructure. Each runner defines a Docker image, a run command, and resource constraints. You can trigger individual runs, pass environment variables, and retrieve logs for each execution.

Get Runners

To list all runners of your project you can simply send a GET request to the following endpoint.

https://api.nodion.com/v1/runners

Required Headers: Authorization

Example Response:

{
  "runners": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "status": "available",
      "name": "Database Backup",
      "image_name": "mycompany/backup-tool",
      "image_tag": "latest",
      "run_command": "python backup.py",
      "entrypoint": null,
      "timeout_seconds": 3600,
      "created_at": "2026-01-15T10:00:00.000+01:00",
      "updated_at": "2026-01-15T10:00:00.000+01:00",
      "region": {
        "id": "428d037e-9ba6-4dab-92bd-8d816c523126",
        "status": "available",
        "name": "Frankfurt, DE",
        "slug": "fra"
      },
      "instance_type": {
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "name": "Standard S",
        "slug": "standard-s",
        "cpu": 1,
        "mem": 1024,
        "price_month": 5.0,
        "price_second": 0.0000019
      },
      "container_registry": null
    }
  ]
}

Get Runner

To fetch a single runner you can simply send a GET request to the following endpoint.

https://api.nodion.com/v1/runners/:id

Required Headers: Authorization

Example Response:

{
  "runner": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "available",
    "name": "Database Backup",
    "image_name": "mycompany/backup-tool",
    "image_tag": "latest",
    "run_command": "python backup.py",
    "entrypoint": null,
    "timeout_seconds": 3600,
    "created_at": "2026-01-15T10:00:00.000+01:00",
    "updated_at": "2026-01-15T10:00:00.000+01:00",
    "region": {
      "id": "428d037e-9ba6-4dab-92bd-8d816c523126",
      "status": "available",
      "name": "Frankfurt, DE",
      "slug": "fra"
    },
    "instance_type": {
      "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "name": "Standard S",
      "slug": "standard-s",
      "cpu": 1,
      "mem": 1024,
      "price_month": 5.0,
      "price_second": 0.0000019
    },
    "container_registry": null
  }
}

Create a Runner

To create a new runner you can simply send a POST request to the following endpoint.

https://api.nodion.com/v1/runners

Required Headers: Authorization

Required Body Parameters:

name – A name for this runner (3-50 characters).

image_name – The Docker image name (e.g. mycompany/backup-tool).

image_tag – The Docker image tag (e.g. latest, v1.0.0).

run_command – The command to execute inside the container (max 1000 characters).

region_id – The ID of the region where the runner should execute.

instance_type_id – The ID of the instance type that defines CPU and memory limits.

Optional Body Parameters:

entrypoint – A custom entrypoint for the container (max 500 characters).

timeout_seconds – Maximum execution time in seconds (1-86400). Defaults to 3600 (1 hour).

container_registry_id – The ID of a container registry to authenticate when pulling the image.

Possible Response Codes:

200 – The runner was created successfully.
400 – There was something wrong. Please check the response.

Update a Runner

To update an existing runner you can simply send a PATCH request to the following endpoint.

https://api.nodion.com/v1/runners/:id

Required Headers: Authorization

Optional Body Parameters:

name – A new name for the runner.

image_name – A new Docker image name.

image_tag – A new Docker image tag.

run_command – A new run command.

entrypoint – A new entrypoint.

timeout_seconds – A new timeout in seconds (1-86400).

instance_type_id – A new instance type.

region_id – A new region.

container_registry_id – A new container registry.

Possible Response Codes:

200 – The runner was updated successfully.
400 – There was something wrong. Please check the response.

Delete a Runner

To delete a runner you can simply send a DELETE request to the following endpoint.

https://api.nodion.com/v1/runners/:id

Required Headers: Authorization

Possible Response Codes:

200 – The runner was deleted successfully.
400 – There was something wrong. Please check the response.