Web Messaging deployment API: Customizing launcher position and theme colors

Does anyone know how to programmatically configure the launcher position and theme colors for a Genesys Cloud Web Messaging deployment using the REST API? I am building a Rust service that needs to dynamically provision and style web messaging widgets for multiple tenants. I have successfully created the deployment using the POST /api/v2/conversations/messaging/engagements endpoint, but I cannot find a clear mapping in the OpenAPI spec for the visual customization fields.

I attempted to patch the deployment configuration with the following JSON payload, expecting the launcher to move to the bottom-left and change the primary color to our brand hex code:

{
 "deployment": {
 "id": "my-deployment-id",
 "config": {
 "launcher": {
 "position": "left",
 "alignment": "bottom"
 },
 "theme": {
 "primaryColor": "#FF5733"
 }
 }
 }
}

However, the API returns a 200 OK, but the changes do not reflect in the UI. When I fetch the deployment again, the launcher and theme objects are either missing or reset to defaults. Here are the steps I am following:

  1. Generate an OAuth token with webmessaging:read and webmessaging:write scopes.
  2. Create a new deployment via POST /api/v2/externalcontacts/contacts (wait, no, that’s contacts) - I am using POST /api/v2/conversations/messaging/deployments.
  3. Extract the deployment ID from the response.
  4. Send a PATCH request to /api/v2/conversations/messaging/deployments/{deploymentId} with the JSON above.
  5. Verify the configuration by fetching the deployment again.

Am I targeting the wrong endpoint? The documentation for DeploymentConfig is sparse regarding UI-specific properties. Is there a separate configuration object I need to update, or are these fields only available through the UI and not exposed via the standard REST API? I am using reqwest in Rust for the HTTP calls, and the request body is being serialized correctly with serde_json.