IP Library Granted Patent US 11,475,078
Granted Patent B2
US 11,475,078 · App. 17/096,770 · Granted Oct 18, 2022

Endpoint identifier for application programming interfaces and web services

Inventors: Mark Stanley Bastian (Eagle, ID); Dana Jo Salk (Meridian, ID)
Assignee: Clearwater Analytics, LLC
G06F16/951G06F9/547G06F16/9538
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,475,078
App. No.
17/096,770
Granted
Oct 18, 2022
Kind
B2
Abstract

A facility for identifying endpoints in an environment which crawls the environment to identify landing pages. The facility identifies endpoints within the landing pages and stores an indication of the environment containing the endpoint as well as an indication of the endpoint itself.

Claims (94)

1. A system for identifying endpoints within an environment, the system comprising:

a repository configured to store an indication of one or more endpoints;

a computing device configured to:

store an environment supporting the development of software, the environment hosting one or more endpoints;

receive the indication of one or more endpoints from the repository;

identify one or more endpoints within the environment based on the indication of one or more endpoints;

generate a list of endpoints based on the identified one or more endpoints; and

display the list of endpoints.

2. The system of claim 1 , further comprising:

the computing device being further configured to:

store additional environments, the additional environments hosting one or more additional endpoints;

receive the indication of one or more endpoints from the repository;

identify one or more additional endpoints within each of the additional environments based on the indication of one or more endpoints; and

for each endpoint of the one or more additional endpoints:

store an indication of an environment which contains the endpoint.

3. The system of claim 1 , wherein the computing device is further configured to generate a description of each of the one or more endpoints.

4. The system of claim 1 , wherein the computing device is further configured to generate code used to invoke each of the one or more endpoints.

5. The system of claim 1 , wherein the computing device is further configured to:

identify one or more variables used by each of the one or more endpoints; and

for each endpoint of the one or more endpoints:

store an indication of the one or more variables used by the endpoint.

6. The system of claim 5 , wherein the computing device is further configured to:

receive user input identifying one or more variables; and

generate a list of endpoints based on the user input identifying one or more variables, wherein the list of endpoints includes endpoints which use the one or more variables.

7. The system of claim 1 , further comprising:

the environment further includes one or more landing pages, each of the one or more landing pages further including one or more endpoints; and

the computing device being further configured to:

for each landing page of the one or more landing pages:

identify the endpoints included in the landing page.

8. The system of claim 1 , wherein the computing device is further configured to:

receive a second indication of one or more endpoints from the repository after a predetermined period of time, the predetermined period of time being based on a schedule;

identify one or more additional endpoints within the environment based on the second indication of one or more endpoints for each landing page of the one or more landing pages:

generate a second list of endpoints based on the identified one or more endpoints and the identified one or more additional endpoints; and

display the second list of endpoints.

9. The system of claim 8 , wherein the computing device is further configured to:

identify a trend in the environment based on the indicated one or more endpoints and the second indicated one or more endpoints.

10. The system of claim 9 , wherein the computing device is further configured to:

for each endpoint of the second list of endpoints:

determine whether the endpoint has changed based on the list of endpoints and the second list of endpoints.

11. The system of claim 9 , wherein the computing device is further configured to:

for each endpoint of the second list of endpoints:

determine whether there is an error in the endpoint based on the determination that the endpoint has changed; and

alert a user that there is an error in the endpoint based on the determination that there is an error in the endpoint.

12. One or more non-transitory instances of computer-readable media collectively having contents configured to cause a computing device to perform a method for identifying endpoints within an environment supporting the development of software, the method comprising:

storing, by a repository, an indication of one or more endpoints;

storing, by a computing device, the environment supporting the development of software, the environment hosting one or more endpoints;

receiving, by the computing device, the indication of one or more endpoints from the repository;

identifying, by the computing device, one or more endpoints within the environment based on the indication of one or more endpoints;

generating, by the computing device, a list of endpoints based on the identified one or more endpoints; and

displaying, by the computing device, the list of endpoints.

13. The one or more instances of computer-readable media of claim 12 , the method further comprising:

storing, by the computing device, additional environments, the additional environments hosting one or more additional endpoints;

receiving, by the computing device, the indication of one or more endpoints from the repository;

identifying, by the computing device, one or more additional endpoints within each of the additional environments based on the indication of one or more endpoints; and

for each endpoint of the one or more additional endpoints:

storing, by the computing device, an indication of an environment which contains the endpoint.

14. The one or more instances of computer-readable media of claim 12 , wherein the method further comprises generating, by the computing device, a description of each of the one or more endpoints.

15. The one or more instances of computer-readable media of claim 12 , wherein the method further comprises generating, by the computing device, code used to invoke each of the one or more endpoints.

16. The one or more instances of computer-readable media of claim 12 , wherein the method further comprises:

identifying, by the computing device, one or more variables used by each of the one or more endpoints; and

for each endpoint of the one or more endpoints:

storing, by the computing device, an indication of the one or more variables used by the endpoint.

17. The one or more instances of computer-readable media of claim 16 , wherein the method further comprises to:

receiving, by the computing device, user input identifying one or more variables; and

generating, by the computing device, a list of endpoints based on the user input identifying one or more variables, wherein the list of endpoints includes endpoints which use the one or more variables.

18. The one or more instances of computer-readable media of claim 12 , wherein the environment includes one or more landing pages each including one or more endpoints, the method further comprising:

for each of the one or more landing pages included in the environments:

identifying, by the computing device, the endpoints included in the landing page.

19. The one or more instances of computer-readable media of claim 12 , further comprising:

receiving, by the computing device, a second indication of one or more endpoints from the repository after a predetermined period of time, the predetermined period of time being based on a schedule;

identifying, by the computing device, one or more additional endpoints within the environment based on the second indication of one or more endpoints for each landing page of the one or more landing pages;

generating, by the computing device, a second list of endpoints based on the identified one or more endpoints and the identified one or more additional endpoints; and

displaying, by the computing device, the second list of endpoints.

20. The one or more instances of computer-readable media of claim 19 , further comprising:

identifying, by the computing device, a trend in the environment based on the indicated one or more endpoints and the second indicated one or more endpoints.

21. The one or more instances of computer-readable media of claim 20 , further comprising:

for each endpoint of the second list of endpoints:

determining, by the computing device, whether the endpoint has changed based on the list of endpoints and the second list of endpoints.

22. The one or more instances of computer-readable media of claim 20 , further comprising:

for each endpoint of the second list of endpoints:

determining, by the computing device, whether there is an error in the endpoint based on the determination that the endpoint has changed; and

alerting, by the computing device, a user that there is an error in the endpoint based on the determination that there is an error in the endpoint.

23. One or more non-transitory storage devices collectively storing an endpoint data structure for use by a computing device to identify endpoints within an environment supporting the development of software, the endpoint data structure comprising:

information specifying a repository configured to store an indication of one or more endpoints;

information specifying an environment supporting the development of software, the environment hosting one or more endpoints; and

a list of endpoints,

such that the information specifying the repository is usable to receive an indication of one or more endpoints from the repository,

the indication of one or more endpoints from the repository being usable to identify one or more endpoints within the environment, and

the list of endpoints is able to be populated with at least one endpoint based on the identified one or more endpoints.

24. The one or more storage devices of claim 23 , the endpoint data structure further comprising:

information specifying additional environments, the additional environments hosting one or more additional endpoints; and

information specifying a list of environments within which an endpoint is hosted,

such that, the indication of one or more endpoints is usable to identify one or more additional endpoints within each of the additional environments, and

the list of environments within which an endpoint is hosted is populated based on the identified one or more additional endpoints.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Jul 14, 2026
From: CLEARWATER ANALYTICS, LLC
To: GOLDMAN SACHS PRIVATE CREDIT CORP., AS COLLATERAL AGENT
Reel/Frame 075976/0309 →
RELEASE OF SECURITY INTEREST Recorded Jun 25, 2026
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: CLEARWATER ANALYTICS, LLC
Reel/Frame 075086/0772 →
SECURITY INTEREST Recorded Apr 21, 2025
From: CLEARWATER ANALYTICS, LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 070891/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: BASTIAN, MARK STANLEY; SALK, DANA JO
To: CLEARWATER ANALYTICS, LLC
Reel/Frame 058402/0094 →
Continuity (2)
Provisional Application 63093706 · Oct 19, 2020
Related Publication 20220121714A1 · Apr 21, 2022