Computer-implemented method for assisting software developers with coding within a development environment for coding an application using external application programming interfaces and application programming interface, API, server

An AI copilot that learns from runtime API behavior addresses the challenges of manual sequencing by offering real-time, context-aware API workflow suggestions, enhancing development efficiency and reliability.

WO2026046863A1PCT designated stage Publication Date: 2026-03-05SIEMENS AG
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/073998
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-29
Filing Date
2025-08-22
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing AI-based copilots for software development fail to consider the dynamic runtime behavior of API calls, leading to increased development time and error-prone manual sequencing of API endpoint calls due to insufficient documentation, non-standardized implementations, and lack of sample code.

Method used

An AI copilot that learns from the dynamic runtime behavior of software applications, observing and analyzing API endpoint sequences to provide real-time, context-aware suggestions and code snippets for optimal API workflows.

Benefits of technology

Reduces development time and errors by automating the identification of correct API call sequences, providing reliable and efficient software applications with continuous learning and improved accuracy over time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025073998_05032026_PF_FP_ABST
    Figure EP2025073998_05032026_PF_FP_ABST
Patent Text Reader

Abstract

An application programming interface, API, server comprising an API gateway and at least one API comprising a plurality of callable API endpoints, and an associated method, the server further comprising: an API monitor configured to retrieve API call data related to API calls made by a client to one or more API endpoints of one or more APIs in order to time-stamp each API call in the retrieved API call data, and to send the time-stamped API call data to a data storage system; the data storage system that is configured to store the received time-stamped API call data; an artificial intelligence, AI, copilot configured to be trained using the data stored in the data store and usable in a development environment in order to provide the user with suggestions for generating code for a new application.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] 202414021 Foreign version

[0002] 1

[0003] Description

[0004] Computer-implemented method to assist software developers in coding within a development environment for coding an application using external application programming interfaces and application programming interfaces, APIs, servers

[0005] Technical area

[0006] The present invention relates to the field of software development, in particular to a system and a method for improving the development process of software applications that make use of external application programming interfaces (APIs). Specifically, the present invention focuses on providing an improved development tool capable of precisely assisting a user by suggesting an intelligent development co-pilot (also referred to as a "co-pilot") that utilizes API pattern recognition to assist developers in creating optimal API sequences and workflows within their chosen development environment.

[0007] background

[0008] In modern software systems, developers often interact with various functionalities via application programming interfaces (APIs). These APIs allow developers to encapsulate functions in a modular way and make them accessible without exposing the underlying source code. This modularity is a cornerstone of software ecosystems and enables the creation and integration of complex applications across different platforms and services.

[0009] FIG 1 is a schematic representation of a state-of-the-art API ecosystem.

[0010] In API environments, there are typically two main roles: the role of API providers, who develop the API and control access to it, and the role of API consumers / clients, who use the API's functionalities in their own software applications without being able to modify the API itself. 202414021 Foreign version

[0011] 2

[0012] In a typical configuration, the API ecosystem or development environment 100 comprises a server 200 and one or more clients 300a, 300b, ... 300i. The server 200 provides the API functions at runtime, while a client-side software application uses these functions by calling the appropriate endpoints 401 (a to d or e to h) from an API 400a or 400b, which are required to perform a task.

[0013] The server comprises an API Gateway 500 and one or more APIs 400. The API Gateway 500 mediates between the server 200 and the clients 300 and manages the calls to the API endpoints 401 by the clients 300. Each API endpoint 401a to 401h is a discrete functionality within an API 400, and a collection of such functionally related endpoints forms an API 400.

[0014] Despite their widespread use, third-party APIs often present significant challenges for developers. These challenges are compounded when an API is poorly documented, deviates from standard conventions, or requires a complex sequence of endpoint calls to achieve specific workflows. Developers unfamiliar with the API in question must invest considerable effort to understand and effectively utilize these endpoints, especially when documentation is lacking or unclear.

[0015] The following problems typically occur:

[0016] Insufficient documentation: APIs may not be thoroughly documented, leaving developers unsure how to effectively use the available endpoints.

[0017] Non-standardized implementations: APIs may not adhere to generally accepted standards and conventions, leading to confusion and integration errors.

[0018] Complex workflow requirements: To implement certain workflows, developers need to call a series of API endpoints in a specific order. Determining the correct order and understanding the data that needs to be passed between these endpoints is often poorly documented, making a developer's task extremely difficult.

[0019] Lack of sample code: There may be no sample code demonstrating the practical use of the API, so developers have to experiment and may make mistakes in their implementations. 202414021 Foreign version

[0020] 3

[0021] Development effort and time: The complexity of correctly sequencing API endpoint calls increases development time and effort. Developers must manually search the API documentation or assemble functional workflows through trial and error.

[0022] To solve these problems, developers typically have to go through an intensive manual process. They must carefully read the available documentation or, at best, contact the API provider for additional guidance. If the documentation is inadequate and no programmatic examples are provided, the developer's task becomes even more difficult and error-prone.

[0023] Furthermore, several software development tools were proposed, including AI-based copilots that offer a degree of support by analyzing existing code and suggesting potential additions or improvements. These copilots were trained on a large amount of available source code to recognize patterns in the code, which can then be suggested to developers as they write the code.

[0024] However, these tools are limited in their approach, as they rely on a rather static analysis that focuses solely on the source code and does not consider the dynamic runtime behavior of applications or the sequence of API calls from endpoints required to implement specific workflows. This static analysis then fails to address the nuances of API usage in real-world scenarios, especially since the order of endpoint calls is a crucial aspect for the proper functioning of a software application that uses external APIs.

[0025] A typical software application might, for example, implement a workflow such as "buy a product", which includes the following sequence of API endpoint calls:

[0026] Call endpoint 1.1: User authentication and authorization.

[0027] Call to endpoint 2.1: Product search.

[0028] Call to endpoint 2.3: Retrieving the product description.

[0029] Access endpoint 2.1: Add product to shopping cart.

[0030] Access endpoint 2.4: Process payment.

[0031] Access endpoint 1.2: Log out. 202414021 Foreign version

[0032] 4

[0033] In this workflow, each endpoint must be called in a precise order for the workflow to complete successfully. The current development tools mentioned above, which utilize existing artificial intelligence (AI) and copilots, do not offer mechanisms to automatically detect and suggest such sequences to developers. Consequently, developers still have to define these sequences manually, increasing the risk of errors and significantly slowing down the development process.

[0034] Given these challenges, there is a clear need for a solution that goes beyond static code analysis and provides insights into the dynamic usage patterns of APIs. Such a solution would enable developers to be supported by learning not only from static code source patterns but also from the runtime behavior of existing software applications, automatically identifying the correct sequences of API calls to perform tasks or subtasks. This would not only reduce development time and effort but also improve the reliability and efficiency of software integrated with external APIs.

[0035] The present invention aims to meet these requirements by introducing a novel AI copilot for development that can learn from the dynamic runtime behavior of various software applications. This copilot can observe the sequence in which API endpoints are called, recognize patterns, sequences, and workflows, and thus make these insights directly available to developers within their development environment.

[0036] This problem is solved according to the invention by a computer-implemented method for supporting software developers in coding within a development environment for coding an application using an external application programming interface, API, according to claim 1 and / or by an API server comprising an improved AI copilot according to claim 10 and which can be used to enable the execution of the computer-implemented method for supporting software developers in coding within a development environment.

[0037] Summary of Invention 202414021 Foreign Version

[0038] 5

[0039] The present invention introduces an AI copilot for development that uses artificial intelligence (AI) to dynamically learn from the runtime behavior of various software applications. This copilot is designed to observe, analyze, and understand the sequence of API endpoint calls necessary to implement a specific sequence for executing subtasks or workflows for performing complex tasks.

[0040] A key aspect of the proposed solution lies in its ability to provide real-time, context-aware support directly within the developer's chosen development environment. When developers are working on new software applications, the proposed enhanced AI copilot can suggest the correct sequence of API endpoint calls, along with the corresponding necessary code snippets. This is achieved by integrating the copilot into the development environment, where it can automatically generate source code snippets that implement these sequences. Developers can then insert this code into their projects with minimal effort, significantly reducing the time required to develop API-driven applications.

[0041] Because the copilot automates the identification of the correct API call sequences, developers no longer need to manually search the documentation or experiment with different combinations of endpoint calls. This accelerates the development process and reduces the likelihood of errors, resulting in more reliable and robust software applications. Furthermore, the copilot's ability to learn from the cumulative experience of multiple software applications means it continuously improves over time, making increasingly accurate and relevant suggestions as it processes more data.

[0042] Advantageous configurations and developments result from the further dependent requirements and from the description with reference to the figures in the drawings.

[0043] The configurations, developments, and implementations mentioned above can be combined where appropriate. Further possible embodiments, developments, and configurations of the invention also include combinations of features of the invention not explicitly mentioned, which have been described previously or are described below with reference to the embodiments. In particular, the person skilled in the art will also add individual aspects as improvements or additions to the basic form of the present invention. 202414021 Foreign version

[0044] 6

[0045] Drawings

[0046] The present invention is described in more detail below with reference to the embodiments illustrated in the schematic figures of the drawings, in which:

[0047] FIG 1 is a schematic view of a system according to the prior art.

[0048] FIG 2 is a schematic view of a system according to the present invention.

[0049] FIG 3 is a flowchart of a method according to the present invention.

[0050] The accompanying drawings are intended to contribute to a further understanding of the embodiments of the invention. They illustrate embodiments and, in conjunction with the description, help to explain the principles and concepts of the invention. Other embodiments and many of the aforementioned advantages become clear when looking at the drawings. The elements in the drawings are not necessarily shown to scale.

[0051] Detailed description

[0052] The main aspect of the present invention is an artificial intelligence (AI) framework that dynamically learns from the runtime behavior of various software applications. This AI-driven approach enables the copilot to support developers by providing them with optimal recommendations for API workflows and sequences directly within their development environment. The system consists of three key components: an API monitor, a data storage system, and the AI-based copilot.

[0053] The approach can be summarized in three phases. The first phase involves data collection and monitoring, where the API monitor continuously observes and records all API interactions of client applications. For this purpose, an API monitor is installed on the server hosting the API, which records every API call. These calls include at least the endpoints being accessed, but can also include the sequence of calls, the data transferred between these endpoints, and the time between these interactions. This data is then timestamped and stored in a data storage system. Timestamping the API calls is important because it allows the co-pilot to understand the temporal relationships between 202414021 foreign version.

[0054] Analyzing 7 different API calls is crucial for understanding and identifying patterns in API usage.

[0055] The second phase is pattern recognition and learning, where the data stored in the data storage system is used to train the AI ​​to recognize patterns in API calls, focusing on sequences that are repeatedly executed by different client applications or even within the same application. The learning process can be continuous, meaning an AI copilot can be regularly retrained using new data collected by the API monitor. Such continuous training allows the system to refine its understanding of how different APIs are used in real-world scenarios, which in turn increases the accuracy and relevance of the suggestions the copilot makes after deployment in a development environment.It is important to emphasize once again that the training does not only analyze static code, but also delves into the dynamic runtime behavior of applications by using timing information, making it much more effective at identifying useful sequences and workflows.

[0056] In the third phase, the application of learned knowledge, the copilot uses the learned sequences and workflows to support developers in real time. When a developer writes code in their development environment, the copilot can suggest the correct sequence of API endpoint calls required for a specific subtask or complex task. These suggestions are context-aware and take into account the specific API and the programming language being used. Furthermore, the copilot can automatically generate code snippets that implement these sequences, which developers can then insert directly into their project.

[0057] FIG 2 is a schematic view of a system according to the present invention.

[0058] The left part of FIG 2 shows elements similar to those of the prior art, and we refer to the description of FIG 1 above. The proposed API ecosystem also includes an API Monitor 600, a Data Storage System 700, and an enhanced AI Copilot 800. These three new components work together to collect, store, and train the Copilot with API usage data. This enables the development of intelligent, context-aware support for developers integrating APIs into their applications, as described above. 202414021 Foreign Version

[0059] 8

[0060] The API Monitor 600 is installed on Server 200 to record the interactions between the APIs 400 on Server 200 (specifically, calls to API endpoints 401) and the clients 300 that use them. It is responsible for capturing detailed information about each API call from a client application, including the specific endpoint being accessed and, optionally, the order of the calls, the data exchanged between these endpoints, and the timing of these interactions. The API Monitor 600 ensures that each API call is timestamped and stored in the Data Storage System 700 in a format that allows for easy querying and analysis.As mentioned previously, this timestamp is crucial because it allows the system to analyze the temporal relationships between different API calls, which is essential for understanding the flow of operations within a software application and learning its processes and workflows. The data collected by the API Monitor 600 is then forwarded to the Data Storage System 700 for long-term storage and further processing.

[0061] The Data Storage System 700 is the repository where all data captured by the API Monitor 600 is stored. It plays a central role in maintaining a comprehensive database of API interactions that the system's AI can later analyze. The Data Storage System 700 is designed to efficiently process large volumes of data. It ensures that all recorded API interactions, including the time and order of calls, are securely stored and organized for easy access. In addition to storing the stamped raw data from the API Gateway 500, the Data Storage System 700 can also archive the usage patterns and workflows identified by the AI ​​Copilot 800 during its analysis and training.

[0062] The enhanced AI Copilot 800 is the core of the system. It uses data stored in the 700 data storage system to learn from API interactions captured by the 600 API Monitor. This AI-driven component is responsible for analyzing the stored data to identify patterns in API usage, such as frequent sequences of API endpoint calls and the workflows implemented by different client applications. The AI ​​Copilot 800 can be continuously trained with new data, allowing it to adapt and improve its suggestions over time. Once the AI ​​has identified a sequence or workflow, it can store this knowledge in the 700 data storage system and use it to support developers in real time. When a developer is working in their development environment, the AI ​​Copilot 800 can [202414021 Foreign Version]

[0063] The Kl-Kopilot 800 suggests nine optimal sequences of API calls, provides relevant code snippets, and even proposes entire workflows based on learned patterns. It can interact with both the API Monitor 600, which provides raw interaction data, and the Data Store 700, which provides historical data and stores learned patterns for future use. This interconnected system ensures that the Kl-Kopilot 800 is always up-to-date and provides highly effective support to developers in the complex task of API integration.

[0064] FIG. 3 is a flowchart illustrating the training method according to the invention, which enables the AI ​​co-pilot to learn and improve its ability to support developers by identifying usage patterns or sequences (corresponding to the execution of subtasks) and recognizing complex workflows (corresponding to the execution of complex tasks consisting of multiple subtasks) within software applications. The fundamental approach consists of recognizing usage patterns or sequences, i.e., analyzing the sequences of API calls made by client applications to execute specific subtasks. This capability forms the basis upon which more advanced functions, such as the recognition of complex workflows, are built.

[0065] Subtasks in the context of this invention relate to specific operations within an application that require the execution of multiple API calls in a specific sequence. These subtasks are components of larger tasks and comprise a defined sequence of API interactions that achieve a specific, smaller goal within the overall application workflow.

[0066] Let's take, for example, the subtask of user authentication and session initialization in an application. This subtask could involve several API calls in the following order:

[0067] Call to endpoint 1.1 - User authentication and authorization: In the first step, the user's login credentials are verified and access to the system is granted.

[0068] Calling Endpoint 1.2 - Retrieving the User Profile: After authentication, the application retrieves the user's profile details to establish the session. 202414021 Foreign Version

[0069] 10

[0070] Calling endpoint 1.3 - Initialize session: The session is initialized based on the user profile to prepare the application for the user's interactions.

[0071] This sequence of API calls represents a usage pattern, as it embodies a typical process that must be implemented whenever user authentication and session management are required. The KL-Kopilot can identify this sequence as a subtask and suggest it to developers when a similar authentication subtask is needed in a new project.

[0072] Tasks or workflows are more comprehensive operations consisting of multiple subtasks, each involving its own sequence of API calls that are combined to achieve a larger goal within the application. A workflow integrates multiple subtasks in a specific order or sequence to accomplish a complex task that fulfills a broader application function.

[0073] Let's consider the completion of an online purchase as an example of a complex workflow.

[0074] This task could include the following subtasks:

[0075] Subtask 1: User authentication and session initialization:

[0076] Calling endpoint 1.1 - User authentication and authorization.

[0077] Calling endpoint 1.2 - Retrieving the user profile.

[0078] Call endpoint 1.3 - initialize session.

[0079] Subtask 2: Product selection and shopping cart management:

[0080] Call to endpoint 2.1 - Search for products: The user searches for products. Call to endpoint 2.2 - Select a product: The user selects a product from the search results.

[0081] Access endpoint 2.3 - Add product to shopping cart: The selected product is added to the shopping cart.

[0082] Subtask 3: Payment processing and order completion:

[0083] Call to endpoint 3.1 - Process payment: The payment for the products in the shopping cart is being processed.

[0084] Call to endpoint 3.2 - Confirm order: The order is confirmed and completed. 202414021 Foreign version

[0085] 11

[0086] Call endpoint 3.3 - Create receipt and send confirmation: A receipt is created and a confirmation is sent to the user.

[0087] Each of these subtasks comprises a series of API calls, and their sequence forms the entire workflow required to complete a purchase. The AI ​​Copilot can recognize this workflow by identifying the relationships and sequence between the various subtasks and their respective sequences of API calls.

[0088] He can then suggest this entire workflow to the developers, ensuring that all necessary API calls are implemented in the correct order to complete the task.

[0089] The step structure of the conceptual method described above can be represented as follows. In a first step, the API monitor 600 retrieves information about the API calls from the API (S101) and timestamps this information (S102). The API monitor can then store the timestamped API information in the data storage system 700 (S103). The improved AI copilot 800 is then trained using the data stored in the data storage system 700 (S104).

[0090] A first training step (S1041) can involve providing the Copilot 800 with timestamped API call data to learn API call sequences that indicate subtasks. The candidate sequences can be repeated when interacting with a single client or with multiple clients. A time window can also be considered when determining the sequences of API calls. If the time windows between API calls are nearly equal, the sequence of API calls can be considered a candidate sequence. All these learned sequences can then be stored in the 700 data storage system.

[0091] A second training step (S1042) can be performed optionally by providing the co-pilot with the stored learned sequences to learn sequences of sequences that would indicate complex workflows or tasks. The selection of candidate sequences can be carried out similarly to how it was described above, with the candidate sequences being repetitive in interactions with a single customer or with multiple customers. Furthermore, a time window can also be considered for determining sequences. If the time windows between sequences are nearly equal, the recalled sequence can be considered a candidate sequence. All these learned sequences of usage sequences can then also be stored in the Data 202414021 foreign version.

[0092] 12

[0093] Storage 700 is used for this purpose. Interestingly, this approach allows for the learning of complex workflows whose API calls are distributed across different applications.

[0094] The training steps can be repeated at regular intervals with the new data to further improve the co-pilot.

[0095] In a final step (S105), a new API application is developed in a development environment where the AI ​​copilot and the learned usage sequences and / or workflows are used to give recommendations to the user writing the code.

[0096] In summary, the present invention offers a powerful solution to the challenges of API integration in software development. Through the innovative use of an API monitor, a data storage system, and an AI-based copilot, it provides developers with real-time, context-sensitive assistance, making the API usage process faster, easier, and more reliable. The AI's continuous learning capability ensures that the copilot stays up-to-date with the latest API usage patterns and workflows, making it an invaluable tool for modern software development.

Claims

202414021 Foreign version 13 Patent claims 1. Computer-implemented method to assist software developers in coding within a development environment for coding an application using external application programming interfaces (APIs), comprising: Retrieving (S101) API call data by an API monitor (600) relating to API calls made by a client (300) to one or more API endpoints (401) of one or more APIs (400); Timestamps (S102) of each API call in the retrieved API call data by the API Monitor (600); Storing (S103) the timestamped API call data in a data storage system (700); Training (S104) an artificial intelligence, AI, co-pilot (800) using the data stored in the data storage system (700); Use (S105) of the trained AI copilot (800) in a development environment (100) to make suggestions to the user for the design of code for a new application.

2. Method according to claim 1, wherein the training step (S104) comprises a first training step (S1041) consisting of providing the AI ​​co-pilot (800) with the timestamped API call data from the data storage system (700) to learn usage sequences of API endpoint calls indicating subtasks and storing the learned usage sequences in the data storage system (700).

3. The method of claim 2, wherein the usage sequences are sequences of API endpoint calls that are repeated in the interaction with a single client or with multiple clients.

4. Method according to one of claims 2 or 3, wherein a sequence of API endpoint calls is determined as a usage sequence only if the time windows between the API calls of different occurrences of the usage sequence are substantially the same.

5. Method according to any one of claims 2 to 4, wherein the training step (S104) further comprises a second training step (S1042) which consists of providing the AI ​​co-pilot (800) with the stored learned usage sequences from the data storage system (700) for 202414021 Foreign version 14 to provide in order to learn sequences of usage patterns that indicate complex workflows or tasks.

6. The method of claim 5, wherein the sequences of usage sequences are usage sequences that are repeated in the interaction with a single client or with multiple clients.

7. Method according to one of claims 5 or 6, wherein a sequence of usage sequences is determined as a sequence of usage sequences only if the time windows between different occurrences of the sequence of usage sequences are substantially the same.

8. Method according to one of the preceding claims, wherein the training is periodically repeated after a predetermined duration using API call data and / or usage sequences stored in the data storage system (700) between the last training and the predetermined duration.

9. Method according to one of the preceding claims, wherein the Kl-Kopilot (800) is configured to integrate into multiple development environments (100) and to adapt its suggestions to a particular programming language used.

10. An application programming interface, API, server (200) comprising an API gateway (500) and at least one API (400) comprising a plurality of callable API endpoints (401), wherein the server (200) further comprises: - an API monitor (600) configured to retrieve API call data relating to API calls made by a client (300) to one or more API endpoints (401) of one or more APIs (400), to timestamp each API call in the retrieved API call data and to send the timestamped API call data to a data storage system (700); - the data storage system (700) configured to store the received timestamped API call data; - an Artificial Intelligence, AI, co-pilot (800) configured to be trained using the data stored in the data storage system (700) and to be used in a development environment (100) to make suggestions to the user for the design of code for a new application. 202414021 Foreign version 15 11. Server (200) according to claim 10, wherein - the AI ​​copilot (800) is further configured to perform initial training, in which the AI ​​copilot (800) is provided with the timestamped API calls from the data storage system (700) to learn usage sequences of API endpoint calls that indicate subtasks, and to store the learned usage sequences in the data storage system (700), and - the data storage system (700) is further configured to receive and store the learned usage sequences.

12. Server (200) according to claim 11, wherein the usage sequences are sequences of API endpoint calls that are repeated in the interaction with a single client or with multiple clients, and / or wherein a sequence of API endpoint calls is determined as a usage sequence only if the time windows between the API calls of different occurrences of the usage sequence are substantially the same.

13. Server (200) according to one of claims 11 or 12, wherein - the AI ​​copilot (800) is further configured to perform a second training in which the AI ​​copilot (800) is provided with the stored learned usage sequences from the data storage system (700) to learn sequences of usage sequences that indicate complex workflows or tasks, and - the data storage system (700) is still configured to receive and store the learned sequences of usage sequences.

14. Server (200) according to claim 13, wherein the sequences of usage sequences are usage sequences that are repeated in the interaction with a single client or with multiple clients, and / or wherein a sequence of usage sequences is determined as a sequence of usage sequences only if the time windows between different occurrences of the sequence of usage sequences are substantially the same.

15. Server (200) according to any one of the preceding claims 10 to 14, wherein the AI ​​copilot (800) is further configured to periodically re-perform the training after a predetermined duration using API call data and / or usage sequences stored in the data storage system (700) between the last training and the predetermined duration.

Citation Information

Patent Citations

  • Automatic application program interface (API) selector for unsupervised natural language processing (NLP) intent classification

    US20240281312A1