genroc

docs / Reference / Definition language

Actions

The six action types, and the slots each one takes.

fetch

FieldTypeRequiredDescription
methodstringyesHTTP method, lowercase (e.g. get, post) or a template such as ${ input.method }. Required — the verb is never guessed.
urlstringyesRequest URL. May contain ${ } interpolations, e.g. ${ config.server_url }/path.
accepted_statusstring[] | stringHTTP status patterns accepted as non-errors, e.g. “2xx” or “404” (defaults to any 2xx). Author it as a literal array (each element a ${ } template or $: expression yielding a string), or as a single $: expression yielding the whole array.
bodyShapeTemplated value building the request body; an object is sent as JSON.
body_schemaobjectJSON Schema the body is checked against and conformed to before the request is built. An undeclared key is refused.
headersobject | stringRequest headers, evaluating to an object of string values. Author it as a literal map (each value a ${ } template or a $: expression yielding a string), or as a single $: expression yielding the whole map.
queryobject | stringQuery parameters appended to the url, evaluating to an object of scalar values. A null value omits its parameter. Author it as a literal map (each value a ${ } template or a $: expression) or as a single $: expression yielding the whole map.
query_schemaobjectJSON Schema the query map is checked against and conformed to. An optional non-nullable parameter fed null is omitted.
responsesobjectStatus pattern -> JSON Schema for that body. A 2xx key types self.result and accepts the status.
timeoutstring | number | anyBudget for one attempt, e.g. ”30s” (defaults to 30s). A retry gets a fresh budget. Only ‘for’ applies here — ‘until’ is external-only.

child

FieldTypeRequiredDescription
namestringyesName of the child process to invoke.
inputShapeTemplated value building the child’s input payload.
input_schemaobjectJSON Schema the input is checked against and conformed to before it is sent. Checkable with no server.
raisesobjectRaise code -> JSON Schema for that code’s payload, read as error.data by a rule that catches it.
result_schemaobjectJSON Schema validating and exposing the child’s output.
versionintegerVersion to run; 0 means latest published version.

child_map

FieldTypeRequiredDescription
childrenobjectyesKeyed map of child processes to run concurrently. Keys become the access names in outputs.taskID.

child_list

FieldTypeRequiredDescription
namestringyesName of the child process to invoke for every element.
overstringyesA $: expression evaluating to an array; one child is spawned per element, with it as input.
input_schemaobjectJSON Schema EACH element is checked against and conformed to before it is sent as one child’s input.
raisesobjectRaise code -> JSON Schema for that code’s payload, read as error.data by a rule that catches it.
result_schemaobjectJSON Schema validating and exposing EACH child’s output; the result is an array.
versionintegerVersion to run; 0 means latest published version.

delay

FieldTypeRequiredDescription
forstring | numberA duration from when the task is reached: “2h30m”, a number of milliseconds, or a $: expression.
tzstringIANA name (“Europe/Prague”) or fixed offset (“+02:00”); defaults to UTC. Abbreviations are rejected.
untilstring | numberAn instant: RFC 3339, “+2d 08:00”, a calendar pattern, unix milliseconds, or a $: expression.

external

FieldTypeRequiredDescription
inputShapeTemplated value snapshotted for the resolver — the only context the queue exposes.
input_schemaobjectJSON Schema the input snapshot is checked against and conformed to. It is the contract a worker reads.
raisesobjectCode -> JSON Schema for a payload submitted to /external-tasks/fail, read as error.data.
result_schemaobjectJSON Schema the submitted result is validated against. Without it any JSON is accepted.
timeoutstring | number | anyHow long to park before raising external.timeout. Omitted, the task waits indefinitely. Takes ‘for’ or an absolute ‘until’.