Skip to Content
We are live but in Staging 🎉
CLI GuideAPI Gaps and gRPC/HTTP Workarounds

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

CapabilityAPI statusCLI statusRecommended workaround
Resume paused threadImplementedMissinggrpcurl ResumeThread or gateway HTTP
Cancel running threadUnimplementedMissingNot currently available
Script env overlay get/updateImplementedMissinggrpcurl GetScriptEnv/UpdateScriptEnv
Template list/getImplementedMissinggrpcurl ListTemplates/GetTemplate
Get script codeImplementedMissinggrpcurl GetScriptCode
Tool register/getUnimplementedMissingNot currently available
Artifact listUnimplementedMissingNot 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/ResumeThread

HTTP 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/GetScriptEnv

Update 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/UpdateScriptEnv

4) 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/ListTemplates

Get 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/GetTemplate

5) 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/GetScriptCode

Draft 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/GetScriptCode

6) Things You Cannot Work Around Yet

These methods are currently unimplemented server-side:

  • RegisterTool
  • GetTool
  • CancelThread
  • ListArtifacts

Expected runtime result is UNIMPLEMENTED regardless of client.

  1. Use dodil scriptum for covered operations.
  2. Use grpcurl wrapper scripts for missing but implemented RPCs.
  3. Keep token/org headers centralized in shell helpers.
  4. Detect UNIMPLEMENTED explicitly and skip unsupported paths in CI.