Skip to content
New site — Virtual Media Folders now has its own home. Visit vmf.soderlind.no →

HTTP Clients for cpltbox

You can use any HTTP client to interact with cpltbox. This guide covers popular options.


ClientTypeBest For
REST ClientVS Code extensionQuick testing in editor
BrunoStandalone appGit-friendly collections
PostmanStandalone appTeam collaboration
InsomniaStandalone appLightweight GUI
HTTPieCLICleaner curl syntax
curlCLIScripts and automation

The REST Client extension lets you send requests directly from .http files.

Setup:

  1. Install extension: humao.rest-client
  2. Open requests.http
  3. Click “Send Request” above any block

Features:

  • Inline responses with syntax highlighting
  • Variables (@baseUrl = ...)
  • Request history via Command Palette

Bruno is an open-source, git-friendly API client.

Setup:

  1. Download from usebruno.com
  2. Create a new collection
  3. Import or create requests

Example request:

POST http://localhost:8787/
Content-Type: application/json
{
"repo": "https://github.com/owner/repo",
"task": "Fix the typo in README.md"
}

Features:

  • Collections stored as plain text (git-friendly)
  • Environment variables
  • No cloud sync required

Postman is a full-featured API platform.

Setup:

  1. Download from postman.com
  2. Create a new request
  3. Set method to POST, URL to http://localhost:8787/
  4. Body tab → raw → JSON

Example body:

{
"repo": "https://github.com/owner/repo",
"task": "Fix the typo in README.md"
}

Features:

  • Collections and environments
  • Team workspaces
  • Pre/post request scripts

Insomnia is a lightweight REST client.

Setup:

  1. Download from insomnia.rest
  2. Create a new request
  3. Set method, URL, and JSON body

Features:

  • Clean UI
  • Environment variables
  • Plugin ecosystem

HTTPie provides a cleaner CLI syntax than curl.

Install:

Terminal window
brew install httpie

Batch request:

Terminal window
http POST localhost:8787/ \
repo=https://github.com/owner/repo \
task="Fix the typo in README.md"

Streaming:

Terminal window
http --stream POST localhost:8787/stream \
repo=https://github.com/owner/repo \
task="Run tests and fix failures"

Features:

  • JSON by default
  • Colorized output
  • Sessions for auth

Standard CLI tool, available everywhere.

Batch request:

Terminal window
curl -X POST http://localhost:8787/ \
-H 'Content-Type: application/json' \
-d '{"repo": "https://github.com/owner/repo", "task": "Fix the typo in README.md"}'

Streaming:

Terminal window
curl -N -X POST http://localhost:8787/stream \
-H 'Content-Type: application/json' \
-d '{"repo": "https://github.com/owner/repo", "task": "Run tests and fix failures"}'

Extract the diff:

Terminal window
curl -s -X POST http://localhost:8787/ \
-H 'Content-Type: application/json' \
-d '{"repo": "...", "task": "..."}' | jq -r '.diff'

Save and apply:

Terminal window
curl -s ... | jq -r '.diff' > fix.patch
git apply fix.patch

All clients send the same JSON body:

FieldRequiredDescription
repoyesGitHub URL: https://github.com/owner/repo
taskyesWhat to do (max 8000 chars)
modelnoCopilot model identifier
prdTextnoInline PRD context (max 50000 chars)
prdPathnoRepo-relative path to PRD file
skillPathsnoRepo-relative skill files to read and follow
mcpConfignoMCP server configuration (see how-to-guide)

Endpoints:

  • POST / — batch mode, returns JSON when complete
  • POST /stream — streaming mode, returns live output

{
"success": true,
"exitCode": 0,
"logs": "...",
"stderr": "",
"diff": "diff --git ..."
}

Most clients support environments. Create two:

Local:

  • Base URL: http://localhost:8787

Production:

  • Base URL: https://cpltbox.<subdomain>.workers.dev