Skip to content

VALIDATION_FAILED

VALIDATION_FAILED (HTTP 400) means the data you sent didn’t match what the endpoint expects. We use Zod for runtime validation, so errors come back with field-level detail — not a generic “bad request.”

Common causes:

  • Required field missing — e.g. you submitted a project without a name.
  • Wrong type — e.g. you sent "5" (string) where the API wanted 5 (number).
  • String too long or too short — e.g. project names cap at 64 characters.
  • Invalid enum — e.g. you sent workloadType: "discord-bot" but the API expects "discord".
  • Format mismatch — e.g. an email field that doesn’t look like an email, a URL field without a scheme.

1. Read the field-level details. The response body looks like:

{
"error": "validation_failed",
"details": [
{ "path": ["name"], "message": "String must contain at most 64 character(s)" },
{ "path": ["email"], "message": "Invalid email" }
]
}

Fix each listed field.

2. If you’re using a form, the app should show inline errors. If a field is highlighted red with a message, that’s the one. If no field is highlighted, the form has a UI bug — report it.

3. Keep the validation error with your request so the unsupported field can be corrected, and tell support what you were trying to do.

4. Check character encoding. Pasting names with smart quotes (" ") instead of straight quotes (") sometimes confuses validators.

Back to the app

If the form gives no inline errors but you keep getting VALIDATION_FAILED:

  • Open browser devtools, go to the Network tab, find the failing request, copy the response body
  • Drop it in Discord (redact any tokens / keys first)
  • Or email support@vibecord.dev

This usually means a UI bug where field-level errors aren’t being surfaced. We patch those fast.