There was a typo in my response there; I've updated it. You need to set data.custom-id with the ID for the contact. That would be adding an entry to the DialerContact.data property in the Java SDK.
I did an extra put to DialerContact#data Map
like data.put("custom-id", Integer.valueOf(contactId));
I can the see the request going to OutboundApi#postOutboundContactlistContacts has "custom-id" with values like 1,2,3 for the variable List body, but the response still has values like 0954b1ee30cc4674922bbb0e1e7163d5, ba2a64756c1c68ccb2f2f87a820101b6 etc in inin-outbound-id
I could get the correlation id via debugging ININ-Correlation-Id: 8dd362ec-fed3-4e95-96f9-fe42e5896811
If that helps.
The issue CD-5359 exists to fix the contract to allow the ID to be writable. I tried testing the workaround from the other post, but it appears that no longer works. If I hear back from the dev team about a new workaround, I'll post back here. Otherwise, you'll need to make this request without the SDK (or modify the DialerConact class to make the id writable). The API itself will accept the id property, the SDK just can't set it.
But thats really shame. Can we prioritise this? I am trying to write some Business module but don't want to start with workarounds or manually calling Purecloud API even though there is java sdk that too versioned at 40.0.0