Genesys Cloud Python SDK v2.14.0 throwing 422 on Script Update via Architect API

Hey everyone,

I’m hitting a weird snag while trying to automate script updates using the Genesys Cloud Python SDK (version 2.14.0). I’m trying to update an existing script’s steps via the PUT /api/v2/architect/scripts/{scriptId} endpoint, but I keep getting a 422 Unprocessable Entity error.

Here’s the setup:

  • Environment: US1
  • SDK: genesys-cloud-python-sdk 2.14.0
  • Auth: OAuth2 Client Credentials

The error response body is pretty sparse:

{
 "errors": [
 {
 "code": "invalidRequest",
 "message": "The request body is invalid. Please check the documentation for the expected schema."
 }
 ]
}

I’ve validated my payload against the Script schema in the Swagger UI, and it looks correct. I’m including the version, steps, and id fields. Interestingly, if I remove the steps array entirely and just update the name, the call succeeds. But as soon as I include steps, it fails.

I’ve checked the GitHub issues for the SDK, but nothing seems to match this specific behavior. Is there a known quirk with how the SDK serializes the ScriptStep objects? I noticed that the id field on the steps is optional in the schema, but I’ve tried both with and without explicit IDs for existing steps.

Has anyone else run into this when trying to patch script steps via the API? Any insights on what might be malformed in my request body would be greatly appreciated. I’m currently stuck on a manual workaround, which isn’t ideal for our CI/CD pipeline.