Prosecution Insights
Last updated: July 17, 2026
Application No. 18/672,943

APPLICATION PROGRAMMING INTERFACE INVOCATION

Non-Final OA §101§103§112
Filed
May 23, 2024
Examiner
ONAT, UMUT
Art Unit
Tech Center
Assignee
SAP SE
OA Round
1 (Non-Final)
80%
Grant Probability
Favorable
1-2
OA Rounds
11m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allowance Rate
426 granted / 534 resolved
+19.8% vs TC avg
Strong +28% interview lift
Without
With
+28.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
22 currently pending
Career history
561
Total Applications
across all art units

Statute-Specific Performance

§101
8.5%
-31.5% vs TC avg
§103
70.7%
+30.7% vs TC avg
§102
7.6%
-32.4% vs TC avg
§112
9.4%
-30.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 534 resolved cases

Office Action

§101 §103 §112
CTNF 18/672,943 CTNF 87555 DETAILED ACTION Claims 1-20 are pending in the application. Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. 07-06 AIA 15-10-15 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. Examiner’s Notes The Examiner cites particular sections in the references as applied to the claims below for the convenience of the applicant(s). Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant(s) fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. Claim Rejections - 35 USC § 112(b) 07-30-02 AIA The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. 07-34-01 Claims 2-4, 10-13, and 18 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. The term “large” in claims 2, 3, 10, 11, and 18 is a relative term which renders the claims indefinite. The term “large” is not defined by the claims, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. More specifically, neither the specification nor the claims describe a particular language engine size in order to enable one of ordinary skill in the art to ascertain whether a give language engine is “large” or not. For the following analysis, the Examiner will consider any existing language engine as being “large” as relative to other language engines. Claims 3-4 and 11-13 inherit the features of claims 2-3 and 10-11. As such, claims 3-4 and 11-13 are rejected accordingly. Claim Rejections - 35 USC § 101 07-04-01 AIA 07-04 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 9-16 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Claims 9-16 are directed to a computer-implemented system comprising an embedding engine, a ranking engine, a completion engine, and a graph recommendation engine. Currently presented, neither the claimed system nor the components of the system are limited to hardware embodiments. Furthermore, the specification discloses that such systems can be implemented as software systems, for example in paragraphs [0029], [0062]. As such, the system recited in claims 9-16 encompasses software embodiments which are non-statutory. See MPEP §2106. Claim Rejections - 35 USC § 103 07-20-aia AIA The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. 07-20-02-aia AIA This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. 07-21-aia AIA Claim s 1-15 and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Ray et al. (US 2020/0410395 A1; hereinafter Ray) in view of Grechanik (US 2013/0086553 A1) . With respect to claim 1, Ray teaches: A computer-implemented method comprising: receiving a request to identify a sequence of application programming interfaces (APIs) to perform a task ( see e.g. Ray, paragraph 84: “ At block 702, the processor receives an instruction and a determined application ” ; paragraph 5: “ receiving one or more instructions in response to the prompt, where each of the one or more instructions provides information on performing at least a portion of the task. The method further includes determining at least one action for each one of the one or more instructions ” ; and paragraph 35: “ actions can be created from the APIs ”); obtaining, from a data collection engine, API data ( see e.g. Ray, paragraph 35: “ a set of APIs for various applications can be stored in a knowledge base in a standardized format so that actions can be created from the APIs ” ; paragraph 85: “ process 700 also includes determining a set of API calls, such as from the API and actions knowledge base 224 or 324. The API and actions knowledge base can include application or device APIs added by developers that are in a user-friendly and standardized format ”) comprising textual characterization of a plurality of APIs ( see e.g. Ray, paragraph 89: “ meta-information 800 can be stored in the API and actions knowledge base 224 or 324 to provide a standardized set of meta-information used in creating API calls and retrieving data for suggesting API calls to users ” ; and Fig. 8 ); generating vector representations by embedding the API data of the plurality of APIs ( see e.g. Ray, paragraph 86: “ generates an API representation based on the received utterance and the determined application. For example, the API representation can be formatted like an API call for the application, with the representation including an invocation of the application and with the action and parameters replaced with information from the utterance. In some embodiments, the API representation can be a vector of a certain dimension which represents the semantics of the API action ”), the vector representations comprising a semantically searchable format ( see e.g. Ray, paragraph 86: “ API representation can be a vector of a certain dimension which represents the semantics of the API action… similarity between the utterance representation and the API representation can be computed by measuring a suitable distance, such as a cosine distance, between the utterance representation vector and the API representation vector ”); determining, by using a retrieval-augmented generation engine, relevant APIs ranking the plurality of APIs ( see e.g. Ray, paragraph 86: “ creates a ranked list of API calls based on the determined similarity from block 712 ”) according to a similarity between the vector representations and the request ( see e.g. Rah, paragraph 86: “ At block 712, the processor determines the similarity between the utterance representation and the API representation to determine formats for API calls that may be relevant to the user's intended action. In some embodiments, the similarity between the utterance representation and the API representation can be computed by measuring a suitable distance, such as a cosine distance, between the utterance representation vector and the API representation vector ”); generating, a recommendation comprising a structure of the sequence of APIs selected to perform the task ( see e.g. Ray, paragraph 87: “ At block 716, the processor outputs and displays to the users a combined list of ranked pre-defined application skills and API calls, such as in the agent UI 220 or 320 ”), the structure defining a calling order of the sequence of APIs ( see e.g. Ray, paragraph 101: “ area 1012 displays a list of selectable action types. These selectable action types can be in a ranked list of combined pre-built skills and API calls that the learning agent retrieves and presents to the user in the teaching area 1012, such as in the manner described above with respect to FIGS. 6, 7, and 8 ” ; and Fig. 10A ); and executing, using the structure, an application ( see e.g. Ray, Fig. 2: “ Device Applications 232 ”) invoking the sequence of APIs selected according to the calling order of the sequence of APIs ( see e.g. Ray, paragraph 87: “ At block 718, the processor receives the selected action or API call to be used for the action… When creating a complex task object after each clarifying instruction is processed, the complex task object will include any action or API call to use as defined in the process 700 ” ; paragraph 58: “ perform an action, which can also be a complex task if the server action module 226 is commanding the device action module 228 to perform a previously-learned complex task. In response, the device action module 228 instructs one or more device applications 232 stored and executed by the electronic device 232 to perform the action ” ; and paragraph 63: “ API/action execution module 312 can be performed by the server action module 226 to transmit a command to perform the action from the host device 202 over the network 230 to a device action module 228 of the electronic device 204 for performance by a device application 232 ”). Ray does not but Grechanik teaches: generating a query for a completion engine using the relevant APIs and the request ( see e.g. Grechanik, paragraph 31: “ When a user 170 enters a query, it is passed to the Search Engine 165 that retrieves applications with relevancy ranking based on the Similarity Matrix 160. Search Engine 165 uses the Application Metadata 120 ” ; and paragraph 26: “ Application Metadata 120, which, in an embodiment, is a set of tuples (e.g., <<<package, class>;, API call>; Application>) thereby linking API calls and their packages and classes to applications (e.g., Java applications) that use these API calls ”); receiving, from the completion engine, a set of APIs selected to perform the task ( see e.g. Grechanik, paragraph 31: “ Search Engine 165 uses the Application Metadata 120 to extract and deliver a map of API calls for each pair of similar applications. This map shows API calls along with their classes and packages that are shared by similar applications. The user 170 is allowed to select and view the returned applications' API calls to help determine which project requirements are met ”); Ray and Grechanik are analogous art because they are in the same field of endeavor: application execution management by evaluating and identifying relevancy of APIs. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Ray with the teachings of Grechanik. The motivation/suggestion would be to improve how the APIs are evaluated; thus increasing the overall processing efficiency. With respect to claim 2, Ray as modified teaches: The computer-implemented method of claim 1, wherein the completion engine comprises a trained large language engine ( see e.g. Ray, paragraph 54: “ learning agent service 206 can be used to teach the complex task in the utterance to the host device 202. A learning agent server interface 218 on the electronic device 204 can communicate with the learning agent service 206 to provide information to the learning agent service 206, informing the learning agent service 206 how to complete a new complex task ” ; and paragraph 3 ). With respect to claim 3, Ray as modified teaches: The computer-implemented method of claim 2, wherein the trained large language engine is trained using a plurality of tasks mapped to API sequence settings ( see e.g. Ray, paragraph 53: “ a learning agent service 206 that utilizes a natural language understanding (NLU) service 208 and an application programming interface (API) knowledge base (KB) service 210 to learn to perform complex tasks provided in NLU commands ” ; and paragraph 57: “ learning agent service 206 can use the API KB service 210 to access an API and actions knowledge base 224 that includes various API calls for specific applications, which can be used to build new skills for clarifying instructions ”). With respect to claim 4, Ray as modified teaches: The computer-implemented method of claim 3, wherein the API sequence settings define workflow conditions for a plurality of API types ( see e.g. Ray, paragraph 57: “ an API and actions knowledge base 224 that includes various API calls for specific applications, which can be used to build new skills for clarifying instructions ” ; and paragraph 62: “ complex task can be created using the clarifying instructions 304 by determining the application to use based on each clarifying instruction and performing each subtask, action, or API call for each clarifying instruction 304 ” ; paragraph 73: “ As one example, the new result object for a first clarifying instruction of “search a Thai restaurant for dinner” can include that the determined application is a restaurant search application, the action or API call is to perform a search, and the parameters include “Thai” and associated slot tag(s) for the parameter. As another example, the new result object for a second clarifying instruction of “schedule a dinner next Monday” can include that the determined application is a calendar application, the action or API call is to create a calendar entry, and the parameters include calendar entry specifics such as date, time, and location, and associated slot tag(s) for the parameters ”). With respect to claim 5, Ray as modified teaches: The computer-implemented method of claim 1, wherein the API data comprises metadata ( see e.g. Ray, paragraph 89: “ meta-information 800 can be stored in the API and actions knowledge base 224 or 324 to provide a standardized set of meta-information used in creating API calls and retrieving data for suggesting API calls to users ” ; and Fig. 8 ) and specifications ( see e.g. Ray, paragraph 90: “ meta-information 800 can include various attributes each having an attribute description and a value for the attribute… The description for the description attribute is “API description” and has an example description of “sends the specified message to the recipients in the To, Cc, and Bcc headers.” ” ; and Fig. 8: “ API Description ”). With respect to claim 6, Ray as modified teaches: The computer-implemented method of claim 1, wherein executing the application comprises retrieving one or more APIs in the sequence of APIs from a database ( see e.g. Ray, paragraph 87: “ At block 718, the processor receives the selected action or API call to be used for the action ” ; paragraph 60: “ API and actions knowledge base 224 and the set of pre-built skills 222 can be included within separate data stores or databases, or in the same data store or database ” ; and paragraph 63: “ API/action execution module 312 can be performed by the server action module 226 to transmit a command to perform the action from the host device 202 over the network 230 to a device action module 228 of the electronic device 204 for performance by a device application 232 ”). With respect to claim 7, Ray as modified teaches: The computer-implemented method of claim 6, wherein executing the application comprises generating a new API to be included in the sequence of APIs ( see e.g. Ray, paragraph 57: “ Application developers 225 can register their APIs in the API and actions knowledge base 224, such as via an API knowledge base's web service or a standalone integrated development environment (IDE) ” ; paragraph 84: “ An application developer can develop and add new skills corresponding to the application developer's application to be used by the PA service 212 ” ; and paragraph 35 ). With respect to claim 8, Ray as modified teaches: The computer-implemented method of claim 1, wherein executing the application comprises generating an artifact matching the sequence of APIs ( see e.g. Ray, paragraph 74: “ determines for the instruction which application to use, an action or API call to use, and one or more parameters such as one or more slot (key, value) pairs to use for the action … As one example, the new result object for a first clarifying instruction of “search a Thai restaurant for dinner” can include that the determined application is a restaurant search application, the action or API call is to perform a search, and the parameters include “Thai” and associated slot tag(s) for the parameter. As another example, the new result object for a second clarifying instruction of “schedule a dinner next Monday” can include that the determined application is a calendar application, the action or API call is to create a calendar entry, and the parameters include calendar entry specifics such as date, time, and location, and associated slot tag(s) for the parameters ” ; and paragraph 69: “ processor executes the action determined at block 410 based on the determined application and determined parameter(s) or slot(s) for the action ”). With respect to claims 9-13: Claims 9-13 are directed to a system comprising software modules to implement active functions corresponding to the method disclosed in claims 1-5, respectively; please see the rejections directed to claims 1-5 above which also cover the limitations recited in claims 9-13. Note that, Ray also discloses a computer-implemented system (see e.g. Ray, Fig. 1) with software modules (see e.g. Ray, Fig. 1: “ 140 ”) to implement the method disclosed in claims 1-5 (see e.g. Ray, paragraphs 37-40). With respect to claim 14, Ray as modified teaches: The computer-implemented system of claim 9, wherein the ranking engine comprises a retrieval-augmented generation engine ( see e.g. Ray, paragraph 84: “ creates a ranked list from the retrieved pre-built skills performable by the application, such as by ranking the skills from most relevant or likely to be the intended action to least relevant or likely to be the intended action. In some embodiments, creating the ranked list of skills can be based on NLU model confidence scores for the action or can be based on other criteria, such as which skills are most often chosen by users ”). With respect to claim 15, Ray as modified teaches: The computer-implemented system of claim 14, wherein the embedding engine executes an embedding function to generate the vector representations of the API descriptions ( see e.g. Ray, paragraph 86: “ API representation can be formatted like an API call for the application, with the representation including an invocation of the application and with the action and parameters replaced with information from the utterance. In some embodiments, the API representation can be a vector of a certain dimension which represents the semantics of the API action ”). With respect to claims 17-20: Claims 17-20 are directed to a non-transitory computer-readable media encoded with a computer program, the computer program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations corresponding to the method disclosed in claims 1-7; please see the rejections directed to claims 1-7 above which also cover the limitations recited in claim 17-20. Note that, Ray also discloses a non-transitory computer readable medium comprising a computer program to implement the method disclosed in claims 1-7 (see e.g. Ray, paragraph 7) . 07-22-aia AIA Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Ray in view of Grechanik as applied to claim 9 above, and further in view of Agarwal et al. (US 2023/0229547 A1; hereinafter Agarwal) . With respect to claim 16, Ray as modified teaches: The computer-implemented system of claim 9, Ray does not but Agarwal teaches: wherein the graph recommendation engine comprises a directed acyclic graph recommendation engine ( see e.g. Agarwal, paragraph 109: “ DAGs illustrated in FIG. 2B above, the recommendations may include to look at the health of the connector and ensure connectivity with the hypervisor, or to check the hypervisor logs to determine if a power operation was executed against a specific VDA. In an example, the recommended actions 864 may also be based on an API call ” ; and paragraph 31: “ a directed acyclic graph (DAG) based on call information ”). Ray and Agarwal are analogous art because they are in the same field of endeavor: providing recommendations based on API calls. Therefore, it would have been obvious to one with ordinary skill in the art before the effective filing date of the claimed invention to modify Ray with the teachings of Agarwal. The motivation/suggestion would be to improve the API evaluation process for generating recommendations; thus increasing the overall processing efficiency . CONCLUSION 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure : Chhetri et al. (US 2023/0325501 A1) discloses a prediction engine 176 that uses information pertaining to execution of the file (e.g. API pointers, API vectors, etc.) and determines a set of feature vectors based at least in part on the information pertaining to the execution of file, such as by characterizing API pointers, API vectors, etc. (see paragraph 60). Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to Umut Onat whose telephone number is (571)270-1735. The examiner can normally be reached M-Th 9:00-7:30. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kevin L Young can be reached at (571) 270-3180. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /UMUT ONAT/Primary Examiner, Art Unit 2194 Application/Control Number: 18/672,943 Page 2 Art Unit: 2194 Application/Control Number: 18/672,943 Page 3 Art Unit: 2194 Application/Control Number: 18/672,943 Page 5 Art Unit: 2194 Application/Control Number: 18/672,943 Page 6 Art Unit: 2194 Application/Control Number: 18/672,943 Page 8 Art Unit: 2194
Read full office action

Prosecution Timeline

May 23, 2024
Application Filed
Jun 16, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675349
METHOD AND SYSTEM FOR REAL-TIME COMMUNICATION BETWEEN MULTIPLE BROWSER WINDOWS
3y 8m to grant Granted Jul 07, 2026
Patent 12645511
FULL EVENT TRACKING METHOD AND APPARATUS FOR PAGE, COMPUTER DEVICE, AND STORAGE MEDIUM
1y 6m to grant Granted Jun 02, 2026
Patent 12619484
SYSTEM AND METHOD OF APPLICATION PROGRAMMING INTERFACE SCHEDULING
3y 1m to grant Granted May 05, 2026
Patent 12619076
OFFLOADED DATA PROCESSING FOR NAMED BASED DATA TRANSMISSIONS
3y 5m to grant Granted May 05, 2026
Patent 12608224
LIGHTWEIGHT COOPERATIVE MULTI-THREADING
4y 1m to grant Granted Apr 21, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
80%
Grant Probability
99%
With Interview (+28.1%)
3y 0m (~11m remaining)
Median Time to Grant
Low
PTA Risk
Based on 534 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month