Automatic API Specification Cataloging and Versioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large enterprise organizations face difficulties in managing and maintaining updated Application Programming Interface (API) specifications, leading to inconsistencies between public API specifications and implementations, particularly in managing versions and distinguishing between API specification changes and implementation changes.

Innovation Solution

An automatic cataloging tool is implemented to validate and catalog API specifications with corresponding version numbers, using a command line interface or application service, which identifies changes to API specifications, determines the base API specification, and updates version numbers based on incremental or semantic analysis, ensuring accurate versioning and publication on application exchange platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually manage and update API specifications, then they can maintain control over versioning, but inconsistencies arise between API specifications and implementations due to neglected maintenance

Engineering Contradiction:
Improveconsistency between API specification and implementationVSAvoidmanual maintenance burden
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system enables self-service by automatically detecting changes in API implementations and generating corresponding specification updates without requiring manual developer intervention. The automated cataloging tool monitors API endpoints, extracts schema information, and maintains specification documents, allowing the system to serve itself in maintaining consistency between implementations and specifications.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual process of specification maintenance with an automated computational system. Instead of developers manually updating documentation, the system uses programmatic approaches to scrape API responses, analyze changes, and update specifications automatically, substituting human labor with automated tools.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of information

If multiple versions of API specifications are maintained manually, then version control can be tracked, but difficulties arise in managing versions and distinguishing between specification changes and implementation changes

Engineering Contradiction:
Improveversion tracking accuracyVSAvoidversion management complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system segments version management by automatically generating distinct version identifiers for different types of changes. It separates specification changes from implementation changes through automated detection mechanisms, assigning appropriate version numbers based on the nature of the change detected, thereby organizing version information into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The automated cataloging tool implements feedback loops by continuously monitoring API implementations and comparing them against registered specifications. When changes are detected, the system provides feedback about the nature and scope of changes, automatically updating version information and notifying relevant stakeholders, thus maintaining accurate version tracking through continuous feedback.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If automated tools are used to manage API specifications, then versioning accuracy is improved, but the complexity of the management system increases

Engineering Contradiction:
Improveversion number accuracyVSAvoidcataloging system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The automated cataloging tool is designed with multi-functionality to justify its complexity. It performs multiple functions including change detection, schema extraction, version number generation, specification update, and notification delivery within a single integrated system. This universality consolidates what would otherwise require multiple separate tools, making the complexity worthwhile by achieving precise automated versioning.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11733999B2Versioning and cataloging application programming interface (API) specifications
Publication Date: 2023.08.22 SALESFORCE INC
  • US11733999B2 patent drawing
  • US11733999B2 patent drawing
  • US11733999B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for automatically cataloging updated Application Programming Interface (API) specifications with updated version numbers. The API specifications may have been previously published to an application exchange platform. An automatic cataloging tool installed at an API development system may identify an updated API specification committed to an API specification repository. The automatic cataloging tool may identify a base API specification that has been previously published and confirm that a change has been made. The base API specification may correspond to a particular API development branch that has been updated. The automatic cataloging tool may also apply a versioning strategy to automatically determine an updated version number for the updated API specification. The application exchange platform may then replace the previous API specification with the updated API specification and the updated version number.