Dynamic Data API Generation from User Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing API presentation methods either limit users' access to available data or require advanced query language skills, making it difficult for users to select and utilize appropriate APIs for their needs.

Innovation Solution

A method for user-initiated dynamic data API creation, where user-provided queries are automatically transformed into parameterized queries, generating data APIs that can be selected and invoked by users, with registration and documentation created dynamically, allowing users to specify input and output parameters without needing concrete query values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a set of predefined APIs is provided by the provider, then users can easily use the APIs by providing input data, but users cannot access the entirety of available data or change the API to suit their needs

Engineering Contradiction:
Improveease of API usageVSAvoidflexibility of data access
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system dynamically generates custom APIs based on user queries rather than providing static predefined APIs. When a user submits a query, the system automatically creates a tailored API that matches their specific data access needs, allowing the API definition to adapt and change based on individual user requirements while maintaining ease of use through automated generation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system introduces an intermediary layer between the predefined APIs and user queries. This intermediary automatically transforms user-specific queries into customized API definitions, mediating between the fixed provider-side data structures and the flexible user-side data access requirements without requiring users to directly manipulate complex query languages

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a single low-level API/end-point is provided that accepts complex queries, then users can access diverse data, but users need to be highly-skilled in query languages and create their own queries

Engineering Contradiction:
Improvedata access capabilityVSAvoidease of API usage
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system enables self-service by automatically generating customized APIs from user queries without requiring users to manually create or understand complex query language syntax. The user simply provides their data access requirements in natural form, and the system serves them with a tailored API, eliminating the need for users to be experts in query languages while still providing diverse data access capability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameters of API generation from fixed, complex query language specifications to flexible, user-friendly query definitions. By allowing users to specify what data they need in simpler terms and automatically transforming these into executable API calls, the system maintains versatile data access while significantly reducing the operational complexity and skill requirements for users

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10540187B2User-initiated dynamic data application programming interface creation
Publication Date: 2020.01.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10540187B2 patent drawing
  • US10540187B2 patent drawing
  • US10540187B2 patent drawing

AI summary

Methods, systems, and computer program products for user-initiated dynamic data application programming interface creation are provided herein. A computer-implemented method includes automatically transforming a user-provided query into one or more parameterized queries, generating a data application programming interface based on at least one of the parameterized queries, outputting the generated data application programming interface to the user providing the user-provided query, and storing the generated data application programming interface in a database accessible to one or more additional users.