---
title: "Read verified public grading receipts"
method: GET
path: "/v1/workloads/{id}/rl-grading-results"
tags: ["Workloads"]
---

# Read verified public grading receipts

`GET /v1/workloads/{id}/rl-grading-results`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/workloads/{id}/rl-grading-results`
- Auth: HTTP bearer

Read a consistent snapshot of grading attempts for one parent workload revision in the authenticated tenant. Requires a server-admitted private grading plan. This endpoint does not enable private-code training. It excludes private cases, candidate source, runner credentials and grading child identities. Receipts are verified before publication and a corrupt snapshot returns an error. Cleanup covers only the requested revision's grading attempts.

## Path parameters

- `id` string, required

## Query parameters

- `revision` integer, required

## Response `200`

Verified grading snapshot

- RLGradingResults: Verified public grading receipts for one parent workload revision. Private cases, candidate source and child resource identities are excluded.
  - `schema_version` 1, required
  - `workload_id` string, required
  - `revision` integer, required
  - `plan_sha256` string, required
  - `parent_status` string, required: Current parent workload status, read with the receipts in one consistent snapshot.
  - `grading_cleanup_complete` boolean, required: Whether all grading attempts in this revision have completed cleanup. True for an empty receipt list. This does not establish parent cleanup, cleanup of other revisions or final billing settlement.
  - `receipts` RLGradingReceipt[], required: All admitted attempts in the requested revision, ordered by creation time and attempt identity. An empty list means no admitted attempts.
    - `attempt_id` string, required
    - `request_id` string, required
    - `task_id` string, required
    - `candidate_sha256` string, required
    - `plan_sha256` string, required
    - `manifest_sha256` string, required
    - `state` 'pending' | 'completed' | 'infrastructure_failure', required
    - `reward` number: Present only for a completed grading attempt. A zero reward is a measured grading result.
    - `cleanup_complete` boolean, required: Cleanup of this attempt is independent of its grading state and reward.
    - `infrastructure_code` 'execution_lost' | 'execution_cancelled' | 'execution_failed' | 'output_incomplete' | 'grading_unavailable': Present only when state is infrastructure_failure.

## Other responses

- `400`: Invalid or missing revision. Error code is invalid_revision.
- `404`: No grading plan exists for this parent workload revision in the authenticated tenant. Grading children are not accessible through this operation.
- `500`: The grading snapshot could not be verified or read. Error code is grading_results_unavailable.
- `default`: Authentication, rate limits and transient failures apply.

---

[API](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api.md) - [All operations](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/revisions/a59210899d95?raw)
