Skip to main content

The API Challenges

The API Challenges is an application which you can use to practice API testing and automating. It is written in Java, runnable locally and has been deployed to the cloud for easy access. It contains a functional API and a set of challenges for you to work through.

The API Challenges is a simple CRUD (Create, Read, Update, Delete) API.

It also has a set of challenges that are tracked as you explore and test the API.

Everything runs in memory, or stores challenge session ot files, so there is no database to worry about.

Use The Heroku Hosted Version

About The Challenges Application

Watch on YouTube

How to Create a Multi-User Session

Watch on YouTube


The API Challenger is built on “The Thingifier” and downloadable from the release pages.

Download the .jar file from the releases page or specific versions listed below.

  • java -jar apichallenges.jar
  • visit http://localhost:4567


How to Install and Use For Single Player on Win and Mac

Watch on YouTube


The application is open source and full code in on Github:

It has been deployed as a multi user application to Heroku

Learning Modes

The Mirror Mode is a good way to start learning tooling because it reflects back what you send so you can get used to any tool and see how it works.

The Simulation Mode is a set of hard-coded data to specific requests, although it does try to respond appropriately to specific verbs. It is a useful way to compare different tooling without specific data and environment requirements.

Challenge How Tos and Solutions

Challenge Debriefs

Support This Project

If you find value in the API and documentation then consider supporting this project by buying my case study book Automating and Testing a REST API.

Or supporting this project through Patreon. For $1 a month, you join a community of testers improving their skills and advancing their craft, receive exclusive blog posts, and extra ad free videos. You also help support the test community by covering the costs of the hosting that allows my test applications to be used online at no cost to the end user.