IP Library Granted Patent US 11,838,355
Granted Patent B2
US 11,838,355 · App. 18/154,682 · Granted Dec 5, 2023

Auto-documentation for application program interfaces based on network requests and responses

Inventors: Marco Palladino (San Francisco, CA); Augusto Marietti (San Francisco, CA)
Assignee: KONG INC.
H04L67/10G06F8/73H04L67/1004H04L67/01H04L67/02H04L67/563H04L67/568
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 11,838,355
App. No.
18/154,682
Granted
Dec 5, 2023
Kind
B2
Abstract

Disclosed embodiments are directed at systems, methods, and architecture for providing auto-documentation to APIs. The auto documentation plugin is architecturally placed between an API and a client thereof and parses API requests and responses in order to generate auto-documentation. In some embodiments, the auto-documentation plugin is used to update preexisting documentation after updates. In some embodiments, the auto-documentation plugin accesses an on-line documentation repository. In some embodiments, the auto-documentation plugin makes use of a machine learning model to determine how and which portions of an existing documentation file to update.

Claims (58)

1. A method for managing Application Programming Interfaces (APIs) in a microservices architecture, the method comprising:

communicatively coupling a control plane to a plurality of APIs organized into a microservices application architecture via data plane proxies;

receiving an incoming proxied request from a first API of the plurality of APIs directed to a second API of the plurality of APIs, the proxied request relayed to the control plane via a first data plane proxy associated with the first API;

receiving a proxied response from the second API, the proxied response relayed to the control plane via a second data plane proxy associated with the second API;

parsing the proxied request and the proxied response and extract current data; and

executing an auto-documentation plugin, wherein the auto-documentation plugin is configured to generate documentation based on the current data.

2. The method of claim 1 , further comprising:

configuring a first gateway node and a second gateway node as external end-points of the microservices application architecture;

saving, by the first gateway node, software code in a data store, wherein the software code is associated with a given plugin included in a plurality of plugins;

retrieving, by the second gateway node, the software code from the data store; and

installing, by the second gateway node, the given plugin at the second gateway node, using the retrieved software code associated with the given plugin.

3. The method of claim 1 , further comprising:

providing a memory architecturally separate from the plurality of APIs, the memory including a program code library configured to execute functionalities common to execution of the plurality of APIs on a node in communication with the memory.

4. The method of claim 2 , further comprising:

provisioning, by an administration API, the plurality of APIs to the microservices application architecture via a configuration and installation function.

5. The method of claim 1 , wherein the request is parsed subsequent to the receiving the response from the API.

6. The method of claim 1 , wherein the request is parsed independently from delivery to the second API.

7. The method of claim 1 , wherein the auto-documentation is in the form of a Swagger file, a RAML file, or an API Blueprint file.

8. The method of claim 1 , wherein the auto-documentation includes one or more endpoints, one or more parameters, or one or more methods.

9. The method of claim 1 , wherein the request and the response is associated with an endpoint, wherein executing the auto-documentation plugin includes:

retrieving previously generated documentation for the endpoint;

comparing the previously generated documentation with the current data to determine a difference; and

upon determining the difference, generating the documentation based on the current data.

10. The method of claim 9 , wherein the previously generated documentation associated with the endpoint and includes at least one of: a body, one or more headers, or one or more parameters.

11. The method of claim 9 , wherein executing the auto-documentation plugin includes:

upon determining the difference does not exist, entering a state associated with not generating the documentation.

12. The method of claim 9 , wherein executing the auto-documentation plugin includes:

upon determining the difference, electronically generating a notification for alerting the difference to a user.

13. A method comprising:

forwarding proxied communications between a plurality of APIs that operate a microservices application to an application program interface (API) gateway, the proxied communications are transmitted via data plane proxies that correspond to each of the plurality of APIs;

extracting current data, by the API gateway, via parsing of API requests and responses in between the plurality of APIs; and

executing, by the API gateway, an auto-documentation program function, wherein the auto-documentation program function is configured to generate auto-documentation in response to the requests and the responses and based on the current data.

14. The method of claim 13 , the method further comprising:

API gateway further comprises:

executing a program code library, by a network interface of the API gateway; and

load balancing the network interface that receives client requests.

15. The method of claim 14 , the API gateway further comprising:

caching, in a gateway cache, portions or all of the functionalities common to execution of the plurality of APIs.

16. The method of claim 13 , further comprising:

executing, by the API gateway, functionalities common to execution of the plurality of APIs, including any of:

authentication;

logging;

caching;

transformations;

rate-limiting; or

any combination thereof.

17. The method of claim 13 , further comprising:

executing, by the API gateway, functionalities common to execution of the plurality of APIs, wherein the functionalities common to execution of the plurality of APIs includes a first program function and a second program function.

18. The method of claim 17 , the API gateway further comprising:

configuring, installing and provisioning a first API of the plurality of APIs, by an administration API.

19. The method of claim 17 , wherein the plurality of APIs cannot perform the first or second program functions without code from a program code library on API gateway.

20. A method for extending functionalities of a plurality of Application Programming Interfaces (APIs) in a microservices architecture, the method comprising:

receiving, by a control plane, an incoming proxied request from a first API of the plurality of APIs directed to a second API of the plurality of APIs, the proxied request relayed to the control plane via a first data plane proxy associated with the first API;

receiving, by the control plane, a proxied response from the second API, the proxied response relayed to the control plane via a second data plane proxy associated with the second API;

parsing the proxied request and the proxied response and extracting current data;

identifying, by the control plane, that the first API and the second API of the plurality of APIs belong to a service group; and

in response to said identification of the service group, executing an auto-documentation plugin, wherein the auto-documentation plugin is configured to generate service group level documentation based on requests and responses within the service group.

21. The method of claim 20 , wherein APIs that belong to the service group are along a same execution path.

Assignments (2)
SECURITY INTEREST Recorded Feb 28, 2025
From: KONG INC.
To: HSBC VENTURES USA INC.
Reel/Frame 070372/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2023
From: PALLADINO, MARCO; MARIETTI, AUGUSTO
To: KONG INC.
Reel/Frame 062376/0308 →
Continuity (8)
Continuation 16933287 · Jul 20, 2020
Continuation In Part 16714662 · Dec 13, 2019
Continuation In Part 16254788 · Jan 23, 2019
Continuation 15974532 · May 8, 2018
Continuation In Part 15899529 · Feb 20, 2018
Continuation 15662539 · Jul 28, 2017
Provisional Application 62896412 · Sep 5, 2019
Related Publication 20230224359A1 · Jul 13, 2023
Cited By (1)
US 12,568,156