---
title: "Get Job Metadata Summary"
method: GET
path: "/jobs/{job_id}/metadata_summary"
tags: ["jobs"]
---

# Get Job Metadata Summary

`GET /jobs/{job_id}/metadata_summary`

## Request

- Base URL: `https://api.ionworks.com`
- URL: `https://api.ionworks.com/jobs/{job_id}/metadata_summary`
- Auth: none declared

Get the parts of a job's ``metadata`` a UI reads, projected server-side.

The blob is stored in the private ``job-files`` bucket rather than on the
job row, and no client has storage grants of its own, so this endpoint is
how it is read. Only ``JOB_METADATA_CLIENT_KEYS`` come back — the rest is
worker-sized and would be discarded. The response is sanitised
(``NaN``/``Infinity`` become ``null``) and is therefore always valid JSON.

Returns ``{}`` — not 404 — while the blob has not been written yet, so a
caller polling a running job sees an empty object rather than an error.
``GET /jobs/{job_id}/metadata`` remains the whole-blob, 404-on-missing form
for scripted clients.

## Path parameters

- `job_id` string, uuid, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-30** `ea3d377fec1a`: 1 breaking
  - for the `path` request parameter `job_id`, the format changed from no format to `uuid`

[Operation history](https://skmtc.dev/ionworks/apis/ionworks-api/changes/jobs/:job_id/metadata_summary/get.md)

---

[API](https://skmtc.dev/ionworks/apis/ionworks-api.md) - [All operations](https://skmtc.dev/ionworks/apis/ionworks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ionworks/apis/ionworks-api/revisions/abebbbc5f60a?raw)
