Using API v1? See what changes in v2, or the v1 docs
VALIDATION_INVALID_BODY
The request body is not valid.
HTTP status: 400. Retrying the same request returns the same error.
What to do
Correct the fields listed in the error message and send the request again.
Hint returned with the error: Check the fields listed in the error message against the API reference.
Why it happens
- A missing required field
- A field of the wrong type
- Malformed JSON
Endpoints that return it
- Create a virtual account
POST /v2/accounts - Update an account
PATCH /v2/accounts/{accountId} - Import accounts
POST /v2/accounts/import - Update calendar settings
PATCH /v2/accounts/{accountId}/settings - Connect an account with a code
POST /v2/connect/accounts - Get the consent URL (popup mode)
POST /v2/connect/authorize - Complete a connection
POST /v2/connect/complete - Get connect widget details
POST /v2/connect/info - Create a connect session
POST /v2/connect/sessions - Create a calendar group
POST /v2/calendar-groups - Create a calendar
POST /v2/calendars - Rename a calendar group
PATCH /v2/calendar-groups/{groupId} - Update a calendar
PATCH /v2/calendars/{calendarRef} - Subscribe to a calendar
POST /v2/calendars/subscribe - Create a category
POST /v2/calendars/{calendarRef}/categories - Enable a calendar's feed
PUT /v2/calendars/{calendarRef}/feed - Share a calendar
POST /v2/calendars/{calendarRef}/permissions - Update a category
PATCH /v2/calendars/{calendarRef}/categories/{categoryId} - Update a calendar permission
PATCH /v2/calendars/{calendarRef}/permissions/{permissionId} - Create an event
POST /v2/events - Update an event
PATCH /v2/events/{eventId} - Import an event
POST /v2/events/import - Create an event from text
POST /v2/events/quick - Attach a link
POST /v2/events/{eventId}/attachments - Forward an invitation
POST /v2/events/{eventId}/forward - Move an event to another calendar
POST /v2/events/{eventId}/move - Respond to an invitation
POST /v2/events/{eventId}/respond - Upload a file to an event
POST /v2/events/{eventId}/attachments/file - Dismiss a reminder
POST /v2/events/{eventId}/reminder/dismiss - Snooze a reminder
POST /v2/events/{eventId}/reminder/snooze - Get free/busy for several accounts
POST /v2/free-busy - Find meeting times
POST /v2/meeting-times - Create a meeting
POST /v2/meetings - Update a meeting
PATCH /v2/meetings/{meetingId} - Create a webhook endpoint
POST /v2/webhooks - Update a webhook endpoint
PATCH /v2/webhooks/{webhookId} - Replay failed webhook deliveries
POST /v2/webhooks/{webhookId}/replay - Retrieve the signing secret
GET /v2/webhooks/{webhookId}/secret - Send a test delivery
POST /v2/webhooks/{webhookId}/test - Rotate the signing secret
POST /v2/webhooks/{webhookId}/secret/rotate - Import extended properties into metadata
POST /v2/metadata/import - Rotate an API key
POST /v2/keys/{keyId}/rotate - Simulate an invitation response
POST /v2/sandbox/simulate-reply