> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Update Custom Sound > Update an existing custom sound. - The request must be sent as `multipart/form-data`. The `_id` and `name` fields are required; the `sound` file field is optional and only required when replacing the audio file. - When a new file is provided, the file size must not exceed `5 MB` (5242880 bytes), and the file MIME type must be one of `audio/mpeg`, `audio/mp3`, `audio/wav`, or `audio/x-wav`. This endpoint replaces the deprecated DDP methods `insertOrUpdateSound` and `uploadCustomSound`, which will be removed in `9.0.0`. Permission required: `manage-sounds` ### Changelog | Version | Description | | ------- | ----------- | | 8.5.0 | Added | ## OpenAPI ````json POST /api/v1/custom-sounds.update { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Content Management" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Assets" }, { "name": "Custom Emoji" }, { "name": "Custom Sounds" }, { "name": "Custom User Status" } ], "paths": { "/api/v1/custom-sounds.update": { "post": { "tags": [ "Custom Sounds" ], "summary": "Update Custom Sound", "description": "Update an existing custom sound.\n\n- The request must be sent as `multipart/form-data`. The `_id` and `name` fields are required; the `sound` file field is optional and only required when replacing the audio file.\n\n- When a new file is provided, the file size must not exceed `5 MB` (5242880 bytes), and the file MIME type must be one of `audio/mpeg`, `audio/mp3`, `audio/wav`, or `audio/x-wav`.\n\nThis endpoint replaces the deprecated DDP methods `insertOrUpdateSound` and `uploadCustomSound`, which will be removed in `9.0.0`.\n\nPermission required: `manage-sounds`\n\n### Changelog\n| Version | Description |\n| ------- | ----------- |\n| 8.5.0 | Added |", "operationId": "post-api-v1-custom-sounds.update", "parameters": [ { "$ref": "#/components/parameters/Auth-Token" }, { "$ref": "#/components/parameters/UserId" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "_id": { "type": "string", "description": "The ID of the custom sound to update.", "example": "65462caea2f73c7460e18f83" }, "name": { "type": "string", "description": "The updated display name of the custom sound. Must be at least one character long and must not contain colons, whitespace, or the characters `,`, `>`, `<`, `&`, `\"`, `'`, `/`, `\\`, `(`, or `)`.", "example": "doremi-v2" }, "sound": { "type": "string", "format": "binary", "description": "Optional. A new audio file to replace the existing one. If omitted, the current file is kept. Allowed MIME types are `audio/mpeg`, `audio/mp3`, `audio/wav`, and `audio/x-wav`. Maximum size is `5 MB` (5242880 bytes)." } }, "required": [ "_id", "name" ] }, "examples": { "Example": { "value": { "_id": "65462caea2f73c7460e18f83", "name": "doremi-v2" } } } } } }, "responses": { "200": { "$ref": "#/components/responses/trueSuccess" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" }, "errorType": { "type": "string" } } }, "examples": { "Sound not found": { "value": { "success": "false", "error": "Custom Sound not found." } }, "MIME type not allowed": { "value": { "success": "false", "error": "MIME type not allowed" } }, "File too large": { "value": { "success": "false", "error": "[error-file-too-large]" } }, "Name already in use": { "value": { "success": "false", "error": "The custom sound name is already in use [Custom_Sound_Error_Name_Already_In_Use]" } }, "Invalid name": { "value": { "success": "false", "error": "