Specbook
Storybook for APIs

API docs that come to life

The Swagger UI alternative built for modern teams. Explore APIs, author executable flows once, and publish live documentation instantly. Share everything in a centralized portal and continuously verify your endpoints in production.

See it in action

Call the public Swagger Petstore and instantly see the response validated against the API spec. Or run a flow to chain requests together: find a pet, place an order, and check the order, all in one executable sequence, without leaving your favorite editor.

get-pet.req.ts
export default GetPetById.request({
name: 'Get a pet',
tags: ['smoke', 'monitor'],
path: { petId: '{{petId}}' },
init: { petId: 1 },
assert: (res, { assert, vars }) => {
assert.is(res.status, 200, 'found')
if (res.status === 200) assert.is(res.data.id, Number(vars.petId), 'the pet that was asked for')
},
})

Explore the full demo (opens in a new window)