Skip to content
Talk to our solutions team

Jobs API

GET /jobs jobs defined for this product
GET /runs run history
GET /agents connected agents and their state
GET /workflow/queue queued work
GET /workflow/queue/{id} one queued item

The platform tenancy headers apply — X-Kis-Tenant, X-Kis-Product, X-Kis-Environment.

GET /runs returns run history. A run carries its outcome and its logs, which is what makes “why did last night’s job fail” a query rather than an archaeology exercise across agent hosts.

Retry is by run id, and it re-dispatches the same job with the same input rather than re-deriving it — which matters when the trigger was a one-off webhook you cannot replay.

When the orchestrator hands work to an agent, the payload is:

FieldNotes
JobNameThe job being run
RunIDThis execution
LanguageScript language for the job body
CodeThe job body
EnvironmentEnvironment map available to the run
CapabilitiesWhat this job is permitted to do
ConstraintsPlacement constraints for agent selection
ContextTrigger context — the webhook body, the changed row, the commit
NamespacesScript namespaces the job may use; unset means defaults

Namespaces is the field worth being deliberate about. It is the sandbox boundary for the job body, the same way it is for any script — a job that only needs http should not be handed vault.

Context is how trigger data reaches the job: a webhook trigger puts the request body here, a database trigger the changed row, a git-poll trigger the commit.

FieldNotes
JobName, RunIDIdentify the run
StatusOutcome
LogsCaptured output

GET /agents lists connected agents and their state. Throughput is a function of how many are connected, so a silent drop here is capacity you believe you have and do not — see Operations.

The platform’s structured error body: a stable code, a message, and the request id.

StatusMeaning
400Malformed request
401 / 403Authentication or authorisation failure
404Unknown job or run for this tenant
5xxDispatch failure
  • Usage — triggers, runs and retries
  • Operations — capacity and failure modes

Every route requires a bearer token:

Authorization: Bearer <token>

The health and readiness probes are the only unauthenticated surface.

The four CPET headers — X-Customer, X-Product, X-Env, X-Tenant — scope every job, run and queue entry. A request that cannot resolve a tenant is rejected rather than served against a default.

StatusMeaning
400Request parse or validation failure
401Missing or invalid token, as plain text
404No such job, run or queue entry
500Unexpected server error

400 and 500 carry the standard envelope; 401 does not.