---
title: "Update membership configuration"
method: PUT
path: "/api/sites/multiscreen/{site_name}/membership/configuration"
tags: ["Membership Configuration API"]
---

# Update membership configuration

`PUT /api/sites/multiscreen/{site_name}/membership/configuration`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/sites/multiscreen/{site_name}/membership/configuration`
- Auth: HTTP basic

Updates the design-time (editor) membership configuration for the site: access mode, site-level protection and per-resource protection rules (the rules are applied as a patch). Changes affect the editor draft only; the published live site is not updated until publish. Protected resources must reference pages that exist in the site.

## Path parameters

- `site_name` string, required

## Request body

- UpdateMembershipConfigurationRequest: Update of the design-time (editor) membership configuration. Applied to the draft editor configuration; the published live site is not affected until publish.
  - `members_access` MembersAccessConfiguration, required: Member registration access mode
    - `access_type` 'AUTO_APPROVE' | 'APPROVAL_REQUIRED': AUTO_APPROVE: any user who logs in becomes an active member immediately (subject to the site's authentication and registration settings, which control who may log in or self-register). APPROVAL_REQUIRED: logins are pending until the site owner approves them.
  - `membership_restriction_type` 'SELECTED_PAGES' | 'ALL_PAGES', required: ALL_PAGES: entire site is members-only. SELECTED_PAGES: only resources listed in resources_protection_rules are protected.
  - `resources_protection_rules` MembershipResourceProtectionRule[]: Per-resource protection rules to apply. This is a PATCH, not the full target state: send a rule with protection_type=NONE to remove protection from a resource, or any other protection_type to add/update it. Resources not listed here keep their current rule. Every protected resource (protection_type other than NONE) must reference a page that exists in the site.
    - `id` string: Identifier of the protected resource. For pages, this is the page UUID.
    - `protection_type` 'NONE' | 'MEMBERS_ONLY' | 'SPECIFIC_MEMBERS_ONLY': NONE: explicitly public. MEMBERS_ONLY: any logged-in member can access. SPECIFIC_MEMBERS_ONLY: only members in groups attached to this resource can access.
    - `type` 'PAGE': Type of protected resource. Currently always PAGE.

## Response `200`

OK

- MembershipConfigurationResponse: Site-level membership configuration from the editor (design-time). Live (published/runtime) behavior may differ until changes are published.
  - `members_access` MembersAccessConfiguration: Member registration access mode
    - `access_type` 'AUTO_APPROVE' | 'APPROVAL_REQUIRED': AUTO_APPROVE: any user who logs in becomes an active member immediately (subject to the site's authentication and registration settings, which control who may log in or self-register). APPROVAL_REQUIRED: logins are pending until the site owner approves them.
  - `membership_restriction_type` 'SELECTED_PAGES' | 'ALL_PAGES': ALL_PAGES: entire site is members-only. SELECTED_PAGES: only resources listed in resources_protection_rules are protected.
  - `resources_protection_rules` MembershipResourceProtectionRule[]: Per-resource protection rules. Includes every rule on the membership (NONE, MEMBERS_ONLY and SPECIFIC_MEMBERS_ONLY).
    - `id` string: Identifier of the protected resource. For pages, this is the page UUID.
    - `protection_type` 'NONE' | 'MEMBERS_ONLY' | 'SPECIFIC_MEMBERS_ONLY': NONE: explicitly public. MEMBERS_ONLY: any logged-in member can access. SPECIFIC_MEMBERS_ONLY: only members in groups attached to this resource can access.
    - `type` 'PAGE': Type of protected resource. Currently always PAGE.

## Other responses

- `400`: Bad request. The request is malformed or failed validation.
- `401`: Unauthorized. The credentials are missing or invalid.
- `429`: Too many requests. The rate limit was exceeded.

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
