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
run/checkpoints
Lists checkpoints in increasing sequence order. The after cursor is exclusive. Omitted limit means 50; accepted limits are 1 through 100. Concurrent groups, including every map wave and nested child, expose one entry point. Storage and execution seeds remain private to the target.
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
after |
No |
{"anyOf":[{"$ref":"#/$defs/CheckpointId"},{"type":"null"}]} |
limit |
No |
{"format":"uint32","maximum":100,"minimum":1,"type":["integer","null"]} |
Result
run/resume
Omitting from or selecting restart starts the graph at its root on the latest retained workspace. Selecting checkpoint restores the matching workspace and predecessor outputs and reruns the named node or atomic concurrent group. Original admission and delivery metadata remain fixed. Credentials are resolved again for the successor; provider sessions are not resumed.
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
successorRunId |
Yes |
{"type":"string"} |
from |
No |
{"anyOf":[{"$ref":"#/$defs/RunResumeFrom"},{"type":"null"}],"description":"Omission preserves restarting from the latest retained workspace."} |
connections |
No |
{"additionalProperties":false,"description":"Fresh static connection values for the successor attempt.","patternProperties":{"^[^\u0000-\u001f\u007f-\u009f]+$":{"$ref":"#/$defs/StaticConnectionValues"}},"type":"object"} |
connectionResolver |
No |
{"anyOf":[{"$ref":"#/$defs/TargetConnectionResolver"},{"type":"null"}],"description":"Run-scoped callback used to resolve fresh dynamic connection values."} |
githubToken |
No |
{"description":"Fresh GitHub credential for private source checkout or Git delivery.","type":["string","null"]} |
Result
run/discard_workspace
| Parameter structure |
Transport |
Server push |
Inbound notifications |
by-name |
Unary |
No |
No |
Parameters
| Name |
Required |
Schema |
runId |
Yes |
{"type":"string"} |
Result