I have a simple workflow with Configuration nodes and a single JSON Input Container. I can’t seem to find a rest api where I can use both at the same time, the simple question is whether we should expose the configuration nodes or use the JSON Container to completely define our REST interface.
The AD-HOC run of a workflow allows has a nice GUI for all the Configuration nodes, but when executed, it uses the example json in the JSON Container Input and doesn’t allow changes there.
When you create a job using the ad-hoc jobs interface:
https://api.hub.knime.com/api-doc/?service=execution-service
you can send in a new configuration. This is what the Knime UI does.
curl 'http://api.hub.fake.com/jobs?itemVersion=1&workflowUri=*A7AZwSffDkjCh6zw&wizardExecution=true' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en-US,en;q=0.9' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Origin: http://hub.glysade.com' \
--data-raw '{"actions":[],"configuration":{"boolean-input-199":false}}' \
--insecure
This runs, but you can’t seem to send in the input parameters for the json container during an ad-hoc execution.
Unknown keys 'inputParameters' in provided body: valid keys are 'configuration' and 'actions'
conversely, in the execution in the REST api for the deployment, you can only send the json for the input container.
So the question is, for REST best practices, should we ignore configuration nodes and design a new schema? I like the configuration nodes as they already exist and are discoverable, but I may be missing the expected usage for them.
Thanks in advance.