---
title: "GET /v1/jobs/{jobId}/manifest/latest"
description: "Find a job's latest manifest"
full: true
---

**Auth:** required. Send an `ivy_` API key (`Authorization: Bearer ivy_…` or `X-Ivy-Api-Key`), a Clerk session JWT (`Authorization: Bearer …`) or the Clerk `__session` cookie (browser sessions). See [Authentication](/docs/api/authentication).

Returns the storage location and checksum of the newest manifest recorded for a job you can read. Fetch the manifest itself with `GET /api/v1/jobs/{job_id}/manifest/fetch`.

If no manifest has been recorded yet, the server looks for one in storage and, when it finds one, records it as the job's latest before answering. For some job types, and when the job is not found in the database, no manifest is expected: the response is 200 with `manifest_url`, `manifest_checksum` and `latest_pointer_key` all `null`. Otherwise a job with no manifest returns 404.

A job you cannot read, a job outside your API key's project scope and a job with no manifest can all return the same 404.

## Request

#### Path parameters

- `jobId` (string (uuid)) —
Job UUID.

## Responses

### `200` OK

The job's latest manifest pointer. The response is cached privately for 3 seconds.

Response shape:

- `success` (enum (true)) —

- `data` (object) —

#### data properties

- `latest_pointer_key` (string) —
Storage key of the job's latest-manifest pointer; `null` when no manifest is expected

- `manifest_url` (string) —
Storage location of the latest manifest; `null` when no manifest is expected

- `manifest_checksum` (string) —
SHA-256 of the manifest, when known

- `created_at` (string (date-time)) —

### `400` Bad Request

The job id is missing or is not a UUID

Response shape: `object`

### `401` Unauthorized

Authentication required

Response shape: `object`

### `404` Not Found

You cannot read the job, it is outside your API key's project scope, or no manifest could be found for it

Response shape: `object`

### `429` Too Many Requests

Rate limit exceeded

Response shape: `object`

**curl**

```bash
curl -X GET 'https://ivybiosciences.com/api/v1/jobs/{jobId}/manifest/latest' \
  -H "Authorization: Bearer $IVY_API_KEY"
```

**JavaScript**

```js
const res = await fetch('https://ivybiosciences.com/api/v1/jobs/{jobId}/manifest/latest', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.IVY_API_KEY}`,
  },
});
const data = await res.json();
```

**Python**

```python
import os, requests

res = requests.get(
    "https://ivybiosciences.com/api/v1/jobs/{jobId}/manifest/latest",
    headers={"Authorization": f"Bearer {os.environ['IVY_API_KEY']}"},
)
data = res.json()
```
