Back to Case Studies
Back to Case Studies
Client
Pinpoint
Industry
Applicant Tracking System
Product
API documentation generator
Date
2025
Skills
Ruby on Rails
Graphiti
OpenAPI
Pinpoint is a modern Applicant Tracking System (ATS) platform designed to simplify complex recruitment processes in medium-sized and large enterprises. The system supports HR teams at every stage – from attracting talent and managing applications to onboarding new employees. The solution is characterized by its flexibility, enabling effective recruitment management while ensuring security and compliance with global standards.
The main goal was to optimize the workflow of Pinpoint developers by fully automating API specification generation. The project included: Creating a plug-and-play tool that automatically generates schemas, query examples, and responses based on resources. Standards Compliance: Ensuring full compatibility of generated JSON/YAML files with the ReadMe.io platform. Configurability: Ability to flexibly manage which resources are visible in public documentation.
The client uses the ReadMe service to generate API documentation based on the openapi.yaml file, which describes the API in the OpenAPI standard. However, the openapi.yaml file must be manually updated for each change in the API implemented using Graphiti in Ruby on Rails. Graphiti is a powerful framework, but not very popular, so there are no ready-made tools to automate documentation generation. As a result, the client's team spent a significant amount of time manually editing the YAML file instead of actual development work and introducing new features.
Graphiti allows to define various relationships (has_many, belongs_to, polymorphic, etc.) and field types. It was necessary to ensure that the generator correctly maps them to the OpenAPI specification.
For each HTTP operation, it was necessary to generate sample requests, responses, and their schemas. Ensuring the readability and usability of these examples in the target documentation on ReadMe.io.
We've added an initializer that allows to set basic options, enable/disable individual resources, and modify the documentation with custom code. We've prepared integration instructions in the gem's README documentation.
Documentation generation gem: The provided gem allows to easily enable automatic generation of OpenAPI specifications (JSON and YAML) from Graphiti definitions in Rails, including automatically updating documentation in ReadMe.io as part of CI.