Hi Ross,
You can consider Delphix Engine sessions initiated with a specific API version to be static and stable.
The Delphix Engine expects clients to specify an API version when they initiate a session. The Delphix Engine will use this API version to interpret input from the client and modify output sent to the client. The idea here is that the client can be implemented once against a specific API version and if the Delphix Engine is upgraded later down the road, the client will not need to be rewritten to accommodate slight API changes introduced by the upgrade. The Delphix Engine will "translate" all input and output JSON to match what the client expects.
We do not currently support compiling our schemas to Java (though publishing language-specific API bindings is something we'd like to do in the future!). Our schemas are stable and loosely based on the JSON Schema draftV3 specification, but are not fully compliant such that third-party tools can generate code from them.
For now, you will need to implement your own Java classes on top of our API specification. While doing this will require significant effort, your Java code should remain compatible with all Delphix Engine versions released in the foreseeable future as we guarantee backwards compatibility with future releases.
Let me know if you have any follow up questions!