Domain: Curation

JFrog Platform Administration Documentation

Content Type
Administration / Platform
ft:sourceType
Paligo

Includes events that are triggered when certain events occur in Curation.

Event: Package was blocked by Curation

The Webhook is triggered when Curation blocks a package.

Package was Blocked

{
    "package_type": "npm",
    "package_name": "vm2",
    "package_version": "3.9.1",
    "package_url": "https://registry.npmjs.org/vm2/-/vm2-3.9.1.tgz",
    "reason": "Policy violations",
    "curated_repository_server_name": "",
    "curated_repository_name": "remote-npm-repo",
    "curated_project": "origin-project",
    "username": "John Doe",
    "user_mail": "johnd@example.com",
    "origin_repository_server_name": "origin-server",
    "origin_repository_name": "origin-repo",
    "origin_project": "origin-project",
    "public_repo_url": "https://registry.npmjs.org",
    "public_repo_name": "npm registry",
    "policies": [
      {
        "policy_name": "Vulns",
        "policy_id": 84,
        "dry_run": false,
        "result": "Blocked",
        "condition_name": "Block Sev High",
        "condition_category": "security"
      }
    ],
    "event_id": 1234
}
Event: Curation Waiver Request Created

The webhook is triggered when a waiver request is created.

Waiver Request Created

{
    "waiver_request": {
        "id": 5,
        "created_at": "1739697682644",
        "closed_at": "",
        "repo_key": "npm-remote",
        "pkg_type": "npm",
        "pkg_name": "vm2",
        "pkg_version": "3.9.3",
        "status": "pending",
        "decision_owners": [
            "readers",
            "group2"
        ],
        "requesters": [
            {
                "user": "anonymous",
                "email": "test@jfrog.com",
                "requested_at": "",
                "justification": "reasons"
            }
        ],
        "policies": [
            {
                "id": 5,
                "name": "aged",
                "scope": "all_repos",
                "policy_action": "block",
                "condition_id": "13",
                "condition_name": "Package version is aged (newer version available)",
                "condition_category": "operational",
                "can_approve": false,
                "pkg_types_include": null,
                "decision_owners": [
                    "readers"
                ]
            },
            {
                "id": 7,
                "name": "policy2",
                "scope": "all_repos",
                "policy_action": "block",
                "condition_id": "13",
                "condition_name": "Package version is aged (newer version available)",
                "condition_category": "operational",
                "can_approve": false,
                "pkg_types_include": null,
                "decision_owners": [
                    "group2"
                ]
            }
        ]
    },
    "pkg_url": "https://test-env/ui/catalog/packages/details/npm/vm2/3.9.3"
}
Event: Curation Waiver Request Updated

The webhook is triggered when a waiver request was updated.

Waiver Request Updated

{
    "waiver_request": {
        "id": 3,
        "created_at": "2025-02-15T22:14:58+02:00",
        "closed_at": "",
        "repo_key": "npm-remote",
        "pkg_type": "npm",
        "pkg_name": "vm2",
        "pkg_version": "3.9.3",
        "status": "pending",
        "decision_owners": [
            "group2",
            "readers"
        ],
        "requesters": [
            {
                "user": "anonymous",
                "email": "test@mail.com",
                "requested_at": "2025-02-15T22:14:58+02:00",
                "justification": "reasons"
            }
        ],
        "policies": [
            {
                "id": 5,
                "name": "aged policy 1",
                "scope": "all_repos",
                "policy_action": "block",
                "condition_id": "13",
                "condition_name": "Package version is aged (newer version available)",
                "condition_category": "operational",
                "can_approve": true,
                "pkg_types_include": null,
                "decision_owners": [
                    "readers"
                ]
            },
            {
                "id": 7,
                "name": "aged policy 2",
                "scope": "all_repos",
                "policy_action": "block",
                "condition_id": "13",
                "condition_name": "Package version is aged (newer version available)",
                "condition_category": "operational",
                "can_approve": false,
                "pkg_types_include": null,
                "decision_owners": [
                    "group2"
                ]
            }
        ]
    },
    "decision": {
        "created_by": "admin",
        "created_at": "",
        "justification": "not relevant",
        "status": "approved"
    },
    "pkg_url": "https://test-env/ui/catalog/packages/details/npm/vm2/3.9.3",
    "decided_policies": [
        {
            "id": 5,
            "name": "aged policy 1"
        }
    ],
    "pending_policies": [
        {
            "id": 7,
            "name": "aged policy 2"
        }
    ]
}
Event: Curation Policy Changed

This webhook is triggered whenever the configuration of Curation policies is updated, including any changes to the policy conditions.

A policy with one waiver was changed from a malicious condition to a critical vulnerability condition.

{
    "curation_event_type": "Policy Updated",
    "policy_before": {
      "id": "20",
      "created_by": "admin",
      "updated_by": "admin",
      "created_at": "2025-03-23T16:26:01+02:00",
      "updated_at": "2025-03-23T16:26:32+02:00",
      "enabled": true,
      "name": "some policy name",
      "scope": "all_repos",
      "policy_action": "block",
      "condition_id": "1",
      "condition": {
        "id": "1",
        "is_custom": false,
        "created_at": "2023-08-01T03:00:00+03:00",
        "updated_at": "2023-08-01T03:00:00+03:00",
        "risk_type": "security",
        "supported_pkg_types": [
          "npm",
          "PyPI",
          "Maven",
          "Go",
          "NuGet",
          "Conan",
          "Gems",
          "Gradle",
          "HuggingFaceML",
          "Docker"
        ],
        "condition_template_id": "isMalicious",
        "name": "Malicious package"
      },
      "waivers": [
        {
          "id": "7",
          "pkg_type": "npm",
          "pkg_name": "jQuery",
          "all_versions": false,
          "pkg_versions": [
            "1.7.4"
          ],
          "justification": "something",
          "created_by": "admin",
          "created_at": "2025-03-23T16:26:24+02:00"
        }
      ],
      "waiver_request_config": "forbidden"
    },
    "policy_after": {
      "id": "20",
      "created_by": "admin",
      "updated_by": "admin",
      "created_at": "2025-03-23T16:26:01+02:00",
      "updated_at": "2025-03-23T16:26:39+02:00",
      "enabled": true,
      "name": "some policy name",
      "scope": "all_repos",
      "policy_action": "block",
      "condition_id": "3",
      "condition": {
        "id": "3",
        "is_custom": false,
        "created_at": "2023-08-01T03:00:00+03:00",
        "updated_at": "2023-08-01T03:00:00+03:00",
        "risk_type": "security",
        "supported_pkg_types": [
          "npm",
          "PyPI",
          "Maven",
          "Go",
          "NuGet",
          "Conan",
          "Gems",
          "Gradle"
        ],
        "condition_template_id": "CVECVSSRange",
        "name": "CVE with CVSS score of 9 or above (with or without a fix version available)",
        "param_values": [
          {
            "param_id": "vulnerability_cvss_score_range",
            "value": [9, 10]
          },
          {
            "param_id": "apply_only_if_fix_is_available",
            "value": false
          }
        ]
      },
      "waivers": [
        {
          "id": "7",
          "pkg_type": "npm",
          "pkg_name": "jQuery",
          "all_versions": false,
          "pkg_versions": [
            "1.7.4"
          ],
          "justification": "something",
          "created_by": "admin",
          "created_at": "2025-03-23T16:26:24+02:00"
        }
      ],
      "waiver_request_config": "forbidden"
    }
}