---
title: "Resolve the effective channel-permission threshold"
method: POST
path: "/v1/channel-permission-overrides/resolve"
tags: ["channel-permission-overrides"]
---

# Resolve the effective channel-permission threshold

`POST /v1/channel-permission-overrides/resolve`

Read-only cascade resolution for one coordinate: walks channel → channel_type → adapter → workspace for the given selector keys and contact-type, returning the winning cell's threshold and scope, or null when no cell matches (the caller then falls through to the global thresholds). Same resolver the runtime evaluator uses over IPC.

## Request body

- object
  - `adapter` string, required
  - `channelType` 'dm' | 'private' | 'public'
  - `channelExternalId` string
  - `contactType` 'guardian' | 'trusted_contact' | 'unverified_contact' | 'unknown', required

## Response `200`

Successful response

- object
  - `resolved` object, nullable, required
    - `threshold` 'none' | 'low' | 'medium' | 'high', required
    - `scope` 'workspace' | 'adapter' | 'channel_type' | 'channel', required

---

[API](https://skmtc.net/vellum-ai/apis/vellum-gateway-api.md) · [All operations](https://skmtc.net/vellum-ai/apis/vellum-gateway-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vellum-ai/vellum-gateway-api/revisions/5f280bce8b2e/schema)
