put/users/@me/settings/voice-activity-sharing

Update voice activity sharing default and apply to all friends

Sets the default share_voice_activity flag for the current user and rewrites every existing friend relationship to the new value. Dispatches RELATIONSHIP_UPDATE to both parties of each friendship plus USER_UPDATE and USER_SETTINGS_UPDATE for the caller. Enforces a 24-hour cooldown tracked via the user's last_voice_activity_sharing_change_at field. Returns the updated user.

update_voice_activity_sharing_default

Request body

application/json

json
{
  "type": "object",
  "properties": {
    "share_voice_activity": {
      "type": "boolean",
      "description": "New default for sharing voice activity with friends; also applied to every existing friend relationship"
    }
  },
  "required": [
    "share_voice_activity"
  ],
  "description": "Body for PUT /users/@me/settings/voice-activity-sharing. Mass-updates all friend relationships and starts a 24h cooldown."
}

Responses

200

Success

json
{
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique identifier (snowflake) for this user",
      "$ref": "#/components/schemas/SnowflakeStringType"
    },
    "username": {
      "type": "string",
      "description": "The username of the user, not unique across the platform"
    },
    "discriminator": {
      "type": "string",
      "description": "The four-digit discriminator tag of the user"
    },
    "global_name": {
      "description": "The display name of the user, if set",
      "type": [
        "string",
        "null"
      ]
    },
    "avatar": {
      "description": "The hash of the user avatar image",
      "type": [
        "string",
        "null"
      ]
    },
    "avatar_color": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Int32Type"
        },
        {
          "type": "null"
        }
      ],
      "description": "The dominant avatar color of the user as an integer"
    },
    "bot": {
      "description": "Whether the user is a bot account",
      "type": "boolean"
    },
    "system": {
      "description": "Whether the user is an official system user",
      "type": "boolean"
    },
    "flags": {
      "$ref": "#/components/schemas/PublicUserFlags"
    },
    "mention_flags": {
      "description": "The user's account-wide reply mention preference. Omitted when the user has no preference set (treated as NO_PREFERENCE).",
      "$ref": "#/components/schemas/MentionReplyPreferences"
    },
    "is_staff": {
      "type": "boolean",
      "description": "Whether the user has staff permissions"
    },
    "acls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Access control list entries for the user"
    },
    "traits": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Special traits assigned to the user account"
    },
    "email": {
      "description": "The email address associated with the account",
      "type": [
        "string",
        "null"
      ]
    },
    "email_bounced": {
      "description": "Whether the current email address is marked as bounced by the mail provider",
      "type": "boolean"
    },
    "has_verified_phone": {
      "type": "boolean",
      "description": "Deprecated. Always false."
    },
    "bio": {
      "description": "The user biography text",
      "type": [
        "string",
        "null"
      ]
    },
    "pronouns": {
      "description": "The preferred pronouns of the user",
      "type": [
        "string",
        "null"
      ]
    },
    "accent_color": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Int32Type"
        },
        {
          "type": "null"
        }
      ],
      "description": "The user-selected accent color as an integer"
    },
    "timezone": {
      "description": "The IANA timezone identifier saved by the user",
      "type": [
        "string",
        "null"
      ]
    },
    "timezone_privacy_flags": {
      "$ref": "#/components/schemas/ProfileFieldPrivacyFlags"
    },
    "banner": {
      "description": "The hash of the user profile banner image",
      "type": [
        "string",
        "null"
      ]
    },
    "banner_color": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Int32Type"
        },
        {
          "type": "null"
        }
      ],
      "description": "The default banner color if no custom banner is set"
    },
    "mfa_enabled": {
      "type": "boolean",
      "description": "Whether multi-factor authentication is enabled"
    },
    "authenticator_types": {
      "description": "The types of authenticators configured for MFA",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserAuthenticatorTypes"
      }
    },
    "verified": {
      "type": "boolean",
      "description": "Whether the email address has been verified"
    },
    "account_limited": {
      "description": "Whether the account is limited",
      "type": "boolean"
    },
    "premium_type": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/UserPremiumTypes",
          "description": "The type of premium subscription"
        },
        {
          "type": "null"
        }
      ]
    },
    "premium_since": {
      "description": "ISO8601 timestamp of when premium was first activated",
      "type": [
        "string",
        "null"
      ]
    },
    "premium_until": {
      "description": "ISO8601 timestamp of when premium access ends, including stacked gift time",
      "type": [
        "string",
        "null"
      ]
    },
    "premium_will_cancel": {
      "type": "boolean",
      "description": "Whether premium is set to cancel at the end of the billing period"
    },
    "premium_billing_cycle": {
      "description": "The billing cycle for the premium subscription",
      "type": [
        "string",
        "null"
      ]
    },
    "premium_lifetime_sequence": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Int32Type"
        },
        {
          "type": "null"
        }
      ],
      "description": "The sequence number for lifetime premium subscribers"
    },
    "premium_grace_ends_at": {
      "description": "ISO8601 timestamp at which grace access ends after premium_until passes: after a failed renewal payment (7 days from the renewal for monthly plans, 14 for yearly), after a subscription ends (3 days), or during an App Store or Google Play grace period. Perks stay active and the original premium_since is kept on resubscribe until this timestamp passes. Null when no grace is recorded, in which case access lasts 3 days after premium_until.",
      "type": [
        "string",
        "null"
      ]
    },
    "premium_discriminator": {
      "type": "boolean",
      "description": "Whether the user selected a premium-only discriminator that will be rerolled when non-lifetime premium access ends"
    },
    "premium_badge_hidden": {
      "type": "boolean",
      "description": "Whether the premium badge is hidden on the profile"
    },
    "premium_badge_masked": {
      "type": "boolean",
      "description": "Whether the premium badge shows a masked appearance"
    },
    "premium_badge_timestamp_hidden": {
      "type": "boolean",
      "description": "Whether the premium start timestamp is hidden"
    },
    "premium_badge_sequence_hidden": {
      "type": "boolean",
      "description": "Whether the lifetime sequence number is hidden"
    },
    "premium_purchase_disabled": {
      "type": "boolean",
      "description": "Whether premium purchases are disabled for this account"
    },
    "premium_enabled_override": {
      "type": "boolean",
      "description": "Whether premium features are enabled via override"
    },
    "premium_perks_disabled": {
      "type": "boolean",
      "description": "Whether premium perks are temporarily disabled for this account"
    },
    "password_last_changed_at": {
      "description": "ISO8601 timestamp of the last password change",
      "type": [
        "string",
        "null"
      ]
    },
    "last_voice_activity_sharing_change_at": {
      "description": "ISO8601 timestamp of the last bulk voice-activity-sharing change. Drives the 24-hour cooldown for re-toggling the Active Now sharing default.",
      "type": [
        "string",
        "null"
      ]
    },
    "required_actions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Deprecated. Always empty."
    },
    "nsfw_allowed": {
      "type": "boolean",
      "description": "Whether the user is allowed to view NSFW content"
    },
    "has_dismissed_premium_onboarding": {
      "type": "boolean",
      "description": "Whether the user has dismissed the premium onboarding flow"
    },
    "has_ever_purchased": {
      "type": "boolean",
      "description": "Whether the user has ever made a purchase"
    },
    "has_unread_gift_inventory": {
      "type": "boolean",
      "description": "Whether there are unread items in the gift inventory"
    },
    "unread_gift_inventory_count": {
      "description": "The number of unread gift inventory items",
      "$ref": "#/components/schemas/Int32Type"
    },
    "pending_bulk_message_deletion": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "scheduled_at": {
              "type": "string",
              "description": "ISO8601 timestamp of when the deletion was scheduled"
            },
            "channel_count": {
              "description": "The number of channels with messages to delete",
              "$ref": "#/components/schemas/Int32Type"
            },
            "message_count": {
              "description": "The total number of messages to delete",
              "$ref": "#/components/schemas/Int32Type"
            }
          },
          "required": [
            "scheduled_at",
            "channel_count",
            "message_count"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "Information about a pending bulk message deletion request. Only populated when the legacy delayed-deletion flow is in progress; the new immediate-deletion flow does not surface a pending state here."
    },
    "age_verified_adult": {
      "description": "Whether the user has verified their age as an adult via credit card verification",
      "type": "boolean"
    },
    "terms_agreed_at": {
      "description": "ISO8601 timestamp of when the user last agreed to the terms of service",
      "type": [
        "string",
        "null"
      ]
    },
    "privacy_agreed_at": {
      "description": "ISO8601 timestamp of when the user last agreed to the privacy policy",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "id",
    "username",
    "discriminator",
    "global_name",
    "avatar",
    "avatar_color",
    "flags",
    "is_staff",
    "acls",
    "traits",
    "email",
    "has_verified_phone",
    "bio",
    "pronouns",
    "accent_color",
    "banner",
    "banner_color",
    "mfa_enabled",
    "verified",
    "premium_type",
    "premium_since",
    "premium_until",
    "premium_will_cancel",
    "premium_billing_cycle",
    "premium_lifetime_sequence",
    "premium_grace_ends_at",
    "premium_discriminator",
    "premium_badge_hidden",
    "premium_badge_masked",
    "premium_badge_timestamp_hidden",
    "premium_badge_sequence_hidden",
    "premium_purchase_disabled",
    "premium_enabled_override",
    "premium_perks_disabled",
    "password_last_changed_at",
    "last_voice_activity_sharing_change_at",
    "required_actions",
    "nsfw_allowed",
    "has_dismissed_premium_onboarding",
    "has_ever_purchased",
    "has_unread_gift_inventory",
    "unread_gift_inventory_count",
    "pending_bulk_message_deletion",
    "terms_agreed_at",
    "privacy_agreed_at"
  ],
  "additionalProperties": false
}
400

Bad Request - The request was malformed or contained invalid data

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Machine-readable error code"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "description": "Field-specific validation errors",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Field path that failed validation"
          },
          "code": {
            "description": "Machine-readable validation error code",
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Human-readable validation error message"
          }
        },
        "required": [
          "path",
          "message"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "code",
    "message"
  ],
  "additionalProperties": {}
}
401

Unauthorized - Authentication is required or the token is invalid

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Machine-readable error code"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "description": "Field-specific validation errors",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Field path that failed validation"
          },
          "code": {
            "description": "Machine-readable validation error code",
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Human-readable validation error message"
          }
        },
        "required": [
          "path",
          "message"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "code",
    "message"
  ],
  "additionalProperties": {}
}
403

Forbidden - You do not have permission to perform this action

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Machine-readable error code"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "description": "Field-specific validation errors",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Field path that failed validation"
          },
          "code": {
            "description": "Machine-readable validation error code",
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Human-readable validation error message"
          }
        },
        "required": [
          "path",
          "message"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "code",
    "message"
  ],
  "additionalProperties": {}
}
429

Too Many Requests - You are being rate limited

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Machine-readable error code"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "description": "Field-specific validation errors",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Field path that failed validation"
          },
          "code": {
            "description": "Machine-readable validation error code",
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Human-readable validation error message"
          }
        },
        "required": [
          "path",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "retry_after": {
      "type": "number",
      "description": "Seconds to wait before retrying"
    },
    "global": {
      "type": "boolean",
      "description": "Whether this is a global rate limit"
    }
  },
  "required": [
    "code",
    "message"
  ],
  "additionalProperties": {}
}
500

Internal Server Error - An unexpected error occurred

json
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Machine-readable error code"
    },
    "message": {
      "type": "string",
      "description": "Human-readable error message"
    },
    "errors": {
      "description": "Field-specific validation errors",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Field path that failed validation"
          },
          "code": {
            "description": "Machine-readable validation error code",
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Human-readable validation error message"
          }
        },
        "required": [
          "path",
          "message"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "code",
    "message"
  ],
  "additionalProperties": {}
}