# Cool Computer Services > The official Cool Computers user and developer guide: CLI, HTTP API, authentication, MCP, and persistent computers. - [Cool Computers guide](https://cool.computer/docs/index.md): The official Cool Computers guide to the CLI, HTTP API, MCP connector, public addresses, and computer inboxes. - [Create your first computer](https://cool.computer/docs/getting-started/quickstart.md): Create a named computer from the website or the cool CLI. - [Install the Cool Computers CLI](https://cool.computer/docs/getting-started/install.md): Install the official native Cool Computers CLI on macOS, Linux, or Windows. - [How a computer works](https://cool.computer/docs/computers/how-it-works.md): Follow a Cool Computers computer from creation through running a service and deletion. - [What persists](https://cool.computer/docs/computers/persistence.md): See what stays on your computer when you leave the terminal or close the browser. - [Cool Computers CLI](https://cool.computer/docs/use/cli.md): Create computers, run commands, manage files, and publish a service with the official Cool Computers CLI. - [Open the SSH dashboard](https://cool.computer/docs/use/ssh.md): Open the account dashboard with OpenSSH and verify the Cool Computers host key. - [Email your computer](https://cool.computer/docs/use/email.md): Send a task to the inbox attached to a computer and read the reply. - [Connect Cool Computers with MCP](https://cool.computer/docs/use/mcp.md): Connect Codex, Claude Code, Grok, Cursor, ChatGPT, Claude, or another MCP client to Cool Computers. - [Use Cool Computers with an agent](https://cool.computer/docs/use/agents.md): Use the Cool Computers CLI, HTTP API, or MCP connector for owner-authorized agent work. - [Cool Computers HTTP API](https://cool.computer/docs/api-reference/overview.md): Use the Cool Computers HTTP API and its live OpenAPI 3.1 contract. - [Cool Computers API authentication](https://cool.computer/docs/api-reference/authentication.md): Sign up or sign in to Cool Computers, create an API key, and keep HTTP and MCP credentials separate. - [API errors](https://cool.computer/docs/api-reference/errors.md): Read Cool Computers HTTP failures as application/problem+json and act on their stable codes. - [Check API health](https://cool.computer/docs/api-reference/public/check-api-health.md): Returns whether the API and its required dependencies are healthy. - [List public computers](https://cool.computer/docs/api-reference/public/list-public-computers.md): Returns a cursor-paginated list of computers their owners chose to publish. - [Inspect account billing](https://cool.computer/docs/api-reference/billing/inspect-account-billing.md): Returns the current app-owned trial or Pro entitlement, trial timing and access state, Stripe subscription status, monthly Pro price, computer quota, and per-computer guest-memory ceiling. - [List recent invoices](https://cool.computer/docs/api-reference/billing/list-recent-invoices.md): Returns the account's 20 most recent Stripe invoices, newest first. Accounts without a Stripe customer return an empty list. - [Start Pro checkout](https://cool.computer/docs/api-reference/billing/start-pro-checkout.md): Creates a Stripe-hosted Checkout Session for the USD 20 monthly Pro subscription and returns its URL. - [Manage account billing](https://cool.computer/docs/api-reference/billing/manage-account-billing.md): Creates a Stripe-hosted Customer Portal Session for payment method, invoice, and subscription management and returns its URL. - [Send an authentication code](https://cool.computer/docs/api-reference/authentication/send-an-authentication-code.md): Immediately sends a real, short-lived authentication code. Call this once only after the account owner supplies and approves the exact email address, then wait for the latest code. - [Exchange an email code](https://cool.computer/docs/api-reference/authentication/exchange-an-email-code.md): Exchanges the six-digit email code for a bearer access token and refresh token. - [Refresh an authentication session](https://cool.computer/docs/api-reference/authentication/refresh-an-authentication-session.md): Exchanges a refresh token for a rotated bearer access token and refresh token in the same organization. - [Open the website as the CLI session](https://cool.computer/docs/api-reference/authentication/open-the-website-as-the-cli-session.md): Creates a short-lived single-use URL that signs the browser in until the current access token expires. The CLI session remains independent because its refresh token is never transferred. API keys are rejected with interactive_required. - [Inspect the current account](https://cool.computer/docs/api-reference/authentication/inspect-the-current-account.md): Returns the account and owner associated with the bearer credential. - [Revoke the current credential](https://cool.computer/docs/api-reference/authentication/revoke-the-current-credential.md): Revokes the current API key or ends the WorkOS session associated with the current access token. - [List API keys](https://cool.computer/docs/api-reference/authentication/list-api-keys.md): Lists API key metadata using an owner access token. API keys are rejected with interactive_required. - [Create an API key](https://cool.computer/docs/api-reference/authentication/create-an-api-key.md): Creates an API key with an owner access token or a claimed agent access token and returns its secret exactly once. Do not retry this request automatically: the one-time secret cannot be replayed. List existing key metadata before deciding whether to create another key. API keys are rejected with int… - [Revoke an API key](https://cool.computer/docs/api-reference/authentication/revoke-an-api-key.md): Revokes one API key using an owner access token. API keys are rejected with interactive_required. - [Get account capabilities](https://cool.computer/docs/api-reference/computers/get-account-capabilities.md): Returns the account's effective limits: computer and artifact quotas with the computers using them, per-computer resource allocation, sampled memory and storage usage, transfer limits, and network policy limits. Call this before creating a computer or stating account-specific limits. - [List computers](https://cool.computer/docs/api-reference/computers/list-computers.md): Lists every computer owned by the authenticated account. - [Create a computer](https://cool.computer/docs/api-reference/computers/create-a-computer.md): Creates and starts a computer. The request body is optional; omitting it assigns a random available name. Admission uses fresh measured runtime-host headroom. Send an Idempotency-Key when a network failure might cause a retry. - [Get a computer](https://cool.computer/docs/api-reference/computers/get-a-computer.md): Returns the current lifecycle, address, visibility, and network state for one computer. - [Delete a computer](https://cool.computer/docs/api-reference/computers/delete-a-computer.md): Permanently deletes a computer and its retained state. - [Run a command](https://cool.computer/docs/api-reference/execution/run-a-command.md): Runs one command inside a computer and waits for its stdout, stderr, and exit status. On a published site with no VM yet, the first command gives it one, with the published files in /home/runtime/app, and waits until it is ready; the site keeps serving the published files. Only the computer's own ac… - [Attach to an existing command](https://cool.computer/docs/api-reference/execution/attach-to-an-existing-command.md): Replays retained output for an existing execution identity without dispatching it again, then follows it to a final result. Output and drop frames have monotonic replay cursors. The final exit frame is cursorless and is always returned for a completed execution, including when after_id equals the ex… - [Cancel a command](https://cool.computer/docs/api-reference/execution/cancel-a-command.md): Explicitly stops the complete process tree owned by one execution identity. Losing an HTTP connection does not cancel the execution. - [Read HTTP exposure](https://cool.computer/docs/api-reference/services/read-http-exposure.md): Read the computer's independent HTTP exposure without changing its lifecycle state. Computer-scoped guest credentials and authorized computer users may access this operation. - [Expose an HTTP port](https://cool.computer/docs/api-reference/services/expose-an-http-port.md): Select one HTTP port for the computer's HTTPS URL without starting or stopping programs or changing sharing. Replaces the prior selected port. A refused listener is reported on access rather than substituting another port. Only running computers can be changed. - [Remove HTTP exposure](https://cool.computer/docs/api-reference/services/remove-http-exposure.md): Remove HTTP exposure without stopping programs, clearing managed services, or changing sharing. Returns port zero. - [Inspect the managed service](https://cool.computer/docs/api-reference/services/inspect-the-managed-service.md): Returns the durable service configuration, process state, readiness, and log retention state for one computer. - [Run a published service](https://cool.computer/docs/api-reference/services/run-a-published-service.md): Saves and starts one managed service, then exposes its HTTP port after successful startup. On a published site with no VM yet it gives the computer one first, as exec does. On a computer whose URL serves published files, the files keep being served and the service answers what no file matches. The c… - [Restart a published service](https://cool.computer/docs/api-reference/services/restart-a-published-service.md): Restarts the configured durable service as a new persisted revision. Send an Idempotency-Key so a lost response cannot trigger another restart. - [Read service logs](https://cool.computer/docs/api-reference/services/read-service-logs.md): Streams newline-delimited log frames for the configured service. Set follow=true to wait for new frames. - [Set public visibility](https://cool.computer/docs/api-reference/network/set-public-visibility.md): Makes the computer's published service public or restricts it to its owner and invited members. This does not change outbound network access or sharing membership. - [Inspect network settings](https://cool.computer/docs/api-reference/network/inspect-network-settings.md): Returns the computer's public routing state and outbound network policy. - [Set outbound network access](https://cool.computer/docs/api-reference/network/set-outbound-network-access.md): Replaces the computer's outbound network policy. This does not change public visibility. - [List people with computer access](https://cool.computer/docs/api-reference/sharing/list-people-with-computer-access.md): Owner-only. Active access comes from WorkOS FGA; pending invitations come from Cool Computers. - [Invite a computer member](https://cool.computer/docs/api-reference/sharing/invite-a-computer-member.md): Owner-only. An existing active organization member gets access immediately; otherwise WorkOS emails an invitation. - [Remove an active computer member](https://cool.computer/docs/api-reference/sharing/remove-an-active-computer-member.md): Owner-only. Removes only the computer-member role for this computer and immediately revokes live access. - [Cancel a pending computer invitation](https://cool.computer/docs/api-reference/sharing/cancel-a-pending-computer-invitation.md): Owner-only. Removes this computer from the pending invitation and revokes the WorkOS invitation when it is no longer used by another computer. - [Get the computer's email address](https://cool.computer/docs/api-reference/email/get-the-computers-email-address.md): Returns the stable inbox address assigned to one computer. - [List computer email](https://cool.computer/docs/api-reference/email/list-computer-email.md): Lists the newest inbound and outbound messages in the computer's inbox. - [Read computer email](https://cool.computer/docs/api-reference/email/read-computer-email.md): Returns one email and marks an unread inbound message as read. - [Reply to computer email](https://cool.computer/docs/api-reference/email/reply-to-computer-email.md): Replies to one stored email from the computer's stable inbox address. The server resolves the recipient, subject, and thread from the stored message; callers provide only the approved reply content. Send an Idempotency-Key when a network failure might cause a retry. - [Send computer email](https://cool.computer/docs/api-reference/email/send-computer-email.md): Immediately sends a real email from the computer's stable inbox address. Call this only after the user approves the recipient and content, and send an Idempotency-Key so a network retry cannot send it twice. - [List files](https://cool.computer/docs/api-reference/files/list-files.md): Lists entries in one directory on the computer's persistent disk, or of the published files under /home/runtime/app on a published site with no VM. - [Inspect a file](https://cool.computer/docs/api-reference/files/inspect-a-file.md): Returns type, size, ownership, mode, and modification time for one path, including a published file under /home/runtime/app on a published site with no VM. - [Read a file](https://cool.computer/docs/api-reference/files/read-a-file.md): Returns one regular file from the computer's persistent disk as raw bytes. A published site with no VM has only its published files, under /home/runtime/app (a relative path is relative to it); reading them needs no VM. - [Write a file](https://cool.computer/docs/api-reference/files/write-a-file.md): Writes the binary request body to one path on the persistent disk. On a published site with no VM, it publishes a new release with that file under /home/runtime/app instead, never creating a VM; only the computer's own account may. - [Create a directory](https://cool.computer/docs/api-reference/files/create-a-directory.md): Creates one directory, optionally including missing parent directories. - [Upload a file tree](https://cool.computer/docs/api-reference/files/upload-a-file-tree.md): Extracts a tar archive beneath one destination directory on the persistent disk, creating the destination as needed. The archive accepts at most 10,000 entries, 64 MiB per file, and 512 MiB in aggregate. On a published site with no VM, its regular files, 64 MiB in all, are published as a new release… - [Download a file tree](https://cool.computer/docs/api-reference/files/download-a-file-tree.md): Returns one file or directory tree as a tar archive, up to 10,000 entries, 64 MiB per file, and 512 MiB in aggregate. - [Delete a file or directory](https://cool.computer/docs/api-reference/files/delete-a-file-or-directory.md): Deletes one path and optionally removes a directory tree recursively. On a published site with no VM, it publishes a new release without the files instead. - [Publish files in one request](https://cool.computer/docs/api-reference/publishing/publish-files-in-one-request.md): Publishes a whole release in one body: a tar, gzip-compressed tar or zip archive, or one HTML page served as index.html. Archives may hold only regular files and directories; an entry whose mode has any execute bit is executable. Without computer, creates a computer that serves the files with no VM;… - [Claim a computer published without an account](https://cool.computer/docs/api-reference/publishing/claim-a-computer-published-without-an-account.md): Moves a computer published without an account to the caller's account, when claim_key is the key its publish returned. The computer keeps its ID, slug, URL and releases; its expiry and claim key are cleared, so the key stops working. It counts toward the caller's artifact quota and published storage… - [List releases](https://cool.computer/docs/api-reference/publishing/list-releases.md): Lists the computer's releases, newest first, with their state and which one is live. - [Create a release](https://cool.computer/docs/api-reference/publishing/create-a-release.md): Records a release manifest: every file's path, sha256 and size, and optionally whether it is executable. The response lists the content hashes the server does not hold yet (content is deduplicated per computer by sha256) and the next request to make. Paths are relative; .., absolute paths, backslash… - [Upload release content](https://cool.computer/docs/api-reference/publishing/upload-release-content.md): Uploads the raw bytes of one content hash the release manifest lists. The bytes must match the manifest's sha256 and size. Uploading content the computer already holds succeeds without storing it again. - [Finalize a release](https://cool.computer/docs/api-reference/publishing/finalize-a-release.md): Makes a fully uploaded release live. A computer without a VM serves it from its own release hostname r-- and its URL. A computer its VM serves takes every release there: a release of files is written into /home/runtime/app (executables with mode 0755), which the VM's built-in site server se… - [Make an earlier release live](https://cool.computer/docs/api-reference/publishing/make-an-earlier-release-live.md): Makes a ready release live again, for rollback, by pointing the computer's edge route at that release's script; nothing is uploaded again. A computer its VM serves answers rollback_unavailable, because its app directory is live and mutable; publish the release again instead. ## OpenAPI Specs - [openapi](https://www.cool.computer/openapi.json) ## Optional - [Cool Computers](https://www.cool.computer)