In this particular case, the client communicates with the API via a services of web form submissions. That allows my server to control which cached representations will be invalidated when the form is submitted.
As an experiment, instead of copying the target-uri into the form actions, I decided to try using a BASE element, with no action at all, expecting that the form would be submitted to the base href.
But what the HTML 5 specification says is:
If action is the empty string, let action be the URL of the form document.So that doesn't work. Via stack overflow, I discovered a candidate work around - the target of the form can be a fragment; the fragment delimiter itself means the form action is not empty, and therefore relative lookup via the base element is enabled.
Somewhat worrisome: I haven't managed to find clear evidence that form behavior with fragments is well defined. It occurred to me that perhaps the standard was playing clever with URL vs URI, but I abandoned that idea after clicking a few more links to review the examples of URLs, and discovered fragments there.
I suspect that I need to let go of this idea - it's not that much extra work to copy the base uri into the forms that want it, and I've got a much clearer picture of what happens in that case.