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

# Update follow up settings

> Requires `crm:automation:write`. Changing mode to auto can send future eligible follow-ups, including existing ones. Quiet-hour start and end must differ; uses the business timezone. Requires explicit authorization to change automation.



## OpenAPI

````yaml /openapi.json patch /crm/follow-up-settings
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /crm/follow-up-settings:
    patch:
      summary: Update follow up settings
      description: >-
        Requires `crm:automation:write`. Changing mode to auto can send future
        eligible follow-ups, including existing ones. Quiet-hour start and end
        must differ; uses the business timezone. Requires explicit authorization
        to change automation.
      operationId: update_follow_up_settings
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                followUpMode:
                  type: string
                  enum:
                    - 'off'
                    - draft
                    - auto
                followUpLevel:
                  type: string
                  enum:
                    - light
                    - balanced
                    - proactive
                followUpInstructions:
                  type: string
                  maxLength: 2000
                quietHours:
                  type: object
                  properties:
                    start:
                      type: string
                      maxLength: 5
                      pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
                    end:
                      type: string
                      maxLength: 5
                      pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
                  required:
                    - start
                    - end
                  additionalProperties: false
              additionalProperties: false
              minProperties: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicFollowUpSettings'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    PublicFollowUpSettings:
      type: object
      properties:
        followUpMode:
          type: string
          enum:
            - 'off'
            - draft
            - auto
        followUpLevel:
          type: string
          enum:
            - light
            - balanced
            - proactive
        followUpInstructions:
          type: string
          maxLength: 2000
        quietHours:
          type: object
          properties:
            start:
              type: string
              maxLength: 5
              pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
            end:
              type: string
              maxLength: 5
              pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
          required:
            - start
            - end
          additionalProperties: false
        timezone:
          type: string
          maxLength: 100
        salesAvailable:
          type: boolean
        salesPublished:
          type: boolean
      required:
        - followUpMode
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: M2M_AUTH_INSUFFICIENT_SCOPE
            message:
              type: string
            details:
              type: object
              additionalProperties: true
      example:
        error:
          code: M2M_AUTH_INSUFFICIENT_SCOPE
          message: M2M credential does not have required scope.
          details:
            requiredScopes:
              - conversations:write
            missingScopes:
              - conversations:write
  responses:
    Error:
      description: Structured error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````