Web Messaging Deployment API: Customizing Launcher Position and Colors via PUT Request

Just noticed that while integrating the CXone Web Messaging deployment into our Node.js middleware, the visual customization options seem to require a specific JSON structure that isn’t fully documented in the standard SDK references. We are using the /api/v2/conversations/messaging/deployments/{deploymentId} endpoint to programmatically update the widget settings. My goal is to dynamically adjust the launcher button color and position based on the customer’s Salesforce account tier. I’m passing a JSON payload with the settings object, but the API keeps rejecting the request with a 400 Bad Status. Here is the snippet of the payload I’m sending:

{
 "settings": {
 "launcherPosition": "bottom-right",
 "primaryColor": "#FF5733",
 "backgroundColor": "#FFFFFF"
 }
}

The error response is vague, just saying “Invalid settings object.” I’ve checked the launcherPosition values against the enum list in the docs, and bottom-right should be valid. Same for the hex color codes. Is there a nested object structure required for the visual theme? I tried adding a theme wrapper but that broke the schema validation entirely. I’m running this from an Asia/Kolkata timezone, but I doubt that affects the API validation logic. Has anyone successfully customized these properties via the REST API? I want to avoid hardcoding these values in the Studio configuration if I can push them from the middleware layer. Any pointers on the correct JSON schema for the settings block would be appreciated.