opensesh docs

API overview

Authenticate with an organization API key and drive the whole platform over REST.

opensesh exposes a REST API for reading and managing program data programmatically — 64 operations covering the whole platform. Every operation is documented in the sidebar, and the same surface is described by the machine-readable OpenAPI document — ideal for wiring up an MCP server or generating a typed client.

Base URL

https://app.opensesh.io/api/v1

If you self-host, replace the host with your own deployment's domain.

Authentication

Every request is authenticated with an organization API key sent as a bearer token:

curl https://app.opensesh.io/api/v1/... \
  -H "Authorization: Bearer osk_..."

API keys are managed in Organization settings → API keys. Keys are scoped to an organization and start with the osk_ prefix. Revoke a key from the same page at any time; revocation takes effect immediately.

Keys are shown once

A key's full value is only displayed at creation — store it in a secret manager before closing the dialog.

OpenAPI spec

The API is described by an OpenAPI 3.1 document, served by the API itself:

GET https://app.opensesh.io/api/v1/openapi.json

The document is generated from the same endpoint definitions that validate live requests and type the handlers, so it always matches what the server actually does. Use it to generate clients or import the API into your tooling.

Conventions

  • Requests and responses are JSON (Content-Type: application/json).
  • Resources are scoped to the organization the API key belongs to.
  • Missing or invalid keys return 401 Unauthorized; keys without access to a resource return 404 Not Found.
  • Success responses return the resource directly; every error is { "error": { "code", "message" } } with a matching HTTP status.

Every endpoint is documented in the sidebar, grouped by resource — each page has an interactive playground, code samples, and response schemas.

On this page