Page 1 of 2 — Main TUI

⌨ terapi

Terminal + API — REST & GraphQL client, TUI-first
v0.10.10  ·  MIT
crates.io/crates/terapi
github.com/TSODev/terapi
⌨ Global
Tab Shift+TabCycle panels forward / backward
q qQuit — press twice to confirm
Ctrl+CQuit immediately — no confirmation
EscClose modal / exit edit mode (not quit)
📁 Collections Panel
↑ ↓Move cursor
EnterExpand / collapse folder — or load request
/Search / filter the tree
nNew collection
fNew folder
aAdd request
eEdit request — loads into Request tab
DDuplicate — saves as "<name> copy"
dDelete selected item
EOpen collection TOML in $EDITOR
🌱 Env Panel
← →Switch focus: Environments ↔ Variables
↑ ↓Navigate within focused panel
EnterActivate env (left) / edit variable (right)
nNew environment
aAdd variable
dDelete environment or variable
🌐 Request Panel — REST
eEdit URL (enter URL mode)
mCycle HTTP method
sSend request
SSave to collection
nNew request — clear all fields
← →Navigate sub-tabs
iEdit description / enter body editor
t a dToggle Text↔JSON / add-delete field (JSON mode)
EOpen body in $TERAPI_JSON_EDITOR
{{{{VAR}} picker — env vars + built-ins
🔑 Request — Auth & Options
↑ ↓Navigate fields
Space/EnterType row — cycle auth type
EnterField row — edit token / user / pass / key
SpaceLocation row — Header ↔ Query Param
fFetch OAuth2 token manually
EscCancel OAuth2 browser wait
Space/EnterOptions — toggle / cycle timeout
 Skip TLS · Follow redirects · Timeout · Cookie jar
🕘 History & Campaigns Panels
↑ ↓History — navigate entries
EnterHistory — load into Request tab
dHistory — delete entry
↑ ↓Campaigns — navigate list / step cursor
rCampaigns — run (or open params modal)
LCampaigns — load step into Request tab
ECampaigns — open TOML in $EDITOR
📄 Response Viewer (JSON / Raw / HTTP)
rCycle view: JSON → Raw → HTTP
↑ ↓Move cursor (JSON) / scroll (Raw, HTTP)
PgUp PgDnSame, 10 rows/lines at a time
EnterFold / unfold JSON node
zExpand panel to the whole tab body
/Search bar (JSON view) — filter by key/value
> <Next / previous match
fFollow URL under cursor (JSON view)
dDiff last two responses (external tool)
EOpen response in external viewer (read-only)
- =Shrink / grow Key column
◈ GraphQL Mode (g to enter)
← →Navigate GQL sub-tabs
iQuery tab — enter editor
Ctrl+SpaceQuery tab — autocompletion popup
a dVariables tab — add / delete
fSchema tab — fetch type list
/Schema tab — filter types by name
↑ ↓Schema — navigate types / scroll fields
PgUp PgDnSchema — jump 10 types / 10 lines
EnterSchema — load fields for selected type
TabSchema — toggle type list ↔ field detail
zSchema — expand detail panel
💡 Tips
Built-ins{{DATE}} {{UUID}} {{TIMESTAMP}}… — no env needed
Storage~/.config/terapi/ or ./.terapi/ per project
Override dirTERAPI_DIR env var (CI, custom path)
Body editor$TERAPI_JSON_EDITOR, defaults to jsoned
Response diff$TERAPI_JSON_DIFFER, else $TERAPI_DIFF
Page 2 of 2 — Campaign Builder (terapi build)

⌨ terapi build

Interactive campaign editor — assemble pipelines without hand-writing TOML
v0.10.10  ·  MIT
crates.io/crates/terapi
github.com/TSODev/terapi
🧩 Pipeline
↑ ↓Navigate steps — wraps into [IN] / [OUT]
Enter/eEdit selected step
nNew step (append) → Catalog
iInsert step after cursor → Catalog
DDuplicate step (copy inserted below)
dDelete step — press again to confirm
K JMove step up / down
rRun full campaign → Run view
sCampaign settings
vVariables panel
cChecker (static validation)
pTOML preview
wSave
qQuit — confirms if unsaved
Ctrl+CQuit immediately
🛠 Step Editor (Browse mode)
↑ ↓Navigate fields
EnterEdit field / confirm
← →Cycle selector (method, kind, encoding)
a dAdd / delete list item (headers, extract, assert…)
rRun this step — result shown below
LCollection browser (HTTP / Seed steps)
TabExtract value — open path autocomplete
EscBack to Pipeline
📝 Body Editor (yellow border)
Any keyType / edit
EnterNew line
EscSave and close
📁 Collection Browser
↑ ↓Navigate
SpaceExpand / collapse folder
EnterLoad request into step
EscCancel
🎯 Extract Path Picker (Tab)
↑ ↓Navigate matching paths
TypeFilter paths
EnterInsert selected path
Tab/EscClose, back to value editor
🌱 Variables Panel
↑ ↓Navigate
aAdd variable
dDelete selected
EnterEdit (key + value)
TabSwitch Key ↔ Value in edit form
EscClose / cancel
🔌 Connectors [IN] / Outputs [OUT]
↑ ↓Navigate list
EnterAdd new / edit selected
dDelete selected
TabNext field (edit mode)
EscCancel / back to pipeline
✅ Checker · TOML Preview · Save
cStatic validation — per-kind rules, {{VAR}} resolution
pSyntax-highlighted live TOML preview
wWrite to file, or <terapi_dir>/campaigns/
EscBack to Pipeline
▶ Run View (step & campaign results)
↑ ↓Scroll 1 line
PgUp PgDnScroll 10 lines
← →Scroll horizontal (long URLs / values)
EscBack to Step editor / Pipeline
🎛 Campaign Settings · Run Params
↑ ↓Navigate settings / parameters
EnterEdit selected value
rRun params modal — run with current values
EscBack / cancel
💡 Tips
Invocationterapi build [file.toml] — blank or edit existing
BadgesHTTP TRSF WAIT SEED FILE SRCH LOOP POLL SET BILD JQ PAR NTFY GQL #
Params[[params]] without a default prompts at run time
Quit confirmy / n / Esc shown only if unsaved