Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Global Flags

All internal spall flags use the --spall-* prefix so they never collide with API parameters.

Output and Formatting

FlagShortDescription
--spall-output-OOutput format: json/pretty, raw, yaml, table, csv, or @file
--spall-download-oSave response body to a file
--spall-verbose-vPrint request/response headers to stderr
--spall-debugWire-level debug logging (redacts secrets)
--spall-timeInclude request/response timing in verbose output
--filterJMESPath filter expression for JSON responses

Network Control

FlagShortDescription
--spall-server-sOverride base URL for this request
--spall-timeout-tTimeout in seconds (default: 30)
--spall-retryRetry count for failed requests (default: 1, max: 3)
--spall-redirect-LFollow HTTP 3xx redirects (default: off)
--spall-max-redirectsMaximum redirects (default: 10)
--spall-insecureSkip TLS certificate verification
--spall-ca-certPath to custom CA certificate (PEM or DER)
--spall-certPath to client certificate PEM (mTLS); requires --spall-key
--spall-keyPath to client private key PEM (mTLS); requires --spall-cert
--spall-proxyHTTP/SOCKS proxy URL
--spall-no-proxyDisable proxy for this request

Request Modification

FlagShortDescription
--spall-header-HInject a non-sensitive header (repeatable)
--spall-auth-APass-through auth token/header
--spall-content-type-cOverride request content type

Execution Control

FlagShortDescription
--spall-dry-runPrint curl equivalent without executing
--spall-previewShow resolved URL, headers, and body without sending
--spall-paginateAuto-follow Link header pagination
--spall-follow <REL>Follow a hypermedia link (RFC 5988 Link header / HAL / JSON:API / Siren) once after a successful response
--spall-retry-max-waitMaximum seconds to honor a Retry-After header before giving up (default: 60)
--spall-repeatReplay the most recent request from history
--spall-chainJMESPath chain expression for multi-stage requests
--profileActive config profile (e.g., staging, production)

Examples

Verbose request with timing

spall petstore get-pet-by-id 1 --spall-verbose --spall-time

Staging override with custom header

spall petstore get-pet-by-id 1 \
  --spall-server https://staging.petstore.io \
  --spall-header "X-Debug: true"

Retry with redirect following

spall petstore get-pet-by-id 1 --spall-retry 3 --spall-redirect

After a successful response, --spall-follow <rel> looks up that rel across the Link header (RFC 5988), HAL _links, JSON:API links, and Siren links, then issues a GET to the link’s target and returns its body in place of the original.

spall github list-repos --spall-follow next
spall hal-api get-order 1 --spall-follow self

mTLS to a private API

spall corp list-things \
  --spall-ca-cert ./corp-ca.pem \
  --spall-cert ./client.pem \
  --spall-key ./client-key.pem

The CA cert may be PEM or DER. The client cert and key must both be PEM; pass them as separate files.

Replay last request

spall --spall-repeat
spall history show 42 --spall-repeat

Next Steps