IP Library Granted Patent US 11,068,327
Granted Patent B1
US 11,068,327 · App. 16/810,411 · Granted Jul 20, 2021

API manager

Inventors: Kyle Bolton (Cambridge, MA); Jacob Edward Ouellette (San Francisco, CA); Wayne Chang (Mountain View, CA); Sam A. Neubardt (Sommerville, MA)
Assignee: Google LLC
G06F9/546G06F8/30
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,068,327
App. No.
16/810,411
Granted
Jul 20, 2021
Kind
B1
Abstract

A method for managing application programming interface (API) keys associated with third-party software development kits (SDKs). The method includes: receiving, from an application developer machine, a plurality of notifications identifying a plurality of third-party SDKs selected for installment in a mobile application under development; sending a plurality of API key provisioning requests to a plurality of third-party service providers including a plurality of third-party APIs corresponding to the plurality of third-party SDKs; receiving a plurality of API keys for the mobile application under development from the plurality of third-party service providers; and storing the plurality of API keys.

Claims (42)

1. A computer-implemented method comprising:

receiving, by an application programming interface (API) manager and from a third-party service provider, a condition associated with an API key;

storing the condition for the API key in a repository that includes conditions for API keys;

generating a reference key that maps to the API key;

receiving, by the API manager and from a mobile application executing on a mobile device, an API call for a third party API that includes the reference key that maps to the API key;

identifying the API key and the condition associated with the API key in the repository based on the API call that includes the reference key;

determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key; and

in response to determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key, relaying, by the API manager, the API call for the third party API to the third party API.

2. The method of claim 1 , wherein receiving the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call for the third party API that includes the reference key that maps to the API key from a third-party SDK included with the mobile application executing on the mobile device.

3. The method of claim 1 , wherein receiving, by the API manager and from the mobile application executing on the mobile device, the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call, where the API call includes the API key.

4. The method of claim 1 , wherein the condition associated with the API key corresponds to a permission specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, or a user of the mobile device.

5. The method of claim 1 , wherein the condition associated with the API key corresponds to a permission that indicates one or more of a number of permissible API calls on a per user basis and a number of permissible API calls on a per mobile device basis.

6. The method of claim 1 , wherein the condition associated with the API key corresponds to a restriction specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, and a user of the mobile device.

7. The method of claim 1 , wherein the condition associated with the API key corresponds a restriction that indicates a maximum bandwidth consumption on a per session basis of the mobile application executing on the mobile device.

8. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, by an application programming interface (API) manager and from a third-party service provider, a condition associated with an API key;

storing the condition for the API key in a repository that includes conditions for API keys;

generating a reference key that maps to the API key;

receiving, by the API manager and from a mobile application executing on a mobile device, an API call for a third party API that includes the reference key that maps to the API key;

identifying the API key and the condition associated with the API key in the repository based on the API call that includes the reference key;

determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key; and

in response to determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key, relaying, by the API manager, the API call for the third party API to the third party API.

9. The system of claim 8 , wherein receiving the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call for the third party API that includes the reference key that maps to the API key from a third-party SDK included with the mobile application executing on the mobile device.

10. The system of claim 8 , wherein receiving, by the API manager and from the mobile application executing on the mobile device, the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call, where the API call includes the API key.

11. The system of claim 8 , wherein the condition associated with the API key corresponds to a permission specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, or a user of the mobile device.

12. The system of claim 8 , wherein the condition associated with the API key corresponds to a permission that indicates one or more of a number of permissible API calls on a per user basis and a number of permissible API calls on a per mobile device basis.

13. The system of claim 8 , wherein the condition associated with the API key corresponds to a restriction specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, and a user of the mobile device.

14. The system of claim 8 , wherein the condition associated with the API key corresponds a restriction that indicates a maximum bandwidth consumption on a per session basis of the mobile application executing on the mobile device.

15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, by an application programming interface (API) manager and from a third-party service provider, a condition associated with an API key;

storing the condition for the API key in a repository that includes conditions for API keys;

generating a reference key that maps to the API key;

receiving, by the API manager and from a mobile application executing on a mobile device, an API call for a third party API that includes the reference key that maps to the API key;

identifying the API key and the condition associated with the API key in the repository based on the API call that includes the reference key;

determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key; and

in response to determining, by the API manager, that the condition associated with the API key that was identified from the repository is satisfied by the API call that includes the reference key, relaying, by the API manager, the API call for the third party API to the third party API.

16. The medium of claim 15 , wherein receiving the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call for the third party API that includes the reference key that maps to the API key from a third-party SDK included with the mobile application executing on the mobile device.

17. The medium of claim 15 , wherein receiving, by the API manager and from the mobile application executing on the mobile device, the API call for the third party API that includes the reference key that maps to the API key comprises receiving the API call, where the API call includes the API key.

18. The medium of claim 15 , wherein the condition associated with the API key corresponds to a permission specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, or a user of the mobile device.

19. The medium of claim 15 , wherein the condition associated with the API key corresponds to a permission that indicates one or more of a number of permissible API calls on a per user basis and a number of permissible API calls on a per mobile device basis.

20. The medium of claim 15 , wherein the condition associated with the API key corresponds to a restriction specified by one or more of the mobile application executing on the mobile device, the mobile device, a developer of the mobile application, and a user of the mobile device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: BOLTON, KYLE; OUELLETTE, JACOB EDWARD; CHANG, WAYNE; NEUBARDT, SAM A.
To: TWITTER, INC.
Reel/Frame 052037/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: TWITTER, INC.; CRASHLYTICS, INC.
To: GOOGLE INC.
Reel/Frame 052037/0733 →
ENTITY CONVERSION Recorded Mar 6, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052115/0257 →
Continuity (3)
Continuation 15596751 · May 16, 2017
Continuation 15177251 · Jun 8, 2016
Provisional Application 62172649 · Jun 8, 2015