SteadyDoAPI reference

Running the workflow examples

Use Bash, curl, and jq. Obtain a key through signed-in API access and give it only the scopes required by the operations you will run. The workflow examples create fictional data in your workspace; run them in a disposable test account. A successful schema check is not proof that an example has been executed against your deployment.

Load these helpers once in your shell. They stop on HTTP errors, capture the exact ETag from a read, and print only response bodies. They do not automatically retry writes: if a response is lost, resend it with the original explicit idempotency key and identical body.

set -euo pipefail
read -rsp 'SteadyDo API key: ' STEADYDO_API_KEY; echo
export BASE='https://dashboard.steadydo.com/api/v1'
RUN="docs-$(date +%s)-$RANDOM"
api_get() {
  curl --fail-with-body -sS "$BASE$1" \
    -H "Authorization: Bearer $STEADYDO_API_KEY"
}
api_write() {
  local method="$1" route="$2" key="$3" body="$4" etag="${5:-}"
  local args=()
  if test -n "$etag"; then args+=(-H "If-Match: $etag"); fi
  curl --fail-with-body -sS -X "$method" "$BASE$route" \
    -H "Authorization: Bearer $STEADYDO_API_KEY" \
    -H "Idempotency-Key: $key" -H 'Content-Type: application/json' \
    "${args[@]}" --data "$body"
}
api_etag() {
  local headers
  headers=$(mktemp)
  curl --fail-with-body -sS -D "$headers" "$BASE$1" \
    -H "Authorization: Bearer $STEADYDO_API_KEY" >/dev/null
  awk 'tolower($1)=="etag:" {gsub("\r", "", $2); print $2}' "$headers"
  rm "$headers"
}

api_write POST /tasks "$RUN-create" '{"title":"Book photographer"}' is a complete curl request through this helper. Subsequent snippets use returned IDs, never invented IDs. Assign an ETag immediately before a versioned action. An ETag is opaque; preserve its quotes and never synthesize it from an integer. Keep each RUN value and body if a request needs recovery.

The operation index links every operation to a workflow. OpenAPI includes a standalone curl snippet and schema-validated request/success/problem examples for every operation. On 412, stop, reread, reconcile, and use a new idempotency key; on 429, honor Retry-After. Never continue a multistep workflow after an unsuccessful step. End the session with unset STEADYDO_API_KEY.