IP Library › Granted Patent US 12,333,280
Granted Patent B2
US 12,333,280 · App. 17/649,255 · Granted Jun 17, 2025

Systems, methods, and devices for automatic application programming interface model generation based on network traffic

Inventors: Keith McGrath (Chicago, IL); Carlos Santiago Yanzon (Buenos Aires, AR); Santosh Mankala (Mountain House, CA); Scott Glaser (Dublin, CA)
Assignee: Salesforce, Inc.
G06F8/35G06F8/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,333,280
App. No.
17/649,255
Granted
Jun 17, 2025
Kind
B2
Abstract

Systems, methods, and devices facilitate generation of application programming interfaces. Systems include a computing platform implemented using a server system, the computing platform being configurable to cause monitoring application programming interface (API) traffic associated with a client service, storing a representation of the API traffic in a database system, the representation including at least an API call identifier and metadata, and generating one or more API models based, at least in part, on the representation of the API traffic, the one or more API models being configured to represent a plurality of API interactions associated with the client service. The computing platform is further configurable to cause generating one or more API objects based, at least in part, on the API models, the one or more API objects being one or more components of a client service API.

Claims (37)

1. A method comprising:

monitoring application programming interface (API) traffic for a service API associated with a service coupled to a service layer and a data layer of a database system, the monitoring comprising monitoring API calls received at and made by the service API within via a network mesh implemented by the data layer of the database system;

storing a representation of the API traffic monitored via the data layer in the database system, the representation including at least an API call identifier and metadata for each monitored API call associated with the service;

constructing, using the service layer, one or more API models based, at least in part, on the representation of the API traffic, the one or more API models being configured to represent a plurality of API interactions monitored for the service; and

constructing one or more API objects based, at least in part, on the API models, the one or more API objects being one or more components of the service API,

wherein the API object is a mock service object configured to simulate the operation of a service, and wherein the service is a containerized service.

2. The method of claim 1 , wherein the API traffic comprises at least one function call.

3. The method of claim 2 , wherein the generating of the one or more API objects comprises:

parsing the one or more API models into extracted information; and

generating the one or more API object based, at least in part, on the extracted information.

4. The method of claim 1 , wherein the service is an observed service identified based on a designated list of observed services.

5. The method of claim 1 , wherein the API object is an API specification object configured in accordance with a designated API specification.

6. The method of claim 1 , wherein the API object is a test data object configured to test one or more function calls.

7. A server system comprising one or more processors configured to implement a computing platform, the server system configured to perform:

monitoring application programming interface (API) traffic for a service API associated with a service coupled to a service layer and a data layer of a database system, the monitoring comprising monitoring API calls received at and made by the service API within via a network mesh implemented by the data layer of the database system;

storing a representation of the API traffic monitored via the data layer in the database system, the representation including at least an API call identifier and metadata for each monitored API call associated with the service;

constructing, using the service layer, one or more API models based, at least in part, on the representation of the API traffic, the one or more API models being configured to represent a plurality of API interactions monitored for the service; and

constructing one or more API objects based, at least in part, on the API models, the one or more API objects being one or more components of the service API,

wherein the API object is a mock service object configured to simulate the operation of a service, and wherein the service is a containerized service.

8. The computing platform of claim 7 , wherein the API traffic comprises at least one function call.

9. The computing platform of claim 8 , wherein the function call is made by the service.

10. The computing platform of claim 8 , wherein the generating of the one or more API objects comprises:

parsing the one or more API models into extracted information; and

generating the one or more API object based, at least in part, on the extracted information.

11. The computing platform of claim 7 , wherein the service is an observed service identified based on a designated list of observed services.

12. The computing platform of claim 7 , wherein the API object is an API specification object configured in accordance with a designated API specification.

13. The computing platform of claim 7 , wherein the API object is a test data object configured to test one or more function calls.

14. A computer program product comprising non-transitory computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause the one or more processors to perform a method comprising:

monitoring application programming interface (API) traffic for a service API associated with a service coupled to a service layer and a data layer of a database system, the monitoring comprising monitoring API calls received at and made by the service API within via a network mesh implemented by the data layer of the database system;

storing a representation of the API traffic monitored via the data layer in the database system, the representation including at least an API call identifier and metadata for each monitored API call associated with the service;

constructing, using the service layer, one or more API models based, at least in part, on the representation of the API traffic, the one or more API models being configured to represent a plurality of API interactions monitored for the service; and

constructing one or more API objects based, at least in part, on the API models, the one or more API objects being one or more components of the service API,

wherein the API object is a mock service object configured to simulate the operation of a service, and wherein the service is a containerized service.

15. The computer program product recited in claim 14 , wherein the API traffic comprises at least one function call, and wherein the generating of the one or more API objects comprises:

parsing the one or more API models into extracted information; and

generating the one or more API object based, at least in part, on the extracted information.

16. The computer program product recited in claim 14 , wherein the service is an observed service identified based on a designated list of observed services.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2022
From: MCGRATH, KEITH; YANZON, CARLOS SANTIAGO; MANKALA, SANTOSH; GLASER, SCOTT
To: SALESFORCE.COM, INC.
Reel/Frame 058812/0565 →
Continuity (2)
Provisional Application 63264777 · Dec 1, 2021
Related Publication 20230168871A1 · Jun 1, 2023
References Cited (19)
US 8739126B2 · Glaser et al. · 2014 [cited by applicant]
US 8868981B2 · Glaser et al. · 2014 [cited by applicant]
US 8903943B2 · Glaser et al. · 2014 [cited by applicant]
US 9229934B2 · Mankala et al. · 2016 [cited by applicant]
US 9563680B2 · Mankala et al. · 2017 [cited by applicant]
US 10114737B2 · Ramakrishna et al. · 2018 [cited by applicant]
US 10261890B2 · Gandham et al. · 2019 [cited by applicant]
US 10437712B1 · Tyler · 2019 [cited by examiner]
US 10747505B1 · Lester · 2020 [cited by examiner]
US 10970136B1 · Devine · 2021 [cited by examiner]
US 20070150722A1 · Aaron · 2007 [cited by examiner]
US 20090158238A1 · Jung · 2009 [cited by examiner]
US 20140005974A1 · Vyas et al. · 2014 [cited by applicant]
US 20150229719A1 · Sella · 2015 [cited by examiner]
US 20160057207A1 · Li · 2016 [cited by examiner]
US 20160132573A1 · Mankala et al. · 2016 [cited by applicant]
US 20200167209A1 · Madhusudhan Nair · 2020 [cited by examiner]
US 20200366572A1 · Chauhan · 2020 [cited by examiner]
US 20220283885A1 · Mackenzie · 2022 [cited by examiner]
Cited By (1)
US 12,737,270