Open Engine Cluster Protocol API reference
Protocol version 1.0.0, described by OpenRPC 1.3.2.
This page is generated from the checked-in OpenRPC document. Method names, parameters, results, and transport capabilities below are projections of that document.
Machine-readable definitions
Generic subscription framing
watch, logs, and agent/attach each establish a subscription through one JSON-RPC result. run/watch, run/logs, and run/attach use the same framing. The connection layer establishes all six subscriptions; Dispatcher::dispatch alone cannot answer them. After establishment, every subscription uses the generic notification methods below. No method-specific event, cancel, or closed names exist on the wire: watch/event, watch/cancel, watch/closed, logs/event, logs/cancel, logs/closed, agent/attach/event, agent/attach/cancel, and agent/attach/closed are not methods. $/cancelRequest asks the transport to cancel an in-flight unary request by its RequestId. An unknown or already-completed ID is ignored, and cancellation makes no rollback claim after backend state commits.
Methods
initialize
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
protocolVersion |
Yes |
{"const":"openengine.cluster/v1","type":"string"} |
Result
plan
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
Result
apply
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
graph |
Yes |
schema.json#/$defs/GraphSpec |
input |
No |
true |
dryRun |
No |
{"default":false,"type":"boolean"} |
ifGeneration |
No |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
idempotencyKey |
No |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
update
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
labels |
No |
schema.json#/$defs/Labels |
logLevel |
No |
schema.json#/$defs/LogLevel |
suspended |
No |
{"type":"boolean"} |
ifGeneration |
Yes |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
idempotencyKey |
Yes |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
stop
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
mode |
Yes |
schema.json#/$defs/StopMode |
ifGeneration |
Yes |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
idempotencyKey |
Yes |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
retry
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
ifGeneration |
Yes |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
idempotencyKey |
Yes |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
resubmit
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
ifGeneration |
Yes |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
ifRunId |
Yes |
{"type":"string"} |
idempotencyKey |
Yes |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
replacementInput |
No |
true |
Result
delete
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
ifGeneration |
Yes |
{"maximum":9007199254740991,"minimum":0,"type":"integer"} |
ifRunId |
No |
{"type":["string","null"]} |
idempotencyKey |
Yes |
{"maxLength":256,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
get
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
atCursor |
No |
{"type":["string","null"]} |
Result
watch
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
| Name |
Required |
Schema |
runId |
No |
{"type":["string","null"]} |
fromCursor |
No |
{"type":["string","null"]} |
Result
logs
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
This method has no parameters.
Result
agent/attach
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
| Name |
Required |
Schema |
execution |
Yes |
{"maxLength":128,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
run/submit
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
Result
run/list
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
This method has no parameters.
Result
run/status
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
Result
run/watch
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
fromCursor |
No |
{"type":["string","null"]} |
Result
run/logs
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
fromCursor |
No |
{"type":["string","null"]} |
execution |
No |
{"maxLength":128,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":["string","null"]} |
Result
run/attach
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Subscription |
Yes |
Yes |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
execution |
Yes |
{"maxLength":128,"minLength":1,"pattern":"^[^\u0000-\u001f\u007f-\u009f]+$","type":"string"} |
Result
run/force
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
Result