Skip to main content
The modify-threat-report endpoint lets you update a threat report, whether submitted by you or another community member. Only the fields you include in the request body will be changed. Fields you omit are left as-is. Use it to:
  • Add new evidence: Update a report with newly discovered IOCs, advisory URLs, or supporting references as your investigation develops.
  • Correct report details: Fix inaccurate severity assessments, version information, or payload descriptions after initial submission.
  • Expand threat coverage: Add tags, contributors, or updated publisher information as more becomes known about a threat actor or campaign.
Modified reports go through the community verification process before they are published to the database. This review ensures data quality and prevents false positives. You can track the status of your submissions from your profile on opensourcemalware.com.
Endpoint
Required headers

Request body

Identify the report

Include one of these fields to identify the report you want to change:
If you send more than one identifier, the API uses package_name first, then resource_identifier, then threat_id. A package_name or resource_identifier lookup that matches more than one report returns a 500 error. Send threat_id by itself to always target exactly one report.

Fields you can modify

Fields you can’t change

report_type, resource_identifier, package_name, and registry can’t be changed with this endpoint. If one of them is wrong, contact us.

How updates are applied

  • Only the fields you include are changed. Leave out any field you don’t intend to change.
  • tags and contributors replace the stored list. They aren’t merged. To add a tag, send the full list: the existing tags plus the new one.
  • Sending an empty string (""), null, or an empty array ([]) clears that field.

Response examples

Success: all other accounts (200)

The change is saved as a proposed revision for review.

Errors

API error responses

Click this card for the latest list of error responses.

cURL example

Because tags replaces the existing list, this example sends the report’s existing tags (npm, cryptominer, postinstall) plus the new keylogger tag.