WFM Schedule Import Fails with 400 Bad Request - Missing 'TimeZone' Field

Hi everyone! I am currently helping a client migrate their workforce management setup from Zendesk to Genesys Cloud. In Zendesk, we used to rely on simple CSV uploads for agent availability, but GC requires a bit more structure using the WFM APIs.

I am trying to import a schedule using the POST /api/v2/wfm/schedules endpoint. I have mapped our Zendesk ticketing hours to GC ‘Availability’ configurations, but the API keeps rejecting my payload.

Here is the error response I receive:

{
 "code": "bad_request",
 "message": "Validation failed for object 'Schedule'. Field 'timeZone' is required.",
 "status": 400
}

I am sending the timeZone field as “Europe/Paris” (matching our timezone), but it still fails. I noticed in the documentation that GC uses specific IANA timezone identifiers. Could it be that the field name is case-sensitive? Or do I need to include the offset explicitly?

My JSON payload looks like this:

{
 "name": "Shift_A",
 "timeZone": "Europe/Paris",
 "scheduleEntries": [
 {
 "startTime": "2023-10-01T08:00:00Z",
 "endTime": "2023-10-01T16:00:00Z",
 "type": "available"
 }
 ]
}

In Zendesk, we didn’t have to worry about timezone offsets in the same way because the system handled it based on the user profile. Is there a specific format for the startTime that aligns with the timeZone field? I want to ensure our agents are scheduled correctly for their shifts without manual adjustment.

Thanks for any tips!