Defining application programming interfaces (APIS) using object schemas

US9753744B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9753744-B1
Application numberUS-201615167842-A
CountryUS
Kind codeB1
Filing dateMay 27, 2016
Priority dateMay 27, 2016
Publication dateSep 5, 2017
Grant dateSep 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure relates to accessing data using dynamically generated application programming interface (API) calls. According to one embodiment, a method generally includes receiving, at a computing system, a data request from a client device. The data request generally identifies a navigable path through a graph projection of the API. The computing system generates an API call to process the data request. To generate the API call for each node in the navigable path, the computing system, identifies a node in the graph projection to access data from and generates a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node. The computing system executes the one or more subqueries to obtain a result and returns the result of executing the subqueries as a result of the API call.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for accessing data using dynamically generated application programming interface (API) calls, comprising: receiving a data request from a client device, the data request identifying a navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one Or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 2. The method of claim 1 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 3. The method of claim 1 , wherein verifying that the subquery comprises a valid query comprises comparing a number and type of parameters included in the subquery to a number and type of required parameters identified in the schema. 4. The method of claim 1 , wherein the plurality of subqueries are executed sequentially. 5. The method of claim 1 , further comprising: caching a result of a first of the plurality of subqueries; and generating at least a second subquery. 6. The method of claim 5 , wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 7. The method of claim 1 , further comprising: upon determining that the subquery is invalid, halting processing of the request and generating an error message indicating that the subquery is invalid. 8. The method of claim 1 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location. 9. A system, comprising: a processor; and memory storing instructions which, when executed on the processor, perform an operation for accessing data using dynamically generated application programming interface (API) calls, the operation comprising: receiving a data request from a client device, the data request identifying an navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; wherein the operations further comprise: verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 10. The system of claim 9 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 11. The system of claim 9 , wherein verifying that the subquery comprises a valid query comprises comparing a number and type of parameters included in the subquery to a number and type of required parameters identified in the schema. 12. The system of claim 9 , wherein the operations further comprise: caching a result of a first subquery of the plurality of subqueries; and generating at least a second subquery, wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 13. The system of claim 9 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location. 14. A non-transitory computer-readable medium comprising instructions which, when executed by one or more processors, performs an operation for accessing data using dynamically generated application programming interface (API) calls, the operation comprising: receiving a data request from a client device, the data request identifying a navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; wherein the operations further comprise: verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 15. The non-transitory computer-readable medium of claim 14 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 16. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise: caching a result of a first subquery of the plurality of subqueries; and generating at least a second subquery, wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 17. The non-transitory computer-readable medium of claim 14 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location.

Assignees

Inventors

Classifications

  • Interactive query statement specification based on a database schema · CPC title

  • Message passing systems or structures, e.g. queues · CPC title

  • Creation or generation of source code · CPC title

  • Interprogram communication · CPC title

  • G06F9/451Primary

    Execution arrangements for user interfaces · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9753744B1 cover?
The present disclosure relates to accessing data using dynamically generated application programming interface (API) calls. According to one embodiment, a method generally includes receiving, at a computing system, a data request from a client device. The data request generally identifies a navigable path through a graph projection of the API. The computing system generates an API call to proce…
Who is the assignee on this patent?
Intuit Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2423. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).