ENDPOINT MANAGEMENT SYSTEM PROVIDING AN APPLICATION PROGRAMMING INTERFACE PROXY SERVICE
First Claim
1. A system for providing endpoint management of application programming interfaces, the system comprising:
- an electronic data store configured to store application programming interface (“
API”
) mapping definitions; and
an endpoint system comprising one or more hardware computing devices executing specific computer-executable instructions, wherein the endpoint system is in communication with the electronic data store, and configured to at least;
receive a plurality of API mapping definitions, wherein each respective API mapping definition associates a proxy API with at least one endpoint API;
receive a request from a calling system to execute a program code by a particular proxy API;
determine, based at least in part on the received request and the particular proxy API, an API mapping definition associated with the particular proxy API;
transform the request into an endpoint request for processing by an endpoint API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the endpoint request includes an instruction to execute the program code on the endpoint API system;
transmit the endpoint request to the endpoint API system to cause execution of the program code on the endpoint API system;
receive an endpoint result from the endpoint API system, wherein the endpoint result is generated from the execution of the program code on the endpoint API system;
transform the endpoint result into a proxy result, wherein the endpoint result is transformed based at least in part on the API mapping definition; and
provide a return response to the calling system, wherein the return response comprises at least the proxy result.
1 Assignment
0 Petitions
Accused Products
Abstract
An endpoint management and proxy system is described, by which users can manage and enable exposure of application programming interfaces (“APIs”) usable to cause execution of program code on a remote or third party system. Systems and methods are disclosed which facilitate the handling of user requests to perform certain tasks on remote systems. The endpoint management system allows the application developer to define and specify a first proxy API which maps to a second API associated with the remote system. The endpoint proxy system receives requests to execute the proxy API, determines the API mapping, and sends one or more backend API requests to execute program codes by the associated remote systems. Responses from the remote systems are received by the endpoint proxy system which parses and/or transforms the results associated with the response and generates an output result for response back to the user computing systems.
115 Citations
23 Claims
-
1. A system for providing endpoint management of application programming interfaces, the system comprising:
-
an electronic data store configured to store application programming interface (“
API”
) mapping definitions; andan endpoint system comprising one or more hardware computing devices executing specific computer-executable instructions, wherein the endpoint system is in communication with the electronic data store, and configured to at least; receive a plurality of API mapping definitions, wherein each respective API mapping definition associates a proxy API with at least one endpoint API; receive a request from a calling system to execute a program code by a particular proxy API; determine, based at least in part on the received request and the particular proxy API, an API mapping definition associated with the particular proxy API; transform the request into an endpoint request for processing by an endpoint API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the endpoint request includes an instruction to execute the program code on the endpoint API system; transmit the endpoint request to the endpoint API system to cause execution of the program code on the endpoint API system; receive an endpoint result from the endpoint API system, wherein the endpoint result is generated from the execution of the program code on the endpoint API system; transform the endpoint result into a proxy result, wherein the endpoint result is transformed based at least in part on the API mapping definition; and provide a return response to the calling system, wherein the return response comprises at least the proxy result. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
an endpoint proxy system comprising one or more hardware computing devices adapted to execute specific computer-executable instructions and in communication with an electronic data store configured to store application programming interface (“
API”
) mapping definitions, wherein the endpoint proxy system is configured to at least;receive a request from a user computing device to execute a proxy API; determine, based at least in part on the received request and the proxy API, an API mapping definition associated with the proxy API; transform the request into a backend request for processing by a backend API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the backend request includes an instruction to execute a backend API the endpoint API system; transmit the backend request to the endpoint API system, wherein the backend request is adapted to cause execution of the backend API on the endpoint API system; receive a backend result from the backend API system, wherein the endpoint result is generated by execution of the backend API on the backend API system; transform the backend result into an output result, wherein the backend result is transformed based at least in part on the API mapping definition; and provide the output result to the user computing device. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, receiving a request from a calling system to execute a proxy API; determining, based at least in part on the received request and the proxy API, an API mapping definition associated with the proxy API; transforming the request into a backend request for processing by a backend API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the backend request includes an instruction to execute a backend API the endpoint API system; sending the backend request to the endpoint API system, wherein the backend request is adapted to cause execution of the backend API on the endpoint API system; receiving a backend result from the backend API system, wherein the endpoint result is generated by execution of the backend API on the backend API system; transforming the backend result into an output result, wherein the backend result is transformed based at least in part on the API mapping definition; and providing the output result to the calling system. - View Dependent Claims (14, 15, 16, 17)
-
18. A computer-readable, non-transitory storage medium storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:
-
receiving a request from a calling system to execute a proxy API; determining, based at least in part on the received request and the proxy API, an API mapping definition associated with the proxy API; transforming the request into a backend request for processing by a backend API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the backend request includes an instruction to execute a backend API the endpoint API system; sending the backend request to the endpoint API system, wherein the backend request is adapted to cause execution of the backend API on the endpoint API system; receiving a backend result from the backend API system, wherein the endpoint result is generated by execution of the backend API on the backend API system; transforming the backend result into an output result, wherein the backend result is transformed based at least in part on the API mapping definition; and providing the output result to the calling system. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification