Skip to content

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