Dynamic API Call Generation via Graph Schema Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As APIs evolve, they often experience code duplication and increased maintenance complexity due to the addition of new functions, leading to inefficiencies in data access and processing.

Innovation Solution

A method is introduced to generate dynamic API calls by traversing a graph representation of the API, decomposing client requests into subqueries based on schema definitions, allowing for customizable interactions without building custom APIs for each function variation, and enabling dynamic extension of APIs by adding new object schemas related to existing nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new functions are added to extend API functionality, then the API becomes more versatile and adaptable, but code duplication increases and maintenance complexity grows

Engineering Contradiction:
ImproveAPI functionalityVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal query processing mechanism that handles multiple API function types (GET, POST, PUT, DELETE) and data operations through a single unified interface. The graph projection system and dynamic query generation enable one core system to serve multiple functionality requirements, eliminating the need for separate code paths for each API extension and thereby reducing maintenance complexity while preserving versatility

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

Solution Approach 2:

The patent segments the API functionality into discrete, independently definable object schemas that can be composed to create new functions. By breaking down complex API operations into atomic schema components (fields, relationships, operations), the system allows functionality extension through schema composition rather than code duplication, reducing maintenance burden while increasing adaptability

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If new functions are added to extend API functionality, then the API becomes more versatile, but the amount of code to maintain increases

Engineering Contradiction:
ImproveAPI functionalityVSAvoidcode volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent uses schema definitions as templates that are dynamically copied and instantiated to generate actual API query code. Instead of manually writing and maintaining separate code for each API function, the system copies schema definitions and automatically generates the corresponding query logic, significantly reducing the volume of maintainable code while enabling unlimited functionality extensions

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary action by pre-defining object schemas that encapsulate the structure and behavior of API entities before runtime. These schemas are compiled into a graph projection that prepares the execution plan in advance, eliminating the need to write and maintain ad-hoc query code for each operation, thus reducing code volume while maintaining high adaptability

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If manual code generation is used for each function variation, then API functionality can be extended, but development time and effort increase significantly

Engineering Contradiction:
Improvefunctionality extensionVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements self-service by enabling the API system to automatically generate its own query code from schema definitions without requiring manual programming for each function variation. The dynamic query generation mechanism allows the system to serve its own code generation needs, eliminating repetitive manual development work and significantly reducing development time while maintaining full functionality extension capability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses parameter changes by allowing schema definitions to be modified at runtime to reflect new functionality requirements. Instead of manually coding new functions, developers can change schema parameters (fields, relationships, operations) and the system automatically regenerates the corresponding query logic, dramatically reducing development time while enabling continuous functionality extension

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10585683B2Defining application programming interfaces (APIs) using object schemas
Publication Date: 2020.03.10 INTUIT INC
  • US10585683B2 patent drawing
  • US10585683B2 patent drawing
  • US10585683B2 patent drawing

AI summary

The present disclosure relates to accessing data using dynamically generated application programming interface (API) calls. According to one embodiment, a method generally includes receiving, at a computing system, a data request from a client device. The data request generally identifies a navigable path through a graph projection of the API. The computing system generates an API call to process the data request. To generate the API call for each node in the navigable path, the computing system, identifies a node in the graph projection to access data from and generates a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node. The computing system executes the one or more subqueries to obtain a result and returns the result of executing the subqueries as a result of the API call.