Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getpostchi.com/llms.txt

Use this file to discover all available pages before exploring further.

Postchi is a desktop app for testing and managing HTTP APIs. It runs natively on macOS, Windows, and Linux, and is built with Tauri and React. Rather than locking your requests in a proprietary binary format, Postchi stores everything as plain text files in a folder on your machine — files you can version-control, diff, and share like any other code. Postchi is a paid product with a free tier available at getpostchi.com.

Key features

Plain-text request files

Requests are stored as .chttp files. Open them in any text editor, commit them to Git, and review changes in a standard diff.

Environments and secrets

Define named environments in .cenv files. Keep sensitive values in a separate secrets file so credentials stay out of version control.

Before and after scripts

Attach JavaScript scripts to any request or folder. Run setup logic before a request fires and process or assert on the response after it returns.

Quick actions

Create standalone .action.js scripts to automate tasks that don’t map to a single request — seeding data, chaining calls, and more.

OpenAPI source syncing

Point a project at an OpenAPI spec URL. Postchi generates request files from the spec and keeps them in sync as the spec evolves.

Postman import

Import an existing Postman collection to migrate your requests into Postchi’s plain-text format.

Folder-based authentication

Configure Bearer, Basic, or API key auth once on a folder via settings.json. Every request in that folder inherits the auth automatically.

Template variables

Reference environment variables anywhere in a request with <variable_name> syntax — in the URL, headers, or body.

How requests are stored

Each request is a .chttp file. The first line is the HTTP method and URL. Headers follow on subsequent lines, and an optional @body section holds the request body:
POST https://api.example.com/users
Content-Type: application/json
Authorization: bearer(<token>)
@body
{
  "username": "<username>"
}
Because these are plain text files, you can organize them in any folder structure that makes sense for your project, track them in version control, and open them in any editor.

Project structure

When you create a project, Postchi sets up the following layout in a directory you choose:
my-project/
├── requests/        # Your request files (.chttp)
├── actions/            # Quick action scripts (.action.js)
├── environments.cenv   # Environment variables
├── secrets.cenv        # Secret values (keep out of version control)
└── .postchi/
    └── sources.json    # OpenAPI or Postman sync sources

Ready to get started?

Quick start

Send your first request in under five minutes.