---
title: "Update Action"
method: PATCH
path: "/v1/api-performance/actions/{action_id}"
tags: ["Eval Actions"]
---

# Update Action

`PATCH /v1/api-performance/actions/{action_id}`

## Request

- Base URL: `https://api.lightsage.com`
- URL: `https://api.lightsage.com/v1/api-performance/actions/{action_id}`
- Auth: API key in header `X-Lightsage-Api-Key`

Updates an eval action's status, owner, ignored reason, or note and returns the saved action. Omitted fields remain unchanged.

## Path parameters

- `action_id` string, required

## Request body

- PublicUpdateActionRequest
  - `status` string: open, in_progress, ignored, fixed, or verified.
  - `owner_user_id` string
  - `ignored_reason` string
  - `note` string: Recorded but never returned by any read endpoint.

## Response `200`

Successful Response

- PublicActionDetailResponse
  - `data` PublicApiPerformanceAction, required
    - `id` string, required
    - `source_id` string, nullable: Null when not tied to one source; the list's `source_id` filter then excludes it.
    - `action_type` string, required: Such as `broken_url` (a page in your inventory that returns 404), `agent_guessed_url` (a path the agent invented that never existed), `api_auth_or_quota_issue`, `transient_or_infra_error`, `page_not_llm_readable`, or `high_traffic_working_url`.
    - `status` string, required: `open`, `in_progress`, `ignored`, `fixed`, or `verified`.
    - `priority` string, required: `critical`, `high`, `medium`, or `low`.
    - `confidence` number, required
    - `effort` string, required: Such as `low` or `medium`.
    - `title` string, required
    - `description` string, required
    - `primary_url` string, nullable
    - `affected_urls` string[]
    - `evidence` object: Keys: `models`, `endpoints`, `run_ids` (runs that visited the URL), `issue_run_ids` (runs that hit this issue), `failed_run_ids` and `recovered_run_ids` (issue runs whose eval failed or still passed), `sample_runs`, `status_codes`, `failure_kinds`, `failure_kind`, `category`, `category_label`, `url_provenance`, `suggested_url`, `guess_pattern`, `initial_url_check`, `last_url_check`. `category` separates a broken documented page from an agent-guessed URL or an API auth/quota rejection; `url_provenance` is `documented`, `agent_invented`, or `unknown`. Lists are truncated to 10 endpoints and 10 sample runs; use `impact` for totals.
    - `recommendation` object: Carries `summary`, ordered `steps` of `key`/`label` pairs, and `verification`.
    - `impact` object: `affected_runs` (unique eval runs that hit this issue), `failed_evaluations` (affected runs whose eval outcome failed; `failed_runs` is a deprecated alias), `recovered_runs` (affected runs that still passed), `failed_requests` (individual failed fetches), `affected_endpoints`, `affected_models`, and raw visit tallies `visit_count`, `failed_visit_count`, `revisit_count`, and `error_occurrences`.
    - `source` string, required: Generating pipeline, such as `api_eval_runs`; not the API Performance source.
    - `fingerprint` string, required: Stable 64-character hex hash of the issue; differs per `action_type` on the same URL.
    - `owner_user_id` string, nullable
    - `ignored_reason` string, nullable
    - `first_seen_at` string, nullable: Retained across refreshes; can precede `created_at`.
    - `last_seen_at` string, nullable
    - `resolved_at` string, nullable
    - `verified_at` string, nullable
    - `created_at` string, nullable
    - `updated_at` string, nullable
  - `prompt` string, nullable: Null unless `include_prompt=true`.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usesapient/apis/sapient-public-api.md) - [All operations](https://skmtc.dev/usesapient/apis/sapient-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usesapient/apis/sapient-public-api/revisions/14890dfe867e?raw)
