IP Library Granted Patent US 11,074,067
Granted Patent B2
US 11,074,067 · App. 15/662,140 · Granted Jul 27, 2021

Auto-generation of application programming interface (API) documentation via implementation-neutral analysis of API traffic

Inventor: Jeremy Pollock (San Francisco, CA)
Assignee: TIBCO SOFTWARE INC.
G06F8/73
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,074,067
App. No.
15/662,140
Granted
Jul 27, 2021
Kind
B2
Abstract

A method of application programming interface (API) documentation generation includes receiving an API interaction, determining at least one interaction parameter based on the API interaction, and automatically generating the documentation based on the at least one interaction parameter. The generated documentation documents an action associated with the API interaction.

Claims (41)

1. A method performed by a processor of an API gateway comprising:

receiving an application programming interface (API) interaction, wherein the receiving includes receiving an API request from a user and an API response from an API backend, wherein the API response is generated in response to the API request;

determining at least one interaction parameter based on the API interaction, wherein the determining includes determining at least one request parameter and at least one response parameter;

using statistics generated by at least one machine learning model to analyze the at least one interaction parameter, the at least one machine learning model trained using a validation dataset, the validation dataset comprising feedback from at least one selected from a group comprising a user, a document generator, and storage device; and

automatically generating documentation based on the one or more statistics and the at least one interaction parameter that includes the at least one request parameter and the at least one response parameter, wherein the documentation documents action data of the API request and the API response.

2. The method of claim 1 , wherein the at least one request parameter includes whether a request parameter is optional or required.

3. The method of claim 1 , wherein the at least one request parameter includes at least one selected from a group comprising of hostname, Hyper-Text Transfer Protocol (HTTP) method, security, authentication type, and request path.

4. The method of claim 1 , wherein the at least one response parameter includes a response code, response message, and response data.

5. The method of claim 1 , wherein the at least one response parameter is derived from the API interaction.

6. The method of claim 1 , wherein the at least one response parameter includes a request parameter type.

7. The method of claim 1 , wherein the at least one response parameter includes a response data schema.

8. The method of claim 1 , wherein the API interaction corresponds to a legacy API.

9. The method of claim 1 , wherein at least one of the determination of the at least one interaction parameter is performed in real time.

10. The method of claim 1 , wherein the generation of the documentation is performed in a same runtime session as the receipt of the API interaction.

11. The method of claim 1 , wherein the determination of the at least one interaction parameter includes parsing the API interaction.

12. The method of claim 1 , wherein the at least one interaction parameter is derived from the API interaction.

13. The method of claim 1 , further comprising:

subsequent to receiving the API interaction, receiving a second API interaction, wherein the second API interaction is for an API different from the API interaction; and

automatically generating a second documentation based on the second API interaction.

14. The method of claim 1 , further comprising:

receiving audit documentation;

comparing the audit documentation with the automatically generated documentation; and

responsive to a determining of a mismatch between the audit documentation and the automatically generated documentation, updating the audit documentation.

15. The method of claim 1 , further comprising triggering an automated workflow based on the generated documentation.

16. A system for generating documentation, comprising:

a communications interface coupled to a processor and configured to receive an application programming interface (API) interaction;

the processor configured to:

receive, at an API gateway, an API interaction, wherein the configuration to receive includes configuration to receive an API request from a user and an API response from an API backend, wherein the API response is generated in response to the API request;

determine, by an analyzer of the API gateway, at least one interaction parameter based on the API interaction, wherein the configuration to determine includes configuration to determine at least one request parameter and at least one response parameter;

using statistics generated by at least one machine learning model to analyze the at least one interaction parameter, the at least one machine learning model trained using a validation dataset, the validation dataset comprising feedback from at least one selected from a group comprising a user, a document generator, and storage device; and

automatically generate, by the analyzer, documentation based on the one or more statistics and the at least one interaction parameter that includes the at least one request parameter and the at least one response parameter, wherein the documentation documents action data of the API request and the API response.

17. A computer program product for generating documentation, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving, at an API gateway, an application programming interface (API) interaction, wherein the receiving includes receiving an API request from a user and an API response from an API backend, wherein the API response is generated in response to the API request;

determining, by an analyzer of the API gateway, at least one interaction parameter based on the API interaction, wherein the determining includes determining at least one request parameter and at least one response parameter;

using statistics generated by at least one machine learning model to analyze the at least one interaction parameter, the at least one machine learning model trained using a validation dataset, the validation dataset comprising feedback from at least one selected from a group comprising a user, a document generator, and storage device; and

automatically generating, by the analyzer, documentation based on the one or more statistics and the at least one interaction parameter that includes the at least one request parameter and the at least one response parameter, wherein the documentation documents action data of the API request and the API response.

18. The method of claim 1 , wherein the feedback comprises at least one selected from a group comprising an indication of the accuracy of the document and at least one selected from a group comprising one or more annotations and one or more edits.

19. The method of claim 18 , wherein:

the feedback comprises a group of API interactions, the at least one machine learning model using the group of API interactions to identify a commonality between the API interactions; and

the automatically generated documentation includes the commonality, the commonality used to facilitate identifying a cause of an error.

20. The method of claim 1 , further comprising identifying a signature using the one or more statistics, the at least one interaction paramc ter. and documented API interactions to determine if a change occurred.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 044032 / FRAME 0704) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0244 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Nov 3, 2017
From: TIBCO SOFTWARE INC., AS GRANTOR
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044032/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2017
From: POLLOCK, JEREMY
To: TIBCO SOFTWARE INC.
Reel/Frame 043767/0204 →
Continuity (1)
Related Publication 20190034199A1 · Jan 31, 2019
Cited By (1)
US 12,223,298