API Blueprint presents a different approach to the preceding two specifications. Instead of relying on either JSON or YAML, it uses Markdown to document data structures and endpoints.
Its approach is similar to the test-driven development methodology, as it encourages designing contracts before implementing features. This way, it is easier to test whether the implementation actually fulfills the contract.
Just like with RAML, it is possible to convert the API Blueprint specification to OpenAPI as well as the other way round. There is also a command-line interface and a C++ library for parsing API Blueprints, called Drafter, which you can use in your code.
An example of a simple API documented with API Blueprint looks like the following:
FORMAT: 1A
# Items API overview
# /item/{itemId}
## GET
+ Response 200 (application/json)
{
"itemId": 8,
"name": "Kürtőskalács",
"locationId": 5
...