error.code. The message is for people and can change.
Validation errors
When a request body is invalid, the status is422 and error.fields lists the problems per field.
items.0.quantity.
Error codes
Rate limits
Each key has its own limit, 60 requests per minute by default. When you exceed it, the API returns429 with a Retry-After header holding the seconds to wait. Do not rely on the body of a 429 response; use the status and the header.
Back off and retry after the delay. Spread bulk syncs over time, and use limit=100 to cut the number of requests.