DOCUMENTATION
John Galt Workspace Service API
Public contract surface for authenticated workspace jobs. Implementation details stay server-side.
https://api.whoisjohngalt.ai/v1Contract version whoisjohngalt.public-api.v1. Correlate failures with the x-request-id response header (also echoed as error.request_id when present).
What this API is for
Durable workspace jobs with receipts.
- 1Bounded work
Run a scoped job with an admitted model id, then inspect progress and completion outcomes on the contract routes.
- 2Research and evidence
Keep customer-controlled context attached to the job. Ask for receipts and durable artifacts rather than one-off chat text alone.
- 3Customer-controlled context
Memory and tool actions stay permissioned. The API does not claim multi-day outbound voice or SMS agency.
Job catalog: GET https://api.whoisjohngalt.ai/v1/jobs (authenticated). This is a governed workspace API contract, not a generic token proxy.
Capabilities
Protocol surface, not a product catalog.
- 1Use
GET /v1/protocol/capabilitiesAuthenticated calls return the live protocol capabilities surface. Treat the body as an opaque protocol envelope, not a marketing feature list.
- 2Do not use
GET /v1/capabilitiesThat path is not a customer catalog. Expect an opaque not-found response; it is not an authentication failure signal.
- 3Prefer job and tool routes for work
Start with
GET /v1/models,GET /v1/jobs, andGET /v1/toolsfor admitted product surfaces.
curl https://api.whoisjohngalt.ai/v1/protocol/capabilities -H "Authorization: Bearer $WHOISJOHNGALT_API_KEY" -H "Accept: application/json"Jobs and runs
Durable work with inspectable outcomes.
- 1Job catalog
Call
GET https://api.whoisjohngalt.ai/v1/jobs(authenticated) for admitted job classes. Prefer cataloged work over one-off chat alone when you need receipts. - 2Agent runs
Create with
POST https://api.whoisjohngalt.ai/v1/agent-runsusing textinput(or message objects with text). PollGET https://api.whoisjohngalt.ai/v1/agent-runs/{run_id}. Empty bodies return validation errors. - 3Keep the request id
Log
x-request-id/error.request_idfor support. See Errors.
Tools
Customer-safe tool schema with honest status.
Call GET https://api.whoisjohngalt.ai/v1/tools (authenticated). Treat each tool's status as authoritative:
- 1
availableAdmitted for use on the live contract.
- 2
not_configuredListed for honesty, not ready for production use. Do not assume search or page readback until status flips to
available.
Live GET /v1/tools is authoritative: direct_answer and page_readback are typically available; indexed_search remains not_configured until an AI Search binding is enabled.
Sandbox
Phase Two is not a silent feature.
Ephemeral sandbox job routes exist on the contract. Phase Two is enabled for admission-gated jobs: empty creates return validation errors; admitted probe jobs may still return runner-unavailable outcomes until a connected runner is admitted. Network stays deny-by-default; plaintext credentials are never accepted.
Profiles and capabilities may report connection or admission requirements while Phase Two is off. Do not claim sandbox execution until an admitted run succeeds and returns a completion receipt.
Quick start
Authenticate, then call the contract.
- 1Buy access
Complete checkout on Pricing and keep the access key shown after payment.
- 2Send Bearer auth
Use
Authorization: Bearer <YOUR_ACCESS_KEY>on API requests. - 3Start with models
Call
GET https://api.whoisjohngalt.ai/v1/modelsto confirm the key before chat completions.
Rate limits return HTTP 429. See Errors for the public error contract.