# POST /v2/scheduler/attendee always returns 400 "Failed json validation!"

**URL:** <https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729>\
**Category:** Zoom Scheduler\
**Tags:** api\
**Created:** [July 13, 2026, 3:14am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729 "2026-07-13T03:14:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Charan\_245](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/charan_245/32/75422_2.png) [@Charan\_245](https://devforum.zoom.us/u/Charan_245)\
**Post date:** [July 13, 2026, 3:14am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/1 "2026-07-13T03:14:02Z")

</div>

**API Endpoint(s) and/or Zoom API Event(s)**

- `POST /v2/scheduler/attendee` — [Scheduler APIs - API - Zoom Developer Docs](https://developers.zoom.us/docs/api/scheduler/#tag/scheduled-events/POST/scheduler/attendee)
- (works) `POST /v2/scheduler/schedules/single_use_link`

**Description**  
Goal: create bookings programmatically via `POST /v2/scheduler/attendee`. Every call fails validation regardless of body, so I need the correct request body (or the missing field). It fails identically for a full body, a minimal required-only body, and an empty `{}`. The same schedule books fine from the public scheduling page, and the same token succeeds on `single_use_link` (201) — so the app can write to Scheduler; only this endpoint fails.

**Error?**

```auto
HTTP 400
{"error":{"code":400,"errors":[{"appCode":0,"domain":"global","message":"Failed json validation!","reason":"invalidArgument"}],"message":"Failed json validation!","reqId":"WEB_d0e8b8d95e3c5d0d5203178568b30fc9","status":"INVALID_ARGUMENT"}}

```

reqIds (UTC): `WEB_d0e8b8d95e3c5d0d5203178568b30fc9` (2026-07-10T18:55:31Z), `WEB_dc724b2ff4441421c25db44f30235eab` (2026-07-10T18:55:32Z, empty `{}`).

**How To Reproduce**

1. Request

URL:

```auto
POST https://api.zoom.us/v2/scheduler/attendee?user=demo-caseguard

```

Headers:

```auto
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

```

Body (minimal, required fields only — still fails):

```json
{
  "schedule_id": "<schedule_id>",
  "duration": 60,
  "booker": { "email": "<email>", "first_name": "Test", "last_name": "User" },
  "location_configuration": { "kind": "zoomMeeting" }
}

```

Schedule context: `schedule_type: multiple`.

1. Authentication / app type: Server-to-Server OAuth. Token scope `scheduler:write:scheduled_event:admin` is present.

2. Errors / findings:

- Same `400 "Failed json validation!"` for full body, minimal body, and empty `{}`.
- Malformed JSON returns a _different_ error (`"Invalid request body"`) — so the JSON parses fine; this is schema validation.
- Omitting `user` returns `"Invalid user"`; any non-empty `user` proceeds to the error above.
- No change across `location_configuration.kind` values or `start_date_time` formats.

Schedule: `schedule_type: multiple`, scheduling\_url [Zoom Scheduler](https://scheduler.zoom.us/demo-caseguard/test-scheduler) .

**Response (400):**

{“error”:{“code”:400,“message”:“Failed json validation!”,“reason”:“invalidArgument”,“status”:“INVALID\_ARGUMENT”}}

**Fresh reqIds (UTC):**

- `WEB_d0e8b8d95e3c5d0d5203178568b30fc9` — 2026-07-10T18:55:31Z (minimal body above)
- `WEB_dc724b2ff4441421c25db44f30235eab` — 2026-07-10T18:55:32Z (empty `{}` body)

**Already verified:**

- Scope `scheduler:write:scheduled_event:admin` present.
- Malformed JSON gives a different error (“Invalid request body”), so JSON parses fine — this is schema validation.
- Same token succeeds on `POST /scheduler/schedules/single_use_link` (201), so the app can write.
- Omitting `user` → “Invalid user”; any non-empty `user` → the error above.

**Questions:**

1. Is a required field missing from the body?
2. Please share one known-good example request body for this endpoint.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [July 13, 2026, 10:35pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/3 "2026-07-13T22:35:05Z")

</div>

Hi @Charan_245 , here’s [request body example](https://www.postman.com/zoom-developer/zoom-public-workspace/request/dul174b/create-a-booking-for-a-schedule-slot?tab=body) for this endpoint from our public workspace and your request body of all required fields looks correct. Can you confirm that the existing schedule you’re creating this attendee for satisfies [the following](https://developers.zoom.us/docs/api/scheduler/#tag/scheduled-events/post/scheduler/attendee)?

> The user slug identifier to filter available time slots for a specific host or team member. Format: `t/` followed by the user identifier, for example `t/x0ghart`. **Required** if the schedule object contains a `user` field — pass the exact value from that field. Omit if the schedule has no `user` field.

Looking to evaluate if there should or shouldn’t be a user and if the issue is with the url parameter and/or the request body validation on our end.

Please also send the zm-tracking-id from the response headers of each scenario you’re testing, your account id and app client id to the **private message** I’m sending to you. Thank you!

---

<div class="post-metadata">

**Author:** ![Charan\_245](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/charan_245/32/75422_2.png) [@Charan\_245](https://devforum.zoom.us/u/Charan_245)\
**Post date:** [July 22, 2026, 3:15pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/4 "2026-07-22T15:15:32Z")

</div>

Hello @gianni.zoom, do you have any updates on this issue, the API is not working

---

<div class="post-metadata">

**Author:** ![antoniopg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/antoniopg/32/75598_2.png) [@antoniopg](https://devforum.zoom.us/u/antoniopg)\
**Post date:** [July 23, 2026, 10:25am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/5 "2026-07-23T10:25:02Z")

</div>

Hello, I am facing the same problem. I tried different options for the user as Gianni said but, I get invalid user or failed json validation. Can you update us @gianni.zoom ?

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 5, 2026, 12:49pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/6 "2026-08-05T12:49:53Z")

</div>

Hi @antoniopg @Charan_245 I was out of office, but happy to assist and follow up on this shortly. Antonio, please check your private message.

---

<div class="post-metadata">

**Author:** ![Empowerly](https://avatars.discourse-cdn.com/v4/letter/e/f07891/32.png) [@Empowerly](https://devforum.zoom.us/u/Empowerly)\
**Post date:** [August 6, 2026, 11:32pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/7 "2026-08-06T23:32:15Z")

</div>

@gianni.zoom We are also receiving the same invalid json error. We’ve tried the simplest body to avoid any issues. Here is the x-xm-trackingid

WEB\_60684146be7bad3e11031cc466de4a54

Exact same issue as the original poster as we’re getting “Failed json validation!” as well.

---

<div class="post-metadata">

**Author:** ![Empowerly](https://avatars.discourse-cdn.com/v4/letter/e/f07891/32.png) [@Empowerly](https://devforum.zoom.us/u/Empowerly)\
**Post date:** [August 13, 2026, 4:38pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/8 "2026-08-13T16:38:36Z")

</div>

@gianni.zoom I wanted to follow up on this and see if you had any more info? We noticed that if we’re an admin, we can book for ourselvese but not on behalf of others which is not what we would expect for a S2S app.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 13, 2026, 5:12pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/9 "2026-08-13T17:12:43Z")

</div>

Just messaged you for a bit more info @Empowerly !

---

<div class="post-metadata">

**Author:** ![Steven8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/steven8/32/76023_2.png) [@Steven8](https://devforum.zoom.us/u/Steven8)\
**Post date:** [August 13, 2026, 9:43pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/10 "2026-08-13T21:43:31Z")

</div>

switched to

`POST https://scheduler.zoom.us/zscheduler/v1/attendees?user=…`

The public endpoint seems to work.  
We can live with this until you have sorted it @gianni.zoom

---

<div class="post-metadata">

**Author:** ![Steven8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/steven8/32/76023_2.png) [@Steven8](https://devforum.zoom.us/u/Steven8)\
**Post date:** [August 13, 2026, 10:16pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/11 "2026-08-13T22:16:06Z")

</div>

Nah, that worked a handful of times and now it runs into nasty CAPTCHA problems.  
So, yes @gianni.zoom this is a real blocker, keeping us from shipping an important update into production. Kinda not good, not good…

---

<div class="post-metadata">

**Author:** ![Steven8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/steven8/32/76023_2.png) [@Steven8](https://devforum.zoom.us/u/Steven8)\
**Post date:** [August 15, 2026, 10:18am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/12 "2026-08-15T10:18:29Z")

</div>

@gianni.zoom Do we have an update on this?  
We have an ad and email campaign going leading people to a website that can’t take demo bookings.  
If Zoom can’t fix this API endpoint, then I have to see how I can port everything to a different vendor.

---

<div class="post-metadata">

**Author:** ![Azad](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/azad/32/76048_2.png) [@Azad](https://devforum.zoom.us/u/Azad)\
**Post date:** [August 17, 2026, 2:41am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/13 "2026-08-17T02:41:55Z")

</div>

Hi team,

I’m hitting a `400 "Failed json validation!"` error on `POST /v2/scheduler/attendee` — happens with a full body, a minimal required-only body, and even an empty `{}`, so it doesn’t seem body-specific.

**Key details:**

- Endpoint: `POST /v2/scheduler/attendee?user=demo-caseguard`
- Auth: Server-to-Server OAuth, scope `scheduler:write:scheduled_event:admin` present
- Same token works fine on `POST /scheduler/schedules/single_use_link` (201 success)
- Malformed JSON gives a different error (“Invalid request body”), so JSON is parsing fine — this looks like a schema validation issue
- Removing `user` gives “Invalid user”; any valid `user` value leads to the same 400 error

**Minimal body I’m sending:**

```auto
{
  "schedule_id": "<schedule_id>",
  "duration": 60,
  "booker": { "email": "<email>", "first_name": "Test", "last_name": "User" },
  "location_configuration": { "kind": "zoomMeeting" }
}

```

**reqIds (UTC):**

- `WEB_d0e8b8d95e3c5d0d5203178568b30fc9` (2026-07-10T18:55:31Z)
- `WEB_dc724b2ff4441421c25db44f30235eab` (2026-07-10T18:55:32Z, empty body)

**Questions:**

1. Is there a required field missing from my body?
2. Could someone share a known-good example request for this endpoint?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 17, 2026, 4:21pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/14 "2026-08-17T16:21:32Z")

</div>

Hi @Charan_245 @Steven8 @Azad @Empowerly @antoniopg ,

We are investigating (ZSEE-211478) and will update you as soon as soon as more info becomes available for a workaround or definite fix. Thank you for your feedback and making us aware of this behavior!

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 20, 2026, 6:10pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/15 "2026-08-20T18:10:51Z")

</div>

Hello all, fix is set for this weekend, but will confirm next week (ZOOM-1366190).

---

<div class="post-metadata">

**Author:** ![Steven8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/steven8/32/76023_2.png) [@Steven8](https://devforum.zoom.us/u/Steven8)\
**Post date:** [August 24, 2026, 3:05pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/16 "2026-08-24T15:05:54Z")

</div>

Just retested - its not fixed @gianni.zoom

Retested 2026-08-24 against the documented `POST /v2/scheduler/attendee` example. Only `schedule_id` changed to `sqx7k1btsopq6mf1ogkbp87950`. S2S OAuth, `scheduler:write:scheduled_event:admin`. GET schedule returns `user: null`.

1. Docs example, no `user` → 400 Invalid user  
`WEB_c366bc68d7a501d977cbcb110562db56`

2. Required fields only, no `user` → 400 Invalid user  
`WEB_c1381c3454e6676a8f1f777637a23198`

3. Docs example + `?user=t/steven-morell-4mknr7` → 400 Invalid user  
`WEB_fa85a8f84fd06ed71964a9d08144632a`

4. Docs example + `?user=steven-morell-4mknr7` → 400 Failed json validation!  
`WEB_9194485a0684960f5940af5e9f6a1345`

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 24, 2026, 3:48pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/17 "2026-08-24T15:48:39Z")

</div>

> [@gianni.zoom](#):
>
> ZOOM-1366190

Hi @Steven8 yes checking in with the team to see when the fix will be in effect on prod. Thanks for following up!

---

<div class="post-metadata">

**Author:** ![Empowerly](https://avatars.discourse-cdn.com/v4/letter/e/f07891/32.png) [@Empowerly](https://devforum.zoom.us/u/Empowerly)\
**Post date:** [August 27, 2026, 10:32pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/18 "2026-08-27T22:32:22Z")

</div>

@gianni.zoom I wanted to follow up to see if it has been deployed to prod?

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [August 31, 2026, 4:48pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/19 "2026-08-31T16:48:56Z")

</div>

@Empowerly @Steven8 @Azad @antoniopg @Charan_245 the fixes were deployed to prod 3 days ago. Can you please confirm what you’re experiencing now?

---

<div class="post-metadata">

**Author:** ![Empowerly](https://avatars.discourse-cdn.com/v4/letter/e/f07891/32.png) [@Empowerly](https://devforum.zoom.us/u/Empowerly)\
**Post date:** [September 1, 2026, 12:27am UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/20 "2026-09-01T00:27:58Z")

</div>

It does work on my end. However, for this same endpoint the documentation states: “This endpoint creates a new booking, attendee, or event by specifying the schedule, start time, duration, booker information, and optional guests or custom field responses.” however the guests property does not work at all. Additionally I tried to run the PATCH endpoint and the attendees also does nothing for setting additional attendees for the meeting. So I am getting back 200 OK but the actual Zoom UI does not show additional attendees.

So meeting creation is fixed, but there is no way to set additional guests.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [September 2, 2026, 4:42pm UTC](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729/21 "2026-09-02T16:42:05Z")

</div>

> [@Empowerly](#):
>
> So meeting creation is fixed, but there is no way to set additional guests.

@Empowerly Ahh I see. I just followed up with the team to get the guest property fixed for POST and PATCH endpoints.

[Next page](https://devforum.zoom.us/t/post-v2-scheduler-attendee-always-returns-400-failed-json-validation/144729.md?page=2)
