---
title: "Evaluate package versions against organization policy"
method: POST
path: "/v1/orgs/{org_slug}/packages/checks"
tags: ["packages"]
---

# Evaluate package versions against organization policy

`POST /v1/orgs/{org_slug}/packages/checks`

## Request

- The document declares no server URL.
- Auth: HTTP bearer

Evaluates cached facts for published, explicitly versioned public npm and PyPI packages against the organization default policy. This endpoint does not start scans.

## Path parameters

- `org_slug` string, required

## Request body

- object
  - `packages` object[], required
    - `purl` string, required

## Response `200`

Default Response

- object
  - `context` object, required
    - `mode` 'organization', required
    - `organizationSlug` string, required
    - `policyScope` 'organization-default', required
    - `policyRevision` integer, required
  - `results` object[], required
    - `index` integer, required
    - `inputPurl` string, required
    - `resolvedPurls` string[], required
    - `status` 'complete' | 'pending' | 'unknown' | 'unsupported' | 'error', required
    - `action` 'block' | 'warn' | 'monitor' | 'allow' | 'indeterminate', required
    - `reasons` object[], required
      - `code` 'invalid_purl' | 'version_required' | 'unsupported_ecosystem' | 'unsupported_identity' | 'metadata_unavailable' | 'analysis_pending' | 'analysis_stale' | 'artifact_limit' | 'result_limit' | 'deadline_exceeded' | 'lookup_failed' | 'policy_action_unavailable' | 'policy_block' | 'policy_warn' | 'policy_monitor', required
      - `alertKey` string
      - `alertType` string
      - `artifactPurls` string[]
    - `coverage` object, required
      - `scope` 'published-artifacts', required
      - `complete` boolean, required
      - `artifactCount` integer, required
      - `evaluatedArtifactCount` integer, required
      - `reason` 'metadata_unavailable' | 'analysis_incomplete' | 'artifact_limit' | 'result_limit' | 'deadline_exceeded' | 'lookup_failed' | 'null', nullable, required
    - `freshness` object, required
      - `evaluatedAt` string, date-time, required
      - `analysisAt` unknown, required
      - `source` 'artifact-state', required
      - `state` 'current' | 'stale' | 'unknown', required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `413`: Default Response
- `429`: Default Response
- `503`: Default Response

---

[API](https://skmtc.dev/socket-dev/apis/socket-api-v1.md) - [All operations](https://skmtc.dev/socket-dev/apis/socket-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/socket-dev/apis/socket-api-v1/revisions/e88284728ffb?raw)
