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

# Update Engagement Settings

> Update Engagement Settings.



## OpenAPI

````yaml PUT /articles/engagementSettings
openapi: 3.1.0
info:
  title: Blog API
  version: 1.0.0
servers:
  - url: https://api.octaviatech.app/cms
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Tags
    description: Tag management endpoints
paths:
  /articles/engagementSettings:
    put:
      tags:
        - Articles
      summary: Update tenant engagement settings
      description: >-
        Upserts the engagement configuration for the tenant identified by the
        `x-tenant-id` header. Every field is optional — omitted fields keep
        their current value, and a tenant with no record yet starts from the
        built-in defaults. Booleans and numbers are validated server-side;
        out-of-range values are rejected with 400. The authenticated user id is
        stored as `updatedBy`.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                commentsEnabled:
                  type: boolean
                  description: Master switch for comments. Default true.
                reactionsEnabled:
                  type: boolean
                  description: Master switch for reactions. Default true.
                allowGuestComments:
                  type: boolean
                  description: Allow unauthenticated visitors to comment. Default false.
                allowGuestReactions:
                  type: boolean
                  description: Allow unauthenticated visitors to react. Default false.
                autoApproveComments:
                  type: boolean
                  description: >-
                    When false, new comments are stored as `pending` for
                    moderation. Default true.
                requireCaptchaForGuestEngagement:
                  type: boolean
                  description: >-
                    Require a captcha token for guest comments and reactions.
                    Default true.
                guestEngagementCaptchaMinScore:
                  type: number
                  description: >-
                    Minimum captcha score accepted for guest engagement, between
                    0 and 1. Default 0.5.
                guestEngagementRateLimitPerMin:
                  type: number
                  description: >-
                    Guest engagement actions allowed per minute per guest
                    fingerprint, between 1 and 500 (floored to an integer).
                    Default 20.
            examples:
              Enable Guest Comments:
                value:
                  allowGuestComments: true
                  requireCaptchaForGuestEngagement: true
                  autoApproveComments: false
              Full Configuration:
                value:
                  commentsEnabled: true
                  reactionsEnabled: true
                  allowGuestComments: true
                  allowGuestReactions: true
                  autoApproveComments: false
                  requireCaptchaForGuestEngagement: true
                  guestEngagementCaptchaMinScore: 0.7
                  guestEngagementRateLimitPerMin: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                success: true
                statusCode: 200
                message: Engagement settings updated successfully
                data:
                  tenantId: tenant-1
                  commentsEnabled: true
                  reactionsEnabled: true
                  allowGuestComments: true
                  allowGuestReactions: false
                  autoApproveComments: false
                  requireCaptchaForGuestEngagement: true
                  guestEngagementCaptchaMinScore: 0.5
                  guestEngagementRateLimitPerMin: 20
                  updatedBy: '{{objectId}}'
        '400':
          description: >-
            Bad request (missing x-tenant-id header, or a numeric setting out of
            range)
          content:
            application/json:
              example:
                success: false
                statusCode: 400
                message: guestEngagementRateLimitPerMin must be between 1 and 500
                data: null
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                statusCode: 401
                message: Unauthorized
                data: null
        '500':
          description: Server error
          content:
            application/json:
              example:
                success: false
                statusCode: 500
                message: Server Error
                data: null
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````