API Reference

List Remediation Summaries for a CVE

Return the latest AI-generated remediation summaries for a single CVE, drawn from intelligence reporting and analysis. The result is capped at the 5 most recent summaries, newest first.

GET
/v1/remediation/summary/{cve-id}

Cost: 1 credit per successful call

Path parameters

cve-idstringrequired

A CVE identifier matching the pattern CVE-YYYY-NNNNN where the numeric suffix is 4 to 7 digits. Input is case-insensitive: cve-2024-3094 is accepted and normalised to CVE-2024-3094 server-side.

Request

curl https://api.precursorintelligence.com/functions/v1/remediation/summary/CVE-2024-3094 \
  -H "Authorization: Bearer $PRECURSOR_API_KEY"

Response

200 OK
{
  "data": {
    "cve_id": "CVE-2024-3094",
    "count": 2,
    "items": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "cve_id": "CVE-2024-3094",
        "status": "success",
        "summary": "Downgrade xz-utils to version 5.4.6 or earlier, or remove all affected builds. Confirm the installed binary hash does not match any known backdoored artifact. Rotate SSH host keys on systems that ran the affected version, and audit authentication logs for anomalous private-key usage.",
        "created_at": "2026-05-18T08:00:00.000Z",
        "error_message": null
      },
      {
        "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "cve_id": "CVE-2024-3094",
        "status": "success",
        "summary": "Block outbound connections to known C2 infrastructure at the network perimeter. Apply vendor-supplied patches or revert to a clean xz-utils package. Re-scan the host with an updated signature set to confirm removal.",
        "created_at": "2026-05-11T14:22:00.000Z",
        "error_message": null
      }
    ],
    "generated_at": "2026-05-18T10:24:31.118Z"
  },
  "meta": {
    "request_id": "8b16efb8-9a6c-4ace-b817-11cbee626d08",
    "generated_at": "2026-05-18T10:24:31.118Z",
    "credits": { "charged": 1, "remaining": 9998 }
  }
}

Response fields

data.cve_idstringoptional

The canonical upper-case CVE identifier the summaries belong to.

data.countintegeroptional

Number of summaries returned (equals items.length). A valid CVE with no summaries on record returns 0 and an empty items array.

data.itemsarrayoptional

The remediation summaries, newest first, capped at 5. Each object contains the fields below.

data.items[].idstringoptional

Unique identifier (UUID) for the summary record.

data.items[].cve_idstringoptional

The CVE identifier this summary addresses.

data.items[].statusstringoptional

Generation status of the summary. success indicates a complete summary; other values indicate the generation did not complete.

data.items[].summarystringoptional

The AI-generated remediation guidance text.

data.items[].created_atstringoptional

ISO 8601 UTC timestamp of when the summary was generated.

data.items[].error_messagestring | nulloptional

Diagnostic message when status is not success; null otherwise.

data.generated_atstringoptional

ISO 8601 UTC timestamp indicating when this response was produced.

Errors

StatuserrorWhen
400invalid_cve_idThe path segment did not match the CVE-YYYY-N{4,7} pattern.
401invalid_authorizationThe Authorization header is missing or malformed.
401unauthorizedThe key is invalid, revoked, or the request IP is not on the allowlist.
402insufficient_creditsThe organisation's credit balance is below 1.
404not_foundThe route or resource does not exist.
405method_not_allowedOnly GET and OPTIONS are accepted.
500internalAn unexpected server error occurred.

See Errors for the full error reference.