Skip to main content
The HTTP API creates and operates computers from another program. It covers account inspection, computer lifecycle, command execution, files, services, visibility, outbound network policy, and computer email.

Choose an integration

Cool Computers does not publish official language SDK packages. Use your language’s HTTP client or generate a client from the OpenAPI contract. The Python and JavaScript examples below use only built-in libraries. For an agent’s first account and computer, follow the agent runbook. Agents arriving through an HTTP authentication challenge should follow the WorkOS registration guide.

Base URL

Send credentials in the Authorization header:

Contract

The live OpenAPI 3.1 contract is the source for paths, parameters, request bodies, response bodies, and error schemas:
The endpoint reference in this guide is generated from that URL. The guide does not keep a second copy of the schema.

Choose a credential

  • Use an access token from the email-code flow for owner-authorized setup.
  • Use a claimed WorkOS agent access token with cool-computers:operate for agent-authorized HTTP requests. Follow the registration guide, including human approval.
  • Create an API key for repeated HTTP automation with an owner access token or a claimed agent access token.
  • Keep browser session cookies in the browser; use bearer credentials for scripts. MCP OAuth tokens do not authorize the HTTP API.
Read API authentication before sending a request that emails a code.

First authenticated request

The examples call GET /api/auth/whoami to inspect the authenticated account without creating or changing a computer. Keep the credential in an environment variable supplied by your shell or secret manager. Do not put secrets in source code or logs.

curl

Python

Set COOL_API_KEY to your API key before running:

JavaScript

Set COOL_API_KEY to your API key. Save this example as account.mjs and run node account.mjs with a current Node.js release:
Both examples stop on an HTTP failure and report the response body, including the API’s error code and resolution when supplied. Read API errors before adding retry behavior.