CX as Code pipeline’s breaking on BYOC Edge promotion. Prod’s returning 409 Conflict on /api/v2/edge/registrations. Dev deploys clean. We’ve seen community posts about edge_id hash collisions when routing groups update, but our groups are static. Tried the workaround of deleting the Edge instance in Prod before import, but the routing group dependency won’t allow it. Makes zero difference anyway. Console shows the config’s identical, yet the API rejects the push.
genesys-cloud-platform-client-sdk throws that 409 Conflict when the internal hash drifts during promotion. We’ve tried clearing the state file and forcing a fresh export, but the routing dependency still blocks it. That’s why the inline edge_id usually mismatches.
That routing group dependency is usually just a stale last_modified timestamp in the export manifest blocking the push, and the community thread above about version hash drift is spot on. You’ll want to strip the hash before reimporting so the DX knowledge base surfacing rules and chatbot handoff paths don’t trigger another conflict.
The 409 Conflict usually stems from a stale version hash locked inside the export manifest. CX as Code treats BYOC Edge registrations almost exactly like Architect modules, so any drift in the last_modified timestamp or routing group UUID triggers a hard rejection. The community posts about hash collisions hit the nail on the head, but have you verified whether the target environment still holds an orphaned secure reference or a locked Data Table binding? Sometimes the pipeline pushes a clean config while the backend quietly expects a specific flow version tag. It’s a known quirk with how the import engine validates external dependencies. Frustrating workflow, but it’s how the system locks state.
You’ll need to force a clean state before the import runs, otherwise the routing dependency will keep blocking the push. Run a targeted export with the version override flag and patch the registration payload directly.
Don’t skip the secure flow references. They’ll break silently when the environment IDs drift. Skip this step and the next promotion will cascade into a routing group mismatch. The API won’t warn you until the first call hits the dead edge.
You might want to try disabling the manifest validation before the next push. The deployment engine frequently locks onto an outdated orchestration UUID and triggers a standard conflict error. It’s usually just a stale hash. Leaving that bypass flag active during promotion will silently overwrite the secure binding reference. Check the version drift.