---
title: "Evaluate generic policy action decisions for a batch of requests"
method: POST
path: "/v1/policy/evaluate"
tags: ["Policy"]
---

# Evaluate generic policy action decisions for a batch of requests

`POST /v1/policy/evaluate`

Returns generic policy decisions and follow-up requests for registered policy actions.

## Request body

- object
  - `clientVersion` string
  - `context` object
    - `isCi` boolean
    - `runId` string
    - `scope` union
      - 'global'
      - 'project'
    - `project` object
      - `id` string
      - `workspaceSlug` string, nullable
  - `acceptedWarnings` boolean
  - `requests` object[], required
    - `id` string, required
    - `action` string, required
    - `source` unknown, required

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'policy-evaluation', required
    - `attributes` object, required
      - `policyVersion` string, required
      - `orgId` string, nullable, required
      - `evaluationId` string, required
      - `decisions` union[], required
        - union
          - object
            - `id` string, required
            - `action` 'install', required
            - `decision` union, required
              - …
            - `reasons` union[], required
              - …
            - `resolvedSource` union
              - …
            - `fallbackSource` union
              - …
            - `requiresInteractiveConfirmation` boolean, required
            - `minimumReleaseAgeDays` integer, nullable
          - object
            - `id` string, required
            - `action` 'uninstall', required
            - `decision` union, required
              - …
            - `reasons` union[], required
              - …
      - `additionalRequests` object[], required
        - `id` string, required
        - `action` 'install', required
        - `source` union, required
          - object
            - `id` string, required
            - `source` 'registry', required
            - `tile` object, required
              - …
          - object
            - `id` string, required
            - `source` 'git', required
            - `url` string, required
            - `branch` string
            - `subpath` string
          - object
            - `id` string, required
            - `source` 'file', required
            - `path` string, required
        - `origin` 'managed-project.required', required
        - `decision` union, required
          - 'allow'
          - 'warn'
          - 'block'
        - `reasons` union[]
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/tessl/apis/tessl-api.md) · [All operations](https://skmtc.net/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tessl/tessl-api/versions/fbb186825642/schema)
