API reference

Sign-in and platform

The OAuth flow the CLI signs in with, the platform status, the published specification and the installers.

The OAuth flow the CLI signs in with, the platform status, the published specification and the installers.

Authorize the CLI

GET /oauth/authorize

The page where you approve a CLI sign-in in the browser: OAuth 2.0 Authorization Code with PKCE (S256). kiste login opens it.

Query parameters:

NameTypeRequiredDescription
response_typestringnoAlways code.
client_idstringnoThe CLI's client ID.
redirect_uristringnoThe CLI's loopback address that receives the code.
code_challengestringnoPKCE challenge.
code_challenge_methodstringnoAlways S256.
statestringnoOpaque value returned with the code.
devicestringnoName of the computer, shown on the approval page and in your sign-ins.

Responses:

  • 302 Signed in: to the console approval page /app/authorize with the same query; signed out: to the console sign-in with continue=/oauth/authorize?…; on kiste.run (308): to console.kiste.run.

Errors use the error envelope.

Approve the CLI

POST /oauth/authorize

Submitted by the approval page; redirects to the CLI's loopback address with a short-lived code.

Request body: map of string

Responses:

  • 200 The console approval page's answer: where the browser goes next, the CLI's loopback callback with code and state. Body: object

Errors use the error envelope.

Exchange the code for a token

POST /oauth/token

Exchanges the code and the PKCE verifier for the CLI's bearer token.

Request body: OAuthTokenRequest

FieldTypeRequiredDescription
client_idstringyes
codestringyes
code_verifierstringyes
grant_type"authorization_code"yes
redirect_uristringyes

Responses:

Errors use the error envelope.

Get the platform status

GET /status.json

What kiste.run/status shows, as JSON: the state of every component, uptime over seven days, incidents and planned maintenance. No sign-in needed.

Responses:

Errors use the error envelope.

Get the API specification

GET /openapi.json

This API as an OpenAPI 3.1 document. The reference on these pages is generated from it.

Responses:

  • 200 This document. Body: object

Errors use the error envelope.

Download the installer (macOS, Linux)

GET /install.sh

The shell installer of the CLI: curl -fsSL https://kiste.run/install.sh | sh.

Responses:

  • 200 OK. Body: any

Errors use the error envelope.

Download the installer (Windows)

GET /install.ps1

The PowerShell installer of the CLI: irm https://kiste.run/install.ps1 | iex.

Responses:

  • 200 OK. Body: any

Errors use the error envelope.

Health check

GET /healthz

Answers 200 while kiste.run is up. It does not check the compute workers; /status.json does.

Responses:

Errors use the error envelope.

On this page