Skip to main content
The submit-threat-report endpoint lets you submit threat reports programmatically without using the web interface. Submitted reports enter the community verification process and are only published after passing a human review. Use this endpoint to:
  • Automate reporting from your tooling: Flag suspicious assets the moment your detection systems identify them, without switching to the web UI.
  • Integrate with security pipelines: Trigger submissions directly from CI/CD workflows, dependency scanners, or SIEM alerts.
  • Contribute at scale: Research teams and Research Partners can submit structured threat reports in bulk via API.
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.
New users are limited to three reports. Once those are verified, this limit is removed. You will receive a 403 error if you try to submit more than three reports before your initial three submissions are approved.
For guidance on writing high-quality threat reports — including what evidence to include and how to describe threat behavior — see the reporting guidelines.

Endpoint

Required headers

Request body

Use our docs MCP server to improve the quality of your submissions.

Required fields

Optional fields

Tagging guide

Tags aid in searching through the web UI and help API consumers set up their own workflows based on keywords. We appreciate when you tag your submissions! Check out our page on Tags. This table contains several categories of useful tags that you can apply:

Resource identifier format

The value of resource_identifier depends on report_type:

IOC formatting in payload_description

When including network indicators, file hashes, or other IOCs in payload_description, follow standard defanging conventions to prevent accidental execution or link-following:
  • URLs: replace https:// with hxxps://
  • Dots in domains and IPs: replace . with [.]
Example: hxxps://malicious[.]example[.]com/payload payload_description renders as Markdown in the OSM web UI. Use headers (##), bullet lists, and inline code backticks to structure behavioral detail and IOCs for readability.

Responses

200 — Success

Errors

API error responses

Click this card for the latest list of error responses.

Examples

Package report
Package report (AI skills)
Repository report
Domain report