Public API is probably only the keyword arguments for optimize and the documented fields of the result object.
Some keyword argument could be marked as "experimental".
We can use @public to mark these, and make sure this is properly shown in the online documentation.