API Gaps and gRPC/HTTP Workarounds
Last validated: 2026-05-14
This page documents currently missing Scriptum CLI command coverage and practical alternatives.
1) Coverage Gap Matrix
| Capability | API status | CLI status | Recommended workaround |
|---|---|---|---|
| Resume paused thread | Implemented | Missing | grpcurl ResumeThread or gateway HTTP |
| Cancel running thread | Unimplemented | Missing | Not currently available |
| Script env overlay get/update | Implemented | Missing | grpcurl GetScriptEnv/UpdateScriptEnv |
| Template list/get | Implemented | Missing | grpcurl ListTemplates/GetTemplate |
| Get script code | Implemented | Missing | grpcurl GetScriptCode |
| Tool register/get | Unimplemented | Missing | Not currently available |
| Artifact list | Unimplemented | Missing | Not currently available |
2) Resume Paused Thread
gRPC workaround
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{
"thread_id":"thr_paused_01",
"step_input_override_json":"{\"approval\":true,\"reason\":\"validated\"}"
}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/ResumeThreadHTTP contract workaround (gateway deployment)
curl -sS -X POST "https://api.dev.dodil.io:443/v1/scriptum/threads/thr_paused_01/resume" \
-H "Authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-H "Content-Type: application/json" \
-d '{"step_input_override_json":"{\"approval\":true}"}'3) Script Env Overlay Management
Get overlay
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{"name":"invoice-parser"}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/GetScriptEnvUpdate overlay
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{
"name":"invoice-parser",
"set":{"MODEL":"gpt-4.1","TEMPERATURE":"0.0"},
"delete":["LEGACY_MODEL"]
}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/UpdateScriptEnv4) Template Discovery and Retrieval
List templates
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{"category":"extraction","search":"invoice","page_size":20}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/ListTemplatesGet template
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{"id":"invoice_parsing"}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/GetTemplate5) Script Code Retrieval
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{"name":"invoice-parser","version":3}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/GetScriptCodeDraft lookup (version=0):
grpcurl \
-H "authorization: Bearer $DODIL_TOKEN" \
-H "x-organization-id: $SCRIPTUM_ORG_ID" \
-d '{"name":"invoice-parser","version":0}' \
rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/GetScriptCode6) Things You Cannot Work Around Yet
These methods are currently unimplemented server-side:
RegisterToolGetToolCancelThreadListArtifacts
Expected runtime result is UNIMPLEMENTED regardless of client.
7) Recommended Automation Pattern
- Use
dodil scriptumfor covered operations. - Use
grpcurlwrapper scripts for missing but implemented RPCs. - Keep token/org headers centralized in shell helpers.
- Detect
UNIMPLEMENTEDexplicitly and skip unsupported paths in CI.