# US 10,372,689 B1 · Consumer-defined service endpoints

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,689 B1
- Document ID: US10372689B1
- Status: Granted
- Kind: B1
- Application number: 14/451,120
- Filed: 2014-08-04
- Granted: 2019-08-06
- Earliest claimed: 2014-08-04
- Assignees: Intuit Inc.
- Applicants: Intuit Inc.
- Inventors: Billy Yuen; Ryan M. Bickerstaff
- Web page: https://patentgrep.com/patent/US10372689B1

## CPC

- G06F 16/211: {Schema design and management}
- G06F 21/6263: {during internet communication, e.g. revealing personal data from cookies}
- G06F 16/245: Query processing
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 21/60: Protecting data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosed embodiments provide a system that facilitates data processing. During operation, the system obtains a schema for data accessed using web services provided by multiple endpoints, wherein the schema is provided by a consumer of the data. Next, the system uses the schema to create a custom endpoint for accessing the data. The system then enables, for the consumer, access to the data through the custom endpoint without requiring querying of the multiple endpoints by the consumer.

## Claims

### Claim 1

A computer-implemented method for facilitating data processing, comprising:
obtaining a schema for data accessed using web services provided by multiple endpoints, wherein the schema is provided by a consumer of the data, and wherein the schema includes a query definition which defines entities, records, or fields to be joined using a custom endpoint;
validating the schema by verifying a syntactic correctness and a structural correctness, resulting in a validated schema;
after the validating, using the validated schema to create the custom endpoint for accessing the data, wherein using the validated schema to create the custom endpoint for accessing the data comprises:
using the query definition from the validated schema to construct a query for retrieving the data without using the multiple endpoints;
creating a first mapping from an entity name associated with the custom endpoint to the query; and
creating a second mapping from an identifier for the consumer to the entity name, wherein the identifier for the consumer comprises either a username or a numerical user identifier; and
enabling, for the consumer, access to the data through the custom endpoint according to the query definition without requiring querying of the multiple endpoints by the consumer.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein enabling, for the consumer, access to the data through the custom endpoint comprises:
obtaining, from the consumer, a request comprising one or more parameters for accessing the data;
adding the one or more parameters to the query to construct a final query;
executing the final query against a database to obtain the data; and
providing the data to the consumer.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein enabling, for the consumer, access to the data through the custom endpoint further comprises:
using the first and second mappings to match the request to the custom endpoint and the query.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the query comprises one or more joins among entities associated with the multiple endpoints.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the custom endpoint comprises a representational state transfer (REST) component.

### Claim 6

A system for facilitating data processing, comprising:
a configuration apparatus configured to:
obtain a schema for data accessed using web services provided by multiple endpoints, wherein the schema is provided by a consumer of the data, and wherein the schema includes a query definition which defines entities, records, or fields to be joined using a custom endpoint;
validate the schema by verifying a syntactic correctness and a structural correctness, resulting in a validated schema, resulting in a validated schema; and
after the validating, use the validated schema to create the custom endpoint for accessing the data, wherein using the validated schema to create the custom endpoint for accessing the data comprises:
using the query definition from the validated schema to construct a query for retrieving the data without using the multiple endpoints;
creating a first mapping from an entity name associated with the custom endpoint to the query; and
creating a second mapping from an identifier for the consumer to the entity name, wherein the identifier for the consumer comprises either a username or a numerical user identifier; and
an execution apparatus configured to enable, for the consumer, access to the data according to the query definition without requiring querying of the multiple endpoints.

### Claim 7 (depends on 6)

The system of claim 6, wherein enabling, for the consumer,
access to the data through the custom endpoint comprises:
obtaining, from the consumer, a request comprising one or more parameters for accessing the data;
using the first and second mappings to match the request to the custom endpoint and the query;
adding the one or more parameters to the query to construct a final query; executing the final query against a database to obtain the data; and
providing the data to the consumer.

### Claim 8 (depends on 6)

The system of claim 6, wherein the query comprises one or more joins among entities associated with the multiple endpoints.

### Claim 9 (depends on 6)

The system of claim 6, wherein the custom endpoint comprises a representational state transfer (REST) component.

### Claim 10

A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating data processing, comprising:
obtaining a schema for data accessed using web services provided by multiple endpoints, wherein the schema is provided by a consumer of the data, and wherein the schema includes a query definition which defines entities, records, or fields to be joined using a custom endpoint;
validating the schema by verifying a syntactic correctness and a structural correctness, resulting in a validated schema, resulting in a validated schema;
after the validating, using the validated schema to create the custom endpoint for accessing the data, wherein using the validated schema to create the custom endpoint for accessing the data comprises:
using the query definition from the validated schema to construct a query for retrieving the data without using the multiple endpoints;
creating a first mapping from an entity name associated with the custom endpoint to the query; and
creating a second mapping from an identifier for the consumer to the entity name, wherein the identifier for the consumer comprises either a username or a numerical user identifier; and
enabling, for the consumer, access to the data according to the query definition through the custom endpoint without requiring querying of the multiple endpoints by the consumer.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein enabling, for the consumer, access to the data through the custom endpoint comprises:
obtaining, from the consumer, a request comprising one or more parameters for accessing the data;
using the first and second mappings to match the request to the custom endpoint and the query;
adding the one or more parameters to the query to construct a final query;
executing the final query against a database to obtain the data; and
providing the data to the consumer.

### Claim 12 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the query comprises one or more joins among entities associated with the multiple endpoints.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the custom endpoint comprises a representational state transfer (REST) component.
