VALIDATION_FAILED
What triggered it
Section titled “What triggered it”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 wanted5(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.
What to try
Section titled “What to try”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.
When to contact support
Section titled “When to contact support”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.