> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cope.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a community's enabled modules

> Merges the supplied module toggles into the community's settings. Omitted modules keep their current value. Admin only.



## OpenAPI

````yaml /api-reference/community-v1.openapi.json put /v1/community/communities/{id}/modules
openapi: 3.1.0
info:
  description: >-
    Public write API for COPE communities — communities, memberships, invites,
    posts, comments, channels, messages, events, challenges, and library
    resources.
  title: COPE Community API
  version: 1.0.0
servers:
  - url: https://api.cope.com
security: []
paths:
  /v1/community/communities/{id}/modules:
    put:
      summary: Update a community's enabled modules
      description: >-
        Merges the supplied module toggles into the community's settings.
        Omitted modules keep their current value. Admin only.
      operationId: community.modules.update
      parameters:
        - in: path
          name: id
          required: true
          schema:
            pattern: ^[A-Za-z0-9_-]+$
            type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                calendar:
                  type: boolean
                challenges:
                  type: boolean
                courses:
                  type: boolean
                leaderboards:
                  type: boolean
                library:
                  type: boolean
                members:
                  type: boolean
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    additionalProperties: true
                    properties:
                      calendar:
                        type: boolean
                      challenges:
                        type: boolean
                      courses:
                        type: boolean
                      leaderboards:
                        type: boolean
                      library:
                        type: boolean
                      members:
                        type: boolean
                    type: object
                required:
                  - data
                type: object
          description: >-
            The community's module toggles after the merge. Contains only module
            keys; a module absent from the object is enabled by default.
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Bad Request
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Forbidden
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Unprocessable Content
      security:
        - bearerAuth: []
components:
  schemas:
    Problem:
      properties:
        code:
          type: string
        detail:
          type: string
        errors:
          items:
            properties:
              code:
                type: string
              detail:
                type: string
              field:
                type: string
            required:
              - code
              - detail
            type: object
          type: array
        request_id:
          type: string
        status:
          type: integer
        title:
          type: string
        type:
          format: uri
          type: string
      required:
        - type
        - title
        - status
        - code
        - errors
      type: object
  securitySchemes:
    bearerAuth:
      description: >-
        Bearer credential for the public API. Send a live COPE API key
        (`cope_sk_live_*`), or a Clerk session token when acting as a signed-in
        user. Community operations are scoped to the authenticated user; include
        `X-Cope-Business-Id` to act on behalf of a specific business you own.
      scheme: bearer
      type: http

````