This document tracks recently resolved errors and their solutions. For comprehensive error handling guidance, see the Error Handling Guide.
Issue: POST /api/jobs returned validation error for experience level and company ID format
Fix Applied: Updated Zod schema in /app/api/jobs/route.ts to accept proper enum values and UUID regex
Status: RESOLVED - Job creation now works correctly
Fixed: 2025-11-20T21:03:00Z
The validation schema was too restrictive:
- Company ID required exact UUID format but validation regex was incorrect
- Experience level enum didn't match the allowed values in the database
- Job description character limit was too low (5,000) for detailed job postings
// Before
company_id: z.string().uuid() // Too strict
experience_level: z.enum(['entry', 'mid', 'senior']) // Missing 'lead', 'executive'
description: z.string().max(5000) // Too short
// After
company_id: z.string().regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/, 'Invalid company ID format')
experience_level: z.enum(['entry', 'mid', 'senior', 'lead', 'executive'])
description: z.string().max(20000) // Increased limit- Valid UUID formats accepted
- All experience levels work correctly
- Long job descriptions (up to 20,000 chars) accepted
- Proper error messages for invalid formats
fetch("http://localhost:3000/api/jobs", {
"headers": {
"accept": "*/*",
"accept-language": "nl,en;q=0.9,en-GB;q=0.8,en-US;q=0.7",
"content-type": "application/json",
"sec-ch-ua": "\"Chromium\";v=\"142\", \"Microsoft Edge\";v=\"142\", \"Not_A Brand\";v=\"99\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"cookie": "ph_phc_SBLpZVAB6jmHOct9CABq3PF0Yn5FU3G2FgT4xUr2XrT_posthog=%7B%22distinct_id%22%3A%22019a53ad-c0ae-7c90-8e46-c84e91659c28%22%2C%22%24sesid%22%3A%5B1762343285228%2C%22019a53d0-c6fe-76eb-91c2-9f744d59b232%22%2C1762342782717%5D%2C%22%24initial_person_info%22%3A%7B%22r%22%3A%22%24direct%22%2C%22u%22%3A%22http%3A%2F%2Flocalhost%3A4111%2Fagents%22%7D%7D; sb-xkniinqkrkdqyvhubdhx-auth-token=base64-eyJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0ltdHBaQ0k2SWpCMFVXOUpWMnQzVTBKNmRrMVdNMk1pTENKMGVYQWlPaUpLVjFRaWZRLmV5SnBjM01pT2lKb2RIUndjem92TDNocmJtbHBibkZyY210a2NYbDJhSFZpWkdoNExuTjFjR0ZpWVhObExtTnZMMkYxZEdndmRqRWlMQ0p6ZFdJaU9pSmhNR0poT0RBM05DMDNZVFEyTFRSaVpEY3RPVGM0TlMwMlkyUTBPRFE1T1RKak0ySWlMQ0poZFdRaU9pSmhkWFJvWlc1MGFXTmhkR1ZrSWl3aVpYaHdJam94TnpZek1UWTJNek14TENKcFlYUWlPakUzTmpNeE5qSTNNekVzSW1WdFlXbHNJam9pWW1GeWRIWmhibVJsY20xbFpYSmxia0JuYldGcGJDNWpiMjBpTENKd2FHOXVaU0k2SWlJc0ltRndjRjl0WlhSaFpHRjBZU0k2ZXlKd2NtOTJhV1JsY2lJNkltVnRZV2xzSWl3aWNISnZkbWxrWlhKeklqcGJJbVZ0WVdsc0lsMTlMQ0oxYzJWeVgyMWxkR0ZrWVhSaElqcDdJbVZ0WVdsc0lqb2lZbUZ5ZEhaaGJtUmxjbTFsWlhKbGJrQm5iV0ZwYkM1amIyMGlMQ0psYldGcGJGOTJaWEpwWm1sbFpDSTZkSEoxWlN3aWNHaHZibVZmZG1WeWFXWnBaV1FpT21aaGJITmxMQ0p6ZFdJaU9pSmhNR0poT0RBM05DMDNZVFEyTFRSaVpEY3RPVGM0TlMwMlkyUTBPRFE1T1RKak0ySWlmU3dpY205c1pTSTZJbUYxZEdobGJuUnBZMkYwWldRaUxDSmhZV3dpT2lKaFlXd3hJaXdpWVcxeUlqcGJleUp0WlhSb2IyUWlPaUp3WVhOemQyOXlaQ0lzSW5ScGJXVnpkR0Z0Y0NJNk1UYzJNamcxTWpZNE9IMWRMQ0p6WlhOemFXOXVYMmxrSWpvaU0yUXpNamRtWXpJdE9ETmlaUzAwTlRBNUxXSmpPRFl0T1RBNE5XVTRZbVF4TURoaElpd2lhWE5mWVc1dmJubHRiM1Z6SWpwbVlXeHpaWDAubFpQRTVXYng1MDd2bnVjWmx0aTBjNTZORUVTeUZqVFV2V2IxVVh5R2dlNCIsInRva2VuX3R5cGUiOiJiZWFyZXIiLCJleHBpcmVzX2luIjozNjAwLCJleHBpcmVzX2F0IjoxNzYzMTY2MzMxLCJyZWZyZXNoX3Rva2VuIjoiZndnNHdobDRmazZyIiwidXNlciI6eyJpZCI6ImEwYmE4MDc0LTdhNDYtNGJkNy05Nzg1LTZjZDQ4NDk5MmMzYiIsImF1ZCI6ImF1dGhlbnRpY2F0ZWQiLCJyb2xlIjoiYXV0aGVudGljYXRlZCIsImVtYWlsIjoiYmFydHZhbmRlcm1lZXJlbkBnbWFpbC5jb20iLCJlbWFpbF9jb25maXJtZWRfYXQiOiIyMDI1LTExLTExVDA5OjE3OjU4LjQ4ODE5MloiLCJwaG9uZSI6IiIsImNvbmZpcm1hdGlvbl9zZW50X2F0IjoiMjAyNS0xMS0xMVQwOToxNzoyOC4wNjU5WiIsImNvbmZpcm1lZF9hdCI6IjIwMjUtMTEtMTFUMDk6MTc6NTguNDg4MTkyWiIsImxhc3Rfc2lnbl9pbl9hdCI6IjIwMjUtMTEtMTFUMDk6MTg6MDguMjAzMzkyWiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7ImVtYWlsIjoiYmFydHZhbmRlcm1lZXJlbkBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwicGhvbmVfdmVyaWZpZWQiOmZhbHNlLCJzdWIiOiJhMGJhODA3NC03YTQ2LTRiZDctOTc4NS02Y2Q0ODQ5OTJjM2IifSwiaWRlbnRpdGllcyI6W3siaWRlbnRpdHlfaWQiOiIwNTg3OWMzNi01ZjRhLTQ4MWYtYjkxMS0wY2NiNjU4YWRhOGUiLCJpZCI6ImEwYmE4MDc0LTdhNDYtNGJkNy05Nzg1LTZjZDQ4NDk5MmMzYiIsInVzZXJfaWQiOiJhMGJhODA3NC03YTQ2LTRiZDctOTc4NS02Y2Q0ODQ5OTJjM2IiLCJpZGVudGl0eV9kYXRhIjp7ImVtYWlsIjoiYmFydHZhbmRlcm1lZXJlbkBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwicGhvbmVfdmVyaWZpZWQiOmZhbHNlLCJzdWIiOiJhMGJhODA3NC03YTQ2LTRiZDctOTc4NS02Y2Q0ODQ5OTJjM2IifSwicHJvdmlkZXIiOiJlbWFpbCIsImxhc3Rfc2lnbl9pbl9hdCI6IjIwMjUtMTEtMTFUMDk6MTc6MjguMDQzMzE5WiIsImNyZWF0ZWRfYXQiOiIyMDI1LTExLTExVDA5OjE3OjI4LjA0MzM3MVoiLCJ1cGRhdGVkX2F0IjoiMjAyNS0xMS0xMVQwOToxNzoyOC4wNDMzNzFaIiwiZW1haWwiOiJiYXJ0dmFuZGVybWVlcmVuQGdtYWlsLmNvbSJ9XSwiY3JlYXRlZF9hdCI6IjIwMjUtMTEtMTFUMDk6MTc6MjcuOTg4MzI5WiIsInVwZGF0ZWRfYXQiOiIyMDI1LTExLTE0VDIzOjI1OjMxLjM1MjMyMVoiLCJpc19hbm9ueW1vdXMiOmZhbHNlfX0; __next_hmr_refresh_hash__=97",
"Referer": "http://localhost:3000/jobs/new"
},
"body": "{\"title\":\"Data Quality Engineer\",\"description\":\"- Den Bosch\\n- IT\\n- € 4.059,- en € 5.799,-\\n- HBO\\n\\n- ### Wat ga je doen?\\n\\t#### Met jouw energie kan het\\n\\tAls Data Quality Engineer speel je een cruciale rol in het waarborgen en verbeteren van de datakwaliteit binnen Enexis, en draag je direct bij aan een betrouwbare datastroom voor onze energietransitie. \\n\\t• Jouw expertise in SQL, Snowflake en Power BI stelt je in staat om innovatieve en structurele verbeteringen in ons data management te realiseren. \\n\\t• Je kunt daarbij rekenen op goede arbeidsvoorwaarden zoals een aantrekkelijk salaris, een persoonlijk ontwikkelbudget en ruime mogelijkheden om flexibel te werken.\\n\\t#### Zo ga jij deze uitdaging aan\\n\\tAls Data Quality Engineer bij Enexis ben je verantwoordelijk voor het ontwikkelen en optimaliseren van data quality dashboards en het analyseren van datakwaliteitsproblemen. Je voert datakwaliteitschecks en -analyses uit en vertaalt datakwaliteitsvraagstukken naar technische oplossingen. Je werkt nauw samen met data stewards, data engineers en business stakeholders om structurele verbetering van de datakwaliteit te realiseren.\\n\\t• Ontwikkelen, beheren en optimaliseren van data quality dashboards. \\n\\t• Analyseren van datakwaliteitsproblemen en adviseren over verbetermaatregelen. \\n\\t• Samenwerken met data stewards en engineers om datakwaliteit structureel te verbeteren.\\n- ### Functie-eisen\\n\\t#### Zo pak jij het aan\\n\\tJe beschikt over een sterk analytisch vermogen en kunt data effectief interpreteren en visualiseren. Communicatief ben je vaardig en kun je complexe materie eenvoudig uitleggen. Verder heb je: \\n\\t• Een afgeronde MBO/HBO- opleiding in IT, Informatica, Data Science of vergelijkbaar. \\n\\t• Medior niveau (2–5 jaar ervaring) in een soortgelijke functie. \\n\\t• Ervaring met SQL en het bouwen van DQ dashboards, Snowflake en Power BI.\\n- ### Team & cultuur\\n\\t#### Je zet je schouders eronder met\\n\\tJouw collega’s van de data-afdeling. Hier vorm je een team met data stewards en engineers met wie je nauw samenwerkt. Samen creëren jullie innovatieve dataoplossingen.\\n\\tWe vinden het belangrijk dat je je bij ons thuis voelt. We zijn allemaal anders en het mooie daarvan is dat we elkaar vanuit die verschillen aanvullen. We hebben elkaars perspectieven en meningen nodig voor een succesvolle energietransitie! Lees [hier](https://werkenbij.enexis.nl/over-enexis-groep/diversiteit-en-inclusie) mee over ons beleid op diversiteit en inclusie.\\n- ### Wat krijg je van ons?\\n\\t#### En wij steken natuurlijk ook energie in jou\\n\\tBij [Enexis](https://werkenbijenexis.nl/overenexisgroep) werk je in de voorhoede van een van de grootste uitdagingen van onze tijd: de energietransitie. Daarbij zorgen we goed voor je. Dat begint met een uitgebreid welkomstpakket en -programma om je collega’s te leren kennen. En met goede arbeidsvoorwaarden:\\n\\t- Salaris tussen € 4.059,- en € 5.799, - bruto per maand (op basis van 40 uur per week). Inclusief secundaire arbeidsvoorwaarden kan je salaris oplopen tot € 7.801, - bruto per maand.\\n\\t- Bijdrage van 70% aan je ABP Keuzepensioen.\\n\\t- Persoonlijk budget van 10% en een 13e maand van 10,7% van je brutojaarsalaris. Deze kun je flexibel inzetten of maandelijks of jaarlijks laten uitbetalen.\\n\\t- 24,5 vakantiedagen bij een fulltime dienstverband. Meer oplaadtijd nodig? Met je persoonlijk budget en 13e maand koop je tot wel 35,5 extra verlofdagen.\\n\\t- Beperkte mogelijkheden om thuis te werken, inclusief een door ons ingerichte thuiswerkplek en een thuiwerkvergoeding.\\n\\t- Laptop of tablet en telefoon die je ook privé mag gebruiken.\\n\\t- Reiskostenvergoeding en een eersteklas ov-abonnement voor zakelijk gebruik.\\n\\t- Vitaliteitsbudget van € 500,- voor bijvoorbeeld een sportabonnement.\\n\\t- Ruimte om te groeien met ons interne ontwikkelplatform of externe opleidingen en trainingen.\\n\\tWerk als Data Quality Engineer aan het energienetwerk van morgen \\n\\tSolliciteer via de button onderaan deze pagina. Binnen twee weken ontvang je een reactie. Heb je vragen over de functie? Neem dan contact op met Marvin Kerdel, Corporate Recruiter, via marvin.kerdel@enexis.nl\\n\\tGoed om te weten \\n\\t• Na je sollicitatie ontvang je een e-mail met informatie over de procedure. Dit bestaat meestal uit twee gesprekken. \\n\\t• Een screening is onderdeel van de sollicitatieprocedure.\\n\\n### Recruiter\\n\\n\\n\\nMarvin Kerdel [Stuur mij een bericht](https://werkenbij.enexis.nl/vacatures/)\\n\\n[Solliciteer direct](https://werkenbij.enexis.nl/vacatures/#formOnPage)\\n\\n\\n\\n## Sollicitatieproces\\n\\n1. 1\\n\\t### Sollicitatie ontvangen\\n\\tWe bekijken je sollicitatie zorgvuldig en binnen 2 weken weet je of we je uitnodigen voor een gesprek.\\n2. 2\\n\\t### Kennismakingsgesprek\\n\\tTijd om elkaar te leren kennen. Wie ben je? Wat doe je graag? Waarom deze functie? En niet onbelangrijk: Wat wil jij weten van ons?\\n3. 3\\n\\t### Vervolggesprek\\n\\tWe horen graag over je werkervaringen en waarom de functie op je lijf geschreven staat. Daarnaast zullen we ook dieper ingaan op de inhoud van de functie. Heb je nog vragen over Enexis of de functie waarop je solliciteert? Deze beantwoorden we natuurlijk graag.\\n4. 4\\n\\t### Arbeidsvoorwaardengesprek\\n\\tIs er een wederzijdse match? Dan doen we je graag een aanbod bestaande uit een passend salaris en onze arbeidsvoorwaarden, zoals het aantal vakantiedagen en een persoonlijk budget: Enexis zorgt voor jou – ook buiten je werktijden.\\n5. 5\\n\\t### Een warm welkom!\\n\\tHet sollicitatieproces zit erop. Je hoeft alleen nog maar je handtekening te zetten en dan start jouw avontuur bij Enexis. Tot snel, collega!\\n\\n## Solliciteer direct\\n\\nSolliciteer via onderstaand formulier. Binnen twee weken ontvang je een reactie.\\n\\n## Soortgelijke vacatures\\n\\n- Senior Data Engineer team Data Science\\n\\tEnexis is één van de grote netbeheerders binnen Nederland en timmert flink aan de weg op het gebied van digitalisering. Als onderdeel van het Data Science team werk je aan de data-oplossingen van de toekomst, die bijdragen aan betrouwbaar...\\n\\t- Flexibel\\n\\t- IT\\n\\t- HBO\\n\\t- € 4.761,- en € 6.801,-\\n\\t[View original](https://werkenbij.enexis.nl/vacatures/senior-data-engineer-team-data-science-13661)\\n- Data Modelleur (LBDM)\\n\\tAls Data Modelleur ontwerp, beheer en ontwikkel je het Logisch Business Data Model (LBDM) van Enexis.\\n\\t- Den Bosch\\n\\t- IT\\n\\t- HBO\\n\\t- € 4.761,- en € 6.801,-\\n\\t[View original](https://werkenbij.enexis.nl/vacatures/data-modelleur-lbdm-14046)\\n- Senior Data Engineer\\n\\tWerk aan essentiële dataoplossingen die Enexis helpen in de energietransitie. Samen met ons multidisciplinair agile team creëer je impact en echte waarde. Sluit je aan en maak het verschil.\\n\\t- Flexibel\\n\\t- IT\\n\\t- HBO\\n\\t- € 4.761,- en € 6.801,-\\n\\t[View original](https://werkenbij.enexis.nl/vacatures/senior-data-engineer-13565)\\n[Bekijk alle soortgelijke vacatures](https://werkenbij.enexis.nl/vacatures?workArea=it)\",\"required_skills\":[\"SQL\",\"Snowflake\",\"Power BI\",\"Data Quality\",\"Dashboarding\",\"Analytisch Vermogen\",\"Data Interpretatie\",\"Data Visualisatie\",\"Data Science\"],\"experience_level\":\"mid\",\"department\":\"Data\",\"location\":\"Den Bosch\",\"job_type\":\"full-time\",\"status\":\"active\",\"company_id\":\"00000000-0000-0000-0000-000000000001\"}",
"method": "POST"
});
{
"success": false,
"error": {
"message": "Invalid request data",
"code": "VALIDATION_ERROR"
}
}
handleSubmit @ http://localhost:3000/_next/static/chunks/components_8406ceee._.js:1878
executeDispatch @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:10239
runWithFiberInDEV @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:959
processDispatchQueue @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:10265
(anonymous) @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:10540
batchedUpdates$1 @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:2247
dispatchEventForPluginEventSystem @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:10341
dispatchEvent @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:12855
dispatchDiscreteEvent @ http://localhost:3000/_next/static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js:12837