Skip to content

Sapporo WES — Quick Reference

Endpoint: export SAPPORO_ENDPOINT=http://localhost:1122

1. Check service

curl -s $SAPPORO_ENDPOINT/service-info | jq '{engines: .workflow_engine_versions, types: .workflow_type_versions}'

2. Submit

RUN_ID=$(curl -s -X POST $SAPPORO_ENDPOINT/runs \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_type": "CWL",
    "workflow_type_version": "v1.0",
    "workflow_url": "https://example.com/workflow.cwl",
    "workflow_engine": "cwltool",
    "workflow_params": {"input": "https://example.com/data.txt"}
  }' | jq -r .run_id)

Required fields: workflow_type, workflow_type_version, workflow_url, workflow_engine.

3. Poll

curl -s $SAPPORO_ENDPOINT/runs/$RUN_ID/status | jq -r .state
# QUEUED → INITIALIZING → RUNNING → COMPLETE | EXECUTOR_ERROR | SYSTEM_ERROR

4. Outputs

curl -s $SAPPORO_ENDPOINT/runs/$RUN_ID/outputs | jq .outputs          # list
curl -s -o out.zip "$SAPPORO_ENDPOINT/runs/$RUN_ID/outputs?download=true"  # zip
curl -s -o file.txt "$SAPPORO_ENDPOINT/runs/$RUN_ID/outputs/file.txt"      # single file

On error

curl -s $SAPPORO_ENDPOINT/runs/$RUN_ID | jq '{exit_code: .run_log.exit_code, stderr: .run_log.stderr}'

Engine / type table

Engine Type Version
cwltool CWL v1.0, v1.1, v1.2
toil CWL v1.0, v1.1, v1.2
ep3 CWL v1.0, v1.1, v1.2
cromwell WDL 1.0
nextflow NFL DSL2
snakemake SMK 1.0
streamflow CWL v1.0, v1.1, v1.2

Full reference: docs/agent-skill.md