Outbound Dialing Campaign API 400 on Dynamic List Import

Stuck on a 400 Bad Request when pushing outbound contacts via genesyscloud_outbound_contactlist. The Terraform provider throws a validation error during the plan phase.

Error: expected “type” to be one of [“file” “dynamic”], got “api”

The API docs suggest “api” is valid for Genesys Cloud, but the provider schema seems outdated. Running provider v1.28.1. Is this a known mismatch or am I missing a flag in the HCL block?

Try switching the type to “file” and using the api_definition block instead. The provider treats “api” as a legacy flag. For dynamic lists, define the schema explicitly within the file config.

Field Value
Type file
Source api_definition

This aligns with the current provider schema.

Take a look at at the Performance Dashboard metrics after implementing the suggested configuration change. Verifying the data integrity there helps ensure the outbound campaign aligns with our current reporting standards.

The shift from “api” to “file” type often resolves schema validation errors in the provider. This adjustment ensures the dynamic list imports correctly without triggering backend rejection codes.

TL;DR: Switching to “file” with api_definition resolved the validation error.

If I remember correctly, the Terraform provider schema for genesyscloud_outbound_contactlist is still lagging behind the REST API documentation. The suggestion above worked perfectly. Switching the type to “file” and nesting the schema under api_definition bypassed the strict validation that was rejecting “api”.

In Zendesk, we were used to pushing CSVs directly or using simple API endpoints that didn’t distinguish between file and dynamic sources this rigidly. Genesys Cloud’s architect logic is stricter, which makes sense for data integrity but catches migrants off guard. Once the HCL matched the provider’s expected structure, the plan phase passed without errors.

Just a heads-up for others migrating: always check the latest provider release notes. Version 1.28.1 has known quirks with dynamic list imports. This small config tweak saved hours of debugging. The campaign is now live and pulling contacts correctly.