Open source · Local-first · API client

Your API, live from its spec.

Point Tinspec at a running service's OpenAPI URL — endpoints materialize, documented and runnable. Send requests, chain them into pipelines, keep everything in git-friendly files.

macOS · Linux — free, no account

orders-api — tinspec
order-by-id.http checkout-flow
### Order by id
GET {{baseUrl}}/api/orders/4271
Authorization: Bearer {{token}}
Accept: application/json

▶ send  ·  ⌘⏎

200 OK · 38 ms · 412 B

{
  "id": 4271,
  "status": "shipped",
  "total": 184.50,
  "currency": "EUR"
}

In the app today

Built around the spec, not the request list.

Spec-first, just-in-time

Point Tinspec at a live OpenAPI URL — a springdoc /v3/api-docs, a file, anything. Endpoints materialize instantly and stay bound to the spec: refresh re-resolves, so you test the API as it is now — not a stale snapshot you authored by hand.

https://api.internal/v3/api-docs live · re-resolved 4s ago

GET /api/orders — List orders

GET /api/orders/{id} — Order by id

POST /api/orders — Create order

DEL /api/orders/{id} + just appeared in the spec

pipeline · checkout-flow

1 POST /auth/login → token = $.access_token

2 POST /api/orders · Bearer{{token}} → orderId = $.id

3 GET /api/orders/{{orderId}} ✓ 200

Pipelines

Chain requests into runnable sequences. Extract values from a response — JSON path, header, or status — into variables the next step uses. Auth call → token → real request, in one run.

An editor, not a wall of forms

A Zed-style shell: file-tree navigator, coarse tabs, command palette. Endpoints render as runnable .http buffers in Monaco with spec-aware completions — params, headers, and body fields, typed and documented.

Reference docs built in

Every endpoint gets a Stripe-style reference view: typed parameters, request-body fields with nested attributes, response codes — plus a cURL sample and inline "Try it".

Local-first and git-friendly

Collections live in plain YAML files you commit next to the API they test. SQLite is only a rebuildable cache. Fully usable offline, zero account.

Open source

The desktop app, the Rust request engine, and the collection format are developed in the open. The engine is headless by design — the same core will back a CLI runner for CI.

On the roadmap

Where this is going not shipped yet

Auth automation

The headline bet: never copy-paste a JWT again. Script providers and first-class IdP integrations (Keycloak, Clerk, …) fetch and inject tokens automatically.

Native gRPC

The engine is protocol-pluggable; gRPC is next behind the same abstraction.

CLI pipeline runner

Run saved pipelines headlessly in CI — same engine, no app.

Cloud sync & teams

Optional paid tier: workspaces, sharing, hosted auth integrations.

Point it at your spec.

Free and open source. Runs entirely on your machine — no account, no cloud.

Download Tinspec
tinspec

The local-first API client. Live OpenAPI specs, runnable request buffers, pipelines — in plain files you can commit.

© 2026 Tinspec — open-source, offline-first, no account required.