Skip to content

OpenAPI and SDKs

Every Slipway server publishes an OpenAPI description derived from the protobuf definitions:

GET /api/v1/openapi.json

Use it with API explorers, request validators or generators for languages without a Connect client. The published docs site mirrors the current release’s file.

Terminal window
curl -sS https://slipway.example.com/api/v1/openapi.json -o slipway-openapi.json

Methods appear as POST /slipway.v1.<Service>/<Method> with JSON bodies, the same wire format as the Connect protocol. Server-streaming methods are in the protobuf but are better consumed with a Connect client.

The source of truth is proto/slipway/v1/*.proto in the repository, managed with buf (lint and breaking-change checks run in CI). Generate a client for any language that has a protoc plugin:

buf.gen.yaml
version: v2
plugins:
- remote: buf.build/protocolbuffers/python
out: gen
Language Package Notes
Go github.com/slipway-systems/slipway/gen/go/slipway/v1 and .../slipwayv1connect Apache-2.0
TypeScript @slipway/api-client protobuf-es v2 and connect-es; works in browsers and Node

The SDKs are Apache-2.0 so you can embed them freely.

The API is v1. Within a major version, changes are additive: new fields and methods, never removed or renumbered. Breaking changes are checked in CI with buf breaking. Deprecated fields are marked in the protobuf and remain for at least one minor release.