When creating a deal with custom fields that generate an error you get the error back from the API, which is a good thing. But… you don’t get the ID back of the deal it DID create! Which is a bad thing.
Because you get the error you might expect the deal is not created, but it is… while there is no reply from the API that show the ID.