Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Fake it before you make it: Mocking your way to better HTTP APIs

David Forgac (Complion), Ian Zelikman (IBM Watson Health)
1:45pm2:25pm Thursday, May 11, 2017
Location: Meeting Room 9 A/B
Level: Intermediate
Average rating: ****.
(4.50, 8 ratings)

Who is this presentation for?

  • Developers and engineers who create APIs

Prerequisite knowledge

  • Basic familiarity with HTTP APIs and REST APIs

What you'll learn

  • Understand the importance of API contract design
  • Learn how to choose a specification language
  • Explore available tools for documentation, mocking, and code generation


RESTful APIs are often designed and implemented before a client gets to see how they work, but once an API is made public, it can be hard to change. Dave Forgac and Ian Zelikman explain how to improve this process by explicitly designing the API contract and getting client feedback before implementation and outline processes and tools for building RESTful APIs with a design-first approach. Dave and Ian show how you can use these tools together in a contract-first development workflow and take you through the process of developing a new feature from beginning to end.

Topics include:

  • How a contract-first approach can improve your API development
  • A comparison of API specification languages (OpenAPI/Swagger, RAML, API Blueprint) and tips for choosing one
  • Tools for generating and validating specs against your code
  • Generating documentation from the specs
  • Using mock servers and proxies to experiment and test new features
Photo of David Forgac

David Forgac


Dave Forgac is a senior software engineer at Complion in Cleveland, OH and is an organizer of PyOhio, ClePy, and the Cleveland API Meetup.

Photo of Ian Zelikman

Ian Zelikman

IBM Watson Health

Ian Zelikman is a software engineer at IBM Watson Health, where he works with big data and healthcare. Ian has worked with web technologies for over 10 years, ever since his first job developing applications for weather forecasting and analysis. Ian has been a Pythonista for over four years experience developing scalable and reliable backend systems and designing and integrating with web APIs.