> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Label intelligence run

> Attach or replace an evaluator label on an intelligence-run record

`PUT /api/v2/storefront/intelligence-runs/{id}/label`

Attaches — or replaces — an evaluator label on an intelligence-run record. The
label body is freeform JSON your evaluation workflow defines (for example,
`{ "verdict": "good", "grader": "human", "notes": "..." }`). The full updated run
record comes back in the response.

## Request

```bash curl theme={null}
curl -X PUT https://api.interchange.io/api/v2/storefront/intelligence-runs/42/label \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": {
      "verdict": "good",
      "grader": "human",
      "notes": "Composition matched the brief and applied the right discount."
    }
  }'
```

## Parameters

| Field   | In   | Type    | Required | Notes                                                                        |
| ------- | ---- | ------- | -------- | ---------------------------------------------------------------------------- |
| `id`    | path | integer | Yes      | Surrogate id of the intelligence-run row                                     |
| `label` | body | object  | Yes      | Freeform JSON object your eval workflow defines. Replaces any existing label |

## Response

Returns `200` with the full intelligence-run record, with `evalLabel` set to the
label you sent:

```json theme={null}
{
  "id": "42",
  "storefrontId": "1234",
  "evalLabel": {
    "verdict": "good",
    "grader": "human",
    "notes": "Composition matched the brief and applied the right discount."
  },
  "createdAt": "2026-06-06T15:00:00.000Z"
}
```

The response is the same shape returned by
[Get intelligence run](/v2/storefront/intelligence-runs/tasks/get-intelligence-run);
fields are elided above for brevity.

## Errors

* `400 VALIDATION_ERROR` — missing `label` or non-object body.
* `404 NOT_FOUND` — no run with that `id` on your storefront.
* `401 UNAUTHORIZED` — missing or invalid bearer token.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Intelligence run tasks" href="/v2/storefront/intelligence-runs/tasks" icon="list-check">
    All intelligence-run operations.
  </Card>

  <Card title="Get intelligence run" href="/v2/storefront/intelligence-runs/tasks/get-intelligence-run" icon="magnifying-glass">
    Fetch the full run record.
  </Card>
</CardGroup>
