IP Library Granted Patent US 10,225,330
Granted Patent B2
US 10,225,330 · App. 15/974,532 · Granted Mar 5, 2019

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/02H04L67/2814H04L67/2842H04L67/42
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 10,225,330
App. No.
15/974,532
Granted
Mar 5, 2019
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 online 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 (54)

1. A method comprising:

receiving, at a network node, one or more network packets containing an API request or API response associated with a first API;

proxying, by the network node, the API request or response;

parsing, by the network node, the API request or response;

determining, by the network node, a first behavioral indicator based on content of the API request or response as observed from said parsing;

determining, by the network node, that the first behavioral indicator is inconsistent with documentation for the first API based on a variance from a machine learning model; and

automatically updating, by the network node, the documentation for the first API based on the behavioral indicator.

2. The method of claim 1 , wherein the behavioral indicator is any of:

a title of a parameter;

a value provided for the parameter;

a sequence of requests and responses;

a host or endpoint identified in the API request or response; or

a protocol or language used.

3. The method of claim 1 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs.

4. The method of claim 1 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs having a sequence of API requests and responses.

5. The method of claim 1 , further comprising:

updating the machine learning model based on the content of the API request or response as observed from said parsing.

6. The method of claim 1 , wherein said determining inconsistency between the behavioral indicator and the documentation further comprises:

identifying that no documentation file exists for the first API; and

generating a documentation file for the first API.

7. The method of claim 1 , wherein said determining inconsistency between the behavioral indicator and the documentation is further based on a semantic analysis of the documentation and the content of the API request or response as observed from said parsing.

8. A method comprising:

receiving, at a gateway, an API request and an API response, wherein the API response corresponds to the API request, the API request and the API response associated with a first API;

determining, by the gateway, parameters of the API request and values of the API response that correspond to the parameters;

determining, by auto-documentation code, that any of the parameters or values are inconsistent with documentation for the first API based on a variance from a machine learning model; and

automatically updating by the auto-documentation code, the documentation for the first API based on any of the parameters or values are inconsistent with documentation for the first API.

9. The method of claim 8 , further comprising:

determining, by auto-documentation code, that any factors of:

a sequence of requests and responses including the API request and the API response;

a host or endpoint identified in the API request and the API response; or

a protocol or language used by the API request and an API response;

are inconsistent with documentation for the first API; and

automatically updating by the auto-documentation code, the documentation for the first API based on any of the factors that are inconsistent with documentation for the first API.

10. The method of claim 8 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs.

11. The method of claim 8 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs having a sequence of API requests and responses.

12. The method of claim 8 , further comprising:

updating the machine learning model based on the any of the parameters or values as observed.

13. The method of claim 8 , wherein said determining inconsistency between any of the parameters or values and the documentation further comprises:

identifying that no documentation file exists for the first API; and

generating a documentation file for the first API based on any of the parameters or values.

14. The method of claim 8 , wherein said determining inconsistency between the any of the parameters or values and the documentation is further based on a semantic analysis of the documentation and any of the parameters or values as observed.

15. A system comprising:

a network node within a network configured to receive one or more network packets containing an API request or API response associated with a first API, the network node further configured to proxy the API request or API response; and

memory containing auto-documentation code that when executed is configured to parse the API request or response and determine a first behavioral indicator based on content of the API request or response as parsed, and wherein the executed auto-documentation code is further configured to determine whether the parsed behavioral indicator is inconsistent with documentation for the first API based on a variance from a machine learning model within the memory, and when inconsistency is determined, automatically update the documentation for the first API based on the behavioral indicator.

16. The system of claim 15 , wherein the behavioral indicator is any of:

a title of a parameter; a value provided for the parameter;

a sequence of requests and responses;

a host or endpoint identified in the API request or response; or

a protocol or language used.

17. The system of claim 15 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs.

18. The system of claim 15 , wherein the determination based on the machine learning model is further based on an observational history of a plurality of APIs having a sequence of API requests and responses.

19. The system of claim 15 , wherein the executed auto-documentation code is further configured to update the machine learning model based on the content of the API request or response as observed.

20. The system of claim 15 , wherein the determination that the behavioral indicator and the documentation are inconsistent includes: an identification that no documentation file exists for the first API, and wherein the auto-documentation code is further configured to generate a documentation file for the first API.

21. The system of claim 15 , wherein the auto-documentation code determines the behavioral indicator and the documentation are inconsistent further based on a semantic analysis of the documentation and the content of the API request or response as observed.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 61609/0267 Recorded Feb 28, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: KONG INC.
Reel/Frame 070366/0162 →
SECURITY INTEREST Recorded Feb 28, 2025
From: KONG INC.
To: HSBC VENTURES USA INC.
Reel/Frame 070372/0963 →
SECURITY INTEREST Recorded Nov 1, 2022
From: KONG INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 061609/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2018
From: PALLADINO, MARCO; MARIETTI, AUGUSTO
To: KONG INC.
Reel/Frame 045896/0807 →
Continuity (3)
Continuation In Part 15899529 · Feb 20, 2018
Continuation 15662539 · Jul 28, 2017
Related Publication 20190037005A1 · Jan 31, 2019