---
title: "Bad Request - Error in query syntax"
description: "Bad Request - Error in query syntax"
keywords: "Bad Request - Error in query syntax 0x80060888 D365 Sales CRM"
url: "https://myrapidi.com/wiki/bad_request_error_in_query_syntax"
locale: "en"
published: "2026-01-29T09:25:02Z"
modified: "2026-01-29T09:25:02Z"
---

**What this error means:** _The REST service returned a status code that is not 20x - i.e. not OK - Status code received: 400 Bad Request Response body: {"error {"code":"0x80060888","message":"Bad Request - Error in query syntax."}}.Data Sent to REST service:{"creditlimit":55000,"transactioncurrencyid@odata.bind":"/transactioncurrencies(USD)"}_  
Dynamics 365 Sales couldn't process your request because something in the data structure is incorrect. This happens before D365 even validates the business logic - it's a formatting or syntax issue.

Instead of **{ "creditlimit": 55000, "transactioncurrencyid@odata.bind": "/transactioncurrencies(USD)" }**, it should be **{ "creditlimit": 55000, "transactioncurrencyid@odata.bind": "/transactioncurrencies(a3b2c1d4-e5f6-7890-abcd-ef1234567890)" }.**

Common causes:&nbsp;  
1. Lookup fields using codes/names instead of GUIDs&nbsp;  
2. Invalid GUID format (must be: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)&nbsp;  
3. Wrong entity name in @odata.bind (check plural vs singular)&nbsp;  
4. Field name doesn't exist or contains typo&nbsp;  
5. Data type mismatch (string sent for number field, etc.)&nbsp;  
  
Troubleshooting steps:&nbsp;  
- Validate all GUIDs are properly formatted&nbsp;  
- Verify entity logical names in D365&nbsp;  
- Check field names match exactly (case-sensitive)&nbsp;  
- Test with minimal payload (one field at a time)
