IP Library Granted Patent US 10,592,319
Granted Patent B2
US 10,592,319 · App. 16/283,457 · Granted Mar 17, 2020

API notebook tool

Inventor: Uri Sarid (Oakland, CA)
Assignee: MuleSoft, LLC
G06F9/547G06F8/30G06F9/451G06F8/36
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,592,319
App. No.
16/283,457
Granted
Mar 17, 2020
Kind
B2
Abstract

Techniques for an application programming interface (API) notebook tool are disclosed. In some implementations, an API notebook is a tool, framework, and ecosystem that enables easy exploration of services that expose APIs, creation and documentation of examples, use cases and workflows, and publishing and collaboration of APIs. In some embodiments, systems, processes, and computer program products for an API notebook tool include receiving a request for a client for calling an API for a service, and dynamically generating the client for the API for the service.

Claims (65)

1. A method, comprising:

generating, by an API notebook tool, a client for calling an application programming interface (API) based on an API specification comprising a description of the API;

converting, by the API notebook tool, the API into a note in a data store comprising a coded implementation of the client and documentation for a documented usage scenario of the API implemented by the client, wherein user credentials for authenticating with the API are cached locally;

loading, by the API notebook tool, the note from the data store using the API notebook tool; and

saving, by the API notebook tool, a modified version of the note in the data store using the API notebook tool,

wherein the note is shared with a plurality of editors,

wherein each of the plurality of editors can execute and/or edit the note to provide for a modified usage scenario of the API, and

wherein at least one of the generating, converting, loading, and saving are performed by one or more computers.

2. The method of claim 1 , further comprising:

determining, by the API notebook tool, a call to the API based on a partial text input and the API specification by examining most popular used features of the API and/or most frequently used features of the API.

3. The method of claim 1 , further comprising:

receiving, by the API notebook tool, results of an execution of the client; and

displaying, by the API notebook tool, a result inspector comprising collapsed and expanded visual states.

4. The method of claim 1 , further comprising:

receiving, by the API notebook tool, results of an execution of the client; and

providing, by the API notebook tool, a capability to refer to the results as a variable in a script fragment.

5. The method of claim 1 , further comprising:

suggesting, by the API notebook tool, a prerequisite action comprising a method identification.

6. The method of claim 1 , further comprising:

implementing, by the API notebook tool, the note in a markdown language.

7. The method of claim 1 , wherein the client is embedded into a client application that interacts with a web service by calling the API.

8. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

generate a client for calling an application programming interface (API) based on an API specification in an API notebook tool,

wherein the API specification comprises a description of the API;

convert the API into a note in a data store comprising a coded implementation of the client and documentation for a documented usage scenario of the API implemented by the client,

wherein user credentials for authenticating with the API are cached locally;

load the note from the data store using the API notebook tool; and

save a modified version of the note in the data store using the API notebook tool,

wherein the note is shared with a plurality of editors, and

wherein each of the plurality of editors can execute and/or edit the note to provide for a modified usage scenario of the API.

9. The system recited in claim 8 , the at least one processor further configured to:

determine a call to the API based on a partial text input and the API specification by examining most popular used features of the API and/or most frequently used features of the API.

10. The system recited in claim 8 , the at least one processor further configured to:

receive results of an execution of the client; and

display a result inspector comprising collapsed and expanded visual states.

11. The system recited in claim 8 , the at least one processor further configured to:

receive results of an execution of the client; and

provide a capability to refer to the results as a variable in a script fragment.

12. The system recited in claim 8 , the at least one processor further configured to:

suggest a prerequisite action comprising a method identification.

13. The system recited in claim 8 , wherein to convert the API into a note, the at least one processor is further configured to:

implement the note in a markdown language.

14. The system recited in claim 8 , wherein the client is embedded into a client application that interacts with a web service by calling the API.

15. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

generating a client for calling an application programming interface (API) based on an API specification comprising a description of the API in an API notebook tool;

converting the API into a note in a data store comprising a coded implementation of the client and documentation for a documented usage scenario of the API implemented by the client, wherein user credentials for authenticating with the API are cached locally;

loading the note from the data store using the API notebook tool; and

saving a modified version of the note in the data store using the API notebook tool,

wherein the note is shared with a plurality of editors,

wherein each of the plurality of editors can execute and/or edit the note to provide for a modified usage scenario of the API, and

wherein at least one of the generating, converting, loading, and saving are performed by one or more computers.

16. The non-transitory computer-readable device of claim 15 , the operations further comprising:

determining a call to the API based on a partial text input and the API specification by examining most popular used features of the API and/or most frequently used features of the API.

17. The non-transitory computer-readable device of claim 15 , the operations further comprising:

receiving results of an execution of the client; and

displaying a result inspector comprising collapsed and expanded visual states.

18. The non-transitory computer-readable device of claim 15 , the operations further comprising:

receiving results of an execution of the client; and

providing a capability to refer to the results as a variable in a script fragment.

19. The non-transitory computer-readable device of claim 15 , the operations further comprising:

suggesting a prerequisite action comprising a method identification.

20. The non-transitory computer-readable device of claim 15 , the operations further comprising:

implementing the note in a markdown language.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: MULESOFT, LLC
To: SALESFORCE, INC.
Reel/Frame 070454/0704 →
CHANGE OF NAME Recorded Jan 29, 2020
From: MULESOFT, INC.
To: MULESOFT, LLC
Reel/Frame 051973/0125 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: SARID, URI
To: MULESOFT, INC.
Reel/Frame 049304/0473 →
Continuity (4)
Continuation 15226772 · Aug 2, 2016
Continuation 14301193 · Jun 10, 2014
Provisional Application 61884883 · Sep 30, 2013
Related Publication 20190188062A1 · Jun 20, 2019