> ## Documentation Index
> Fetch the complete documentation index at: https://social-b97141fb-auto-generate-llmstxt.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Network Settings

> Configure platform-wide settings and user experience controls through social.plus Network Settings APIs for comprehensive application management.

Network Settings APIs provide comprehensive control over platform-wide configurations that affect all users in your social.plus application. These settings enable you to customize user experience, privacy controls, and feature availability across your entire network.

<Info>
  Network Settings require **Admin API Access Token** and affect all users globally. Changes should be tested thoroughly before deployment.
</Info>

## Overview

<CardGroup cols={2}>
  <Card title="User Experience" icon="user-check" href="#user-experience-settings">
    Control mentions, feeds, and interaction features
  </Card>

  <Card title="Privacy Controls" icon="shield-halved" href="#privacy-settings">
    Manage user privacy modes and content visibility
  </Card>

  <Card title="Feature Toggles" icon="toggle-on" href="#feature-management">
    Enable or disable platform features globally
  </Card>

  <Card title="Content Policies" icon="file-contract" href="#content-policies">
    Configure content creation and sharing rules
  </Card>
</CardGroup>

## Core Settings Categories

<Tabs>
  <Tab title="User Experience">
    ### Feed and Content Settings

    <AccordionGroup>
      <Accordion title="Global Feed Configuration">
        Control what content appears in users' global feeds:

        ```json theme={null}
        {
          "showAllPosts": true,
          "showFollowedOnly": false,
          "enableContentFiltering": true,
          "defaultFeedType": "global"
        }
        ```

        **Options:**

        * `showAllPosts`: Display all public posts in global feed
        * `showFollowedOnly`: Limit feed to followed users only
        * `enableContentFiltering`: Apply content filtering rules
      </Accordion>

      <Accordion title="User Mention Settings">
        Configure user mention functionality:

        ```json theme={null}
        {
          "enableUserMentions": true,
          "mentionPrivacyMode": "public",
          "maxMentionsPerPost": 10,
          "requireFollowToMention": false
        }
        ```

        **Parameters:**

        * `enableUserMentions`: Allow users to mention others
        * `mentionPrivacyMode`: Control mention visibility
        * `maxMentionsPerPost`: Limit mentions per content
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Privacy Controls">
    ### User Privacy Settings

    <AccordionGroup>
      <Accordion title="Privacy Modes">
        Configure default privacy settings for users:

        ```json theme={null}
        {
          "defaultPrivacyMode": "public",
          "allowPrivacyChange": true,
          "privateProfilesByDefault": false,
          "friendsOnlyMode": false
        }
        ```

        **Privacy Levels:**

        * **Public**: Content visible to all users
        * **Friends**: Content visible to friends only
        * **Private**: Content visible to user only
      </Accordion>

      <Accordion title="Content Visibility">
        Control how content is shared and discovered:

        ```json theme={null}
        {
          "enableContentSharing": true,
          "allowExternalSharing": true,
          "searchableContent": true,
          "publicUserProfiles": true
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Feature Management">
    ### Platform Features

    <AccordionGroup>
      <Accordion title="Social Features">
        Enable or disable social interaction features:

        ```json theme={null}
        {
          "enableComments": true,
          "enableReactions": true,
          "enableFollowing": true,
          "enableDirectMessages": true,
          "enableGroupCreation": true
        }
        ```
      </Accordion>

      <Accordion title="Content Features">
        Control content creation and management:

        ```json theme={null}
        {
          "enableImageUpload": true,
          "enableVideoUpload": true,
          "enableFileSharing": true,
          "maxFileSize": 10485760,
          "allowedFileTypes": ["jpg", "png", "gif", "mp4"]
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Implementation Guide

<Steps>
  <Step title="Get Admin Token">
    Obtain an Admin API Access Token from Console → **Settings** → **Security**
  </Step>

  <Step title="Review Current Settings">
    Retrieve existing network settings to understand current configuration
  </Step>

  <Step title="Plan Changes">
    Document intended changes and their impact on user experience
  </Step>

  <Step title="Apply Settings">
    Use the Network Settings API to update configurations
  </Step>

  <Step title="Test and Monitor">
    Verify changes work as expected and monitor user feedback
  </Step>
</Steps>

## API Usage Examples

<CodeGroup>
  ```bash curl theme={null}
  # Get current network settings
  curl -X GET "https://api.amity.co/api/v3/network/settings" \
    -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

  # Update network settings
  curl -X PUT "https://api.amity.co/api/v3/network/settings" \
    -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "enableUserMentions": true,
      "showAllPosts": false,
      "defaultPrivacyMode": "public"
    }'
  ```

  ```javascript JavaScript theme={null}
  // Get network settings
  const getNetworkSettings = async () => {
    const response = await fetch('https://api.amity.co/api/v3/network/settings', {
      headers: {
        'Authorization': `Bearer ${ADMIN_TOKEN}`
      }
    });
    return response.json();
  };

  // Update network settings
  const updateNetworkSettings = async (settings) => {
    const response = await fetch('https://api.amity.co/api/v3/network/settings', {
      method: 'PUT',
      headers: {
        'Authorization': `Bearer ${ADMIN_TOKEN}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(settings)
    });
    return response.json();
  };
  ```

  ```python Python theme={null}
  import requests

  # Get network settings
  def get_network_settings(admin_token):
      response = requests.get(
          'https://api.amity.co/api/v3/network/settings',
          headers={'Authorization': f'Bearer {admin_token}'}
      )
      return response.json()

  # Update network settings
  def update_network_settings(admin_token, settings):
      response = requests.put(
          'https://api.amity.co/api/v3/network/settings',
          headers={
              'Authorization': f'Bearer {admin_token}',
              'Content-Type': 'application/json'
          },
          json=settings
      )
      return response.json()
  ```
</CodeGroup>

## Common Configuration Scenarios

<CardGroup cols={2}>
  <Card title="Enterprise Setup" icon="building">
    **Recommended Settings:**

    * Private profiles by default
    * Limited mentions
    * Curated content feeds
    * Enhanced privacy controls
  </Card>

  <Card title="Community Platform" icon="users">
    **Recommended Settings:**

    * Public profiles
    * Open mentions
    * Global content feeds
    * Social sharing enabled
  </Card>

  <Card title="Educational Platform" icon="graduation-cap">
    **Recommended Settings:**

    * Moderated content
    * Restricted file sharing
    * Teacher-only mentions
    * Limited privacy options
  </Card>

  <Card title="Creative Platform" icon="palette">
    **Recommended Settings:**

    * Public content sharing
    * Rich media support
    * Discovery features
    * Social interactions
  </Card>
</CardGroup>

## Best Practices

<AccordionGroup>
  <Accordion title="Planning Network Changes">
    * **Impact Assessment**: Evaluate how changes affect existing users
    * **Gradual Rollout**: Consider phased implementation for major changes
    * **User Communication**: Notify users of significant policy changes
    * **Backup Settings**: Document current settings before changes
  </Accordion>

  <Accordion title="Testing Network Settings">
    * **Staging Environment**: Test changes in a non-production environment
    * **User Scenarios**: Test common user workflows after changes
    * **Permission Validation**: Verify privacy and permission settings work correctly
    * **Performance Impact**: Monitor system performance after changes
  </Accordion>

  <Accordion title="Monitoring and Maintenance">
    * **Usage Analytics**: Track how settings affect user engagement
    * **Feedback Collection**: Gather user feedback on experience changes
    * **Regular Reviews**: Periodically review and optimize settings
    * **Security Audits**: Ensure privacy settings meet security requirements
  </Accordion>
</AccordionGroup>

## API Reference

<Card title="Complete Network Settings API" icon="code" href="https://api-docs.amity.co/#/Network%20Setting">
  Access the full API documentation for detailed endpoints, parameters, and response schemas for Network Settings management.
</Card>

## Related Features

<CardGroup cols={2}>
  <Card title="User Management" icon="users-cog" href="../console/user-and-content-management">
    Manage individual user settings and permissions
  </Card>

  <Card title="Content Moderation" icon="shield-check" href="../console/ai-content-moderation">
    Configure content filtering and moderation rules
  </Card>
</CardGroup>

***

<Warning>
  Network Settings changes affect all users immediately. Always test in a staging environment and have a rollback plan ready.
</Warning>
