REST Custom Object: Worker Reference Requires WID, Not Employee_ID
The error HTTP 400 Bad Request VALIDATION_ERROR: Invalid reference ID. Employee_ID=[ID] is not a valid identifier for this field
What it means
The REST layer doesn't resolve alternate IDs like Employee_ID for worker references - it only accepts the Workday ID (WID). The Employee_ID= prefix is SOAP syntax and means nothing in the REST layer.
Troubleshooting
- Check the worker ID format in your payload - Employee_ID=, CF_ID=, and similar prefixes are SOAP reference ID syntax, not valid REST.
- Find the worker's WID via View Worker > Actions > Integration IDs, or GET /workers?Employee_ID=10001 and read the id field from the response.
- Confirm the reference field type in the custom object definition - worker reference fields require WID unless the API explicitly says otherwise.
⚡ Quick fix
Replace the worker ID value with the worker's WID (the 32-character hex Workday internal ID) and re-run.
✓ Permanent fix
Add a pre-call lookup in the integration that resolves any alternate ID to WID via the /workers REST endpoint. Cache the result per run to avoid repeated lookups for the same worker.
Was this helpful?