explaingit

apiaryio/api-blueprint

8,651Audience · pm founderComplexity · 1/5LicenseSetup · easy

TLDR

A plain-text format for describing web APIs before writing any code, giving developers, PMs, and designers a shared document to generate mock servers, documentation, and automated tests from.

Mindmap

mindmap
  root((api-blueprint))
    What it does
      Describe APIs in text
      Before writing code
      Human-readable format
    Outputs
      Mock servers
      API documentation
      Automated tests
    Audience
      Developers
      Product managers
      Designers
    Format
      .apib file extension
      GitHub native support
      RFC change process
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Write a short text file describing your API endpoints before coding to align developers and non-developers on the design

USE CASE 2

Generate a mock server from your API Blueprint file to test against before writing any implementation

USE CASE 3

Auto-generate human-readable API documentation from a .apib blueprint file

USE CASE 4

Run automated API tests against a live server using a blueprint as the test definition

Tech stack

MarkdownAPIB

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

API Blueprint is a language for describing web APIs in plain text files. The idea is that before you write any server code, you can write a short text document that describes what your API will do: which web addresses it responds to, what requests it accepts, and what responses it sends back. This gives everyone on a project, including non-developers, a shared reference to read and discuss. The format is designed to be simple enough that a product manager or designer could read it without needing to understand programming. A basic example in the README shows that describing a single endpoint takes just four lines. From that description, you can automatically generate a mock server to test against, produce human-readable documentation, and run automated tests, all before writing the actual implementation. GitHub recognizes the API Blueprint format natively, which means files written in it get syntax highlighting and can be searched on GitHub like any other programming language. The file extension used is .apib and the official media type is text/vnd.apiblueprint. The project is open source under the MIT license and was maintained by Apiary, a company focused on API design tooling. The repository itself is not a software library you install and run. It is the specification document that defines what API Blueprint is and how it works, along with tutorials, examples, and a glossary of terms. Separate tools built by the community (listed on the project website) handle parsing, documentation rendering, mocking, and testing. Changes to the specification went through a formal RFC process, where proposed changes were written up and discussed publicly before being adopted. The roadmap was tracked openly on GitHub.

Copy-paste prompts

Prompt 1
Using API Blueprint format, write a .apib file describing a REST endpoint that accepts a user signup with email and password and returns a JSON object with a JWT token.
Prompt 2
Help me convert this OpenAPI YAML spec to API Blueprint format: [paste your spec here]
Prompt 3
Write an API Blueprint file for a simple todo list API with GET /todos, POST /todos, and DELETE /todos/{id} endpoints including example request and response bodies.
Prompt 4
What open-source tools can parse a .apib API Blueprint file to generate interactive documentation or spin up a mock server?
Prompt 5
Review this API Blueprint file and suggest improvements to make the descriptions clearer for a non-technical product manager: [paste file]
Open on GitHub → Explain another repo

← apiaryio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.