---
title: "List visibility overrides for a group"
method: GET
path: "/v2/groups/{id}/relationships/published-course-visibility/"
tags: ["Groups"]
---

# List visibility overrides for a group

`GET /v2/groups/{id}/relationships/published-course-visibility/`

Cursor-paginated list of visibility overrides for the given group.

Supported filters (all optional):

- ``filter[published_course_id]``: obfuscated id. Undecodable or
  cross-organization ids return an empty page, never an error.
- ``filter[is_visible]``: ``true`` returns only allowlist rows,
  ``false`` returns only blocklist rows; omitting the filter returns
  both.

Pagination (``page[size]``, ``page[cursor]``) is read from ``request`` by
``CursorPaginator`` — the ``filters`` argument is consumed for the
``filter[*]`` query params only.

Returns 404 if the group does not exist in the caller's organization
(document-level — distinct from per-item ``not_found`` on POST/DELETE,
which surfaces inside a 207 envelope).

**Required OAuth scope:** `student-groups:read`

## Path parameters

- `id` string, required

## Query parameters

- `filter[published_course_id]` string, nullable — Obfuscated id of a PublishedCourse. Returns only overrides targeting that course. Undecodable or cross-organization ids return zero results, never an error.
- `filter[is_visible]` boolean, nullable — True returns only allowlist overrides (force visible); False returns only blocklist overrides (force hidden); omitting the filter returns both.
- `page[size]` integer — Maximum number of records to return.
- `page[cursor]` string, nullable — Opaque cursor from the previous page's links.next.

## Response `200`

OK

- PaginatedListResponseVisibilityOverrideResource
  - `data` VisibilityOverrideResource[], required — The resources on this page, in cursor order.
    - `type` 'visibility-overrides' — Always "visibility-overrides".
    - `id` string, required — Opaque visibility-override id.
    - `attributes` VisibilityOverrideAttributes, required — Attributes of a visibility-override resource object.
      - `published_course_id` string, required — Obfuscated id of the PublishedCourse this override applies to.
      - `is_visible` boolean, required — True if the course is force-visible to the group; False if force-hidden.
      - `created_at` string, date-time, required — Timestamp when the override was created.
      - `updated_at` string, date-time, required — Timestamp when the override was last updated.
  - `meta` object, nullable — Pagination metadata, e.g. {"page_size": 25}.
  - `links` object, nullable — Pagination links, e.g. {"self": "...", "next": "...", "prev": null}.
  - `has_more` boolean, required — Whether additional pages exist after this one.
  - `next_cursor` string, nullable — Opaque cursor to pass as ``page[cursor]`` for the next page; null on the last page.
  - `included` object[], nullable — Related resources requested via ?include=. Absent when no include was requested.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

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