---
title: "Jobs behind an element (debug view)"
method: GET
path: "/pipelines/elements/{element_id}/jobs"
tags: ["Pipeline"]
---

# Jobs behind an element (debug view)

`GET /pipelines/elements/{element_id}/jobs`

The job behind an element: id, status, error, Anyscale link. Fetched on
demand for the "Background job" panel; nothing should poll it. Multistart
children are summarised on the element row, never listed.

## Path parameters

- `element_id` string, required

## Response `200`

Successful Response

- ElementJobsResponse — Response from GET /pipelines/elements/{element_id}/jobs — debug view of the job behind an element. Multistart children are deliberately not listed: their roll-up is ``PipelineElement.progress``.
  - `parent` JobResponse — Schema for job information response
    - `job_id` string, required
    - `job_type` 'dummy' | 'datafit' | 'array_datafit' | 'validation' | 'simulate' | 'evaluate_variables' | 'optimize' | 'ecm_fit' | 'simple_pipeline' | 'linear_confidence_interval' | 'sobol_sensitivity', required — Possible types for a job
    - `status` 'pending' | 'processing' | 'waiting' | 'completed' | 'failed' | 'canceled', required — Possible statuses for a job
    - `priority` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `compute_time` number, nullable
    - `error` string, nullable
    - `error_code` 'CONFIGURATION_ERROR' | 'MODEL_ERROR' | 'SOLVER_ERROR' | 'EXECUTION_TIMEOUT' | 'SUBMISSION_FAILED' | 'INTERNAL_ERROR' — Machine-readable error codes for jobs.
    - `error_detail` object, nullable
    - `result` object, nullable
    - `callback_url` string, uri, nullable
    - `parent_job_id` string, nullable
    - `user_id` string, required
    - `organization_id` string, required
    - `project_id` string, nullable
    - `access_level` 'project' | 'organization' — Possible access levels for a job
    - `params_path` string, nullable
    - `metadata_path` string, nullable
    - `anyscale_job_id` string, nullable
    - `submission_info` object, nullable
    - `child_key` object, nullable
    - `is_terminal` boolean, required — Whether the job has reached a terminal state and will not transition further. Derived from :attr:`JobStatus.TERMINAL_STATUSES`, so adding a new terminal status to the enum automatically updates the wire field — clients that read ``is_terminal`` never need to know the status taxonomy or be re-released when it changes.
    - `is_failed` boolean, required — Whether the job terminated unsuccessfully (failed or canceled, not completed). Derived from :attr:`is_terminal` minus the success case, so any new non-success terminal status added to :class:`JobStatus` is automatically classified as a failure without touching this method.
    - `anyscale_url` string, nullable, required — Deep-link to this job's Anyscale console dashboard, or None. Built server-side (mirroring the Sentry ``log_url`` pattern) from the captured ``anyscale_job_id`` and the environment's console cloud/project ids. Returns None when the job never ran on Anyscale (local/serve) or the environment has no console ids configured, so the UI simply omits the link in those cases.

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-26** `8ed5440390f0` — 1 info
  - added the optional property `parent/anyOf[subschema #1: JobResponse]/child_key` to the response with the `200` status
- **2026-09-14** `7baccf056192` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ionworks/apis/fastapi/changes/pipelines/elements/:element_id/jobs/get.md)

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/ionworks/apis/fastapi/revisions/8ed5440390f0?raw)
