Skip to main content
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

curl
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

FieldInTypeRequiredNotes
idpathintegerYesSurrogate id of the intelligence-run row
labelbodyobjectYesFreeform 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:
{
  "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; 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 for the full error contract.

Intelligence run tasks

All intelligence-run operations.

Get intelligence run

Fetch the full run record.