---
title: "Set Policy Doc Visibility"
method: PATCH
path: "/api/admin/policies/{policy_id}/doc-visibility"
tags: ["admin-policies"]
---

# Set Policy Doc Visibility

`PATCH /api/admin/policies/{policy_id}/doc-visibility`

## Request

- Base URL: `https://api.riskcube.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.riskcube.com/api/admin/policies/{policy_id}/doc-visibility`
- Auth: none declared

Toggle whether one policy document slot shows on the customer portal.

Stored in policies.doc_visibility (jsonb). A slot with no entry falls back
to its default: `invoice` (the carrier's) is Internal, everything else
including `custom_invoice` (RiskCube's) is Shared — see
DEFAULT_INTERNAL_DOC_FIELDS in app/routes/portal.py.

## Path parameters

- `policy_id` string, required

## Query parameters

- `field` string, required
- `visible` boolean, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-28** `0767547c3500`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/riskcube/apis/slack-lead-manager/changes/api/admin/policies/:policy_id/doc-visibility/patch.md)

---

[API](https://skmtc.dev/riskcube/apis/slack-lead-manager.md) - [All operations](https://skmtc.dev/riskcube/apis/slack-lead-manager/llms.txt) - [OpenAPI document](https://skmtc.dev/riskcube/apis/slack-lead-manager/revisions/c8976d6fad6b?raw)
