Skip to content

Posting Commands

Comprehensive Posting TUI HTTP client commands and workflows for API testing in the terminal.

Installation

CommandDescription
uv tool install postingInstall Posting via uv (recommended)
pipx install postingInstall Posting via pipx
brew install postingInstall Posting via Homebrew (macOS)
posting --versionShow Posting version
postingLaunch Posting TUI
posting --collection ./my-apiLaunch with specific collection directory
posting --env .env.devLaunch with environment file
ShortcutDescription
TabCycle focus between panels
Shift + TabCycle focus backwards
Ctrl + JJump mode (jump to any panel by label)
Ctrl + POpen command palette
Ctrl + QQuit Posting
j / kMove down/up in lists (Vim mode)
g / GJump to top/bottom of list
EscapeClose dialog or deselect

Request Management

ShortcutDescription
Ctrl + NCreate new request
Ctrl + SSave current request
Ctrl + Shift + SSave request as new file
Ctrl + DDuplicate current request
Ctrl + DeleteDelete current request
Ctrl + RRename current request
EnterSend current request
Ctrl + LFocus URL bar

HTTP Methods

MethodDescription
GETRetrieve resource
POSTCreate resource
PUTUpdate/replace resource
PATCHPartial update resource
DELETEDelete resource
HEADGet headers only
OPTIONSGet supported methods

Request Configuration

TabDescription
Headers tabAdd/edit request headers
Body tabSet request body content
Query tabAdd URL query parameters
Auth tabConfigure authentication
Options tabSet request-specific options
Scripts tabPre/post request Python scripts

Environment Variables

ActionDescription
$VARIABLE_NAME in URLReference environment variable
${VARIABLE_NAME} in bodyInterpolate variable in body
posting --env .env.devLoad environment file at startup
.env file in collection rootAuto-loaded environment
.env.local override fileLocal overrides (gitignored)

YAML Request Files

FieldDescription
name: My RequestRequest display name
method: POSTHTTP method
url: https://api.example.com/usersTarget URL
headers:Request headers mapping
body:Request body content
params:Query parameters
auth:Authentication configuration
scripts:Pre/post request scripts

Example Request File

name: Create User
description: Create a new user account
method: POST
url: https://api.example.com/users
headers:
  Content-Type: application/json
  Authorization: Bearer ${API_TOKEN}
body:
  content: |
    {
      "name": "John Doe",
      "email": "john@example.com"
    }

Authentication Types

TypeDescription
Bearer TokenAuthorization: Bearer <token>
Basic AuthBase64-encoded username:password
API KeyCustom header with API key
No AuthNo authentication

Pre/Post Request Scripts

HookDescription
pre_request.pyPython script run before request
post_request.pyPython script run after response
Access request objectModify request in pre-script
Access response objectProcess response in post-script
Set variablesStore values for subsequent requests

Response Viewer

FeatureDescription
Body tabView response body with syntax highlighting
Headers tabView response headers
Status code displayHTTP status code and text
Response timeRequest duration in milliseconds
Response sizeResponse body size
Ctrl + FSearch within response body

Collection Management

ActionDescription
Directory structure = CollectionFolder hierarchy organizes requests
Create subdirectoryGroup related requests
.yaml files = RequestsEach YAML file is one request
posting --collection <dir>Open specific collection
Version control with GitYAML files are git-friendly

Import/Export

ActionDescription
Paste curl command in URL barImport from curl
Ctrl + EExport current request as curl
Import from PostmanImport Postman collections
Import from OpenAPIImport OpenAPI/Swagger specs
YAML files are portableShare requests via files

Configuration

SettingDescription
~/.config/posting/config.yamlGlobal configuration file
theme: monokaiSet color theme
vim_mode: trueEnable Vim key bindings
editor: nvimSet external editor
pager: lessSet external pager
timeout: 30Default request timeout (seconds)

Themes

CommandDescription
posting --theme monokaiLaunch with Monokai theme
posting --theme draculaLaunch with Dracula theme
posting --theme solarizedLaunch with Solarized theme
Custom theme in configDefine your own color scheme
posting --list-themesShow available themes

Tips and Best Practices

TipDescription
Use jump mode (Ctrl+J)Navigate faster than tabbing
Store requests in GitVersion control your API tests
Use environment filesSwitch between dev/staging/prod
Write pre/post scriptsAutomate auth token refresh
Use Ctrl+P command paletteDiscover features quickly
Organize in foldersGroup related endpoints together
Use variables in URLsKeep requests DRY and flexible
Open in $EDITOR for complex bodiesEdit large payloads externally