---
title: Namazu Conductor Admin API
description: "The `admin` module of Namazu Conductor exposes a small [REST](https://namazustudios.com/glossary/rest/) API and a dashboard panel for listing, launching, and stopping jobs across **every** deployed provider [Element](https://namazustudios.com/glossary/element/) at once — you don't need to know which specific provider (EdgeGap, ECS, Kubernetes,…"
url: "https://namazustudios.com/docs/add-ons/container-on-demand/namazu-conductor-admin-api/"
updated: "2026-08-14"
category: "Add-Ons / Container on Demand"
---

# Namazu Conductor Admin API

The `admin` module of Namazu Conductor exposes a small [REST](https://namazustudios.com/glossary/rest/) API and a dashboard panel for listing, launching, and stopping jobs across **every** deployed provider [Element](https://namazustudios.com/glossary/element/) at once — you don't need to know which specific provider (EdgeGap, ECS, Kubernetes, Multiplay) a given job set lives on to manage it from here.

Deploy the `admin` [Element](https://namazustudios.com/glossary/element/) alongside whichever provider [Element](https://namazustudios.com/glossary/element/)(s) you're running. It discovers them at request time via the Elements registry — no static configuration links it to a specific provider.

Note

Every endpoint on this API requires an authenticated [Session](https://namazustudios.com/glossary/session/) at `SUPERUSER` level. Anything less returns `403 Forbidden`.

---

## Endpoints

### GET /jobs

Returns a point-in-time snapshot of executions from every deployed `OrchestrationService` provider [Element](https://namazustudios.com/glossary/element/). Providers that fail to respond are still included, with a non-null `error` field instead of an execution list:

```
{
  "status": "ok",
  "providers": [
    {
      "element": "dev.getelements.conductor.kubernetes",
      "executions": [ { "id": "...", "status": "RUNNING", "endpoints": [ ... ] } ],
      "error": null
    },
    {
      "element": "dev.getelements.conductor.ecs",
      "executions": null,
      "error": "Timed out calling ECS"
    }
  ]
}
```

`status` summarizes the response: `ok` if every provider responded without error, `partial` if at least one did, `error` if none did. If no `OrchestrationService` providers are deployed at all, the call returns `503 Service Unavailable` instead of an empty list.

### POST /jobs

Dispatches a job to a specific provider [Element](https://namazustudios.com/glossary/element/) using one of its available [Profile](https://namazustudios.com/glossary/profile/) ids. Request body:

```
{
  "element": "dev.getelements.conductor.kubernetes",
  "profileId": "my-game-server-template",
  "args": [ "..." ],
  "command": [ "..." ],
  "environment": { "KEY": "value" },
  "placement": [ { "type": "REGION", "id": "us-east" } ]
}
```

On success, returns the `JobExecution` the provider handed back — typically `PENDING` at this point, since `execute()` returns immediately rather than waiting for the job to start. Returns `404` if the named [Element](https://namazustudios.com/glossary/element/) doesn't exist, doesn't expose `OrchestrationService`, or the [Profile](https://namazustudios.com/glossary/profile/) [id](https://namazustudios.com/glossary/id/) isn't one of its available profiles. Returns `500` if the provider accepted the request but the underlying execution call failed.

### POST /jobs/stop

Stops a running job. Request body:

```
{
  "element": "dev.getelements.conductor.kubernetes",
  "id": ""
}
```

Returns `204 No Content` once the stop signal has been sent. Returns `404` if the named [Element](https://namazustudios.com/glossary/element/) doesn't exist or doesn't expose `OrchestrationService`, and `500` if the provider returns an error while stopping the job.

---

## Dashboard Panel

The `admin` [Element](https://namazustudios.com/glossary/element/) also ships a "Conductor" entry in the superuser dashboard sidebar, giving you the same list/launch/stop functionality as the [REST](https://namazustudios.com/glossary/rest/) API above through a UI, without needing to script requests by hand.
