# US 12,010,182 B2 · System and methods for application programming interface validation and testing

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

- Number: US 12,010,182 B2
- Document ID: US12010182B2
- Status: Granted
- Kind: B2
- Application number: 17/859,099
- Filed: 2022-07-07
- Published: 2022-12-29
- Granted: 2024-06-11
- Earliest claimed: 2019-01-07
- Assignees: Allstate Insurance Company
- Applicants: Allstate Insurance Company
- Inventors: Reeta Chhabria; Shruti Puranik; Sidhi Verdhan
- Web page: https://patentgrep.com/patent/US12010182B2

## CPC

- H04L 43/18: Protocol analysers
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 11/3692: {for test results analysis}
- G06F 40/205: Parsing
- H04L 41/0273: using web services for network management, e.g. simple object access protocol [SOAP]
- H04L 43/50: Testing arrangements
- H04L 67/133: Protocols for remote procedure calls [RPC]
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects of the disclosure relate to methods, computer-readable media, systems, and apparatuses for receiving data. An electronic computer implemented method of API testing and validation is provided. In the method, via a computer-based network, includes receiving a plurality of executable code requests for a first plurality of uniform resource network nodes associated with a first network protocol and a second plurality of uniform resource network nodes associated with a second network protocol. In the method each of the executable code requests are associated with a baseline attribute data value. Further, the method includes electronically receiving a plurality of payload response attribute data values associated with each executable request and electronically parsing the payload response attribute values with Parser component. The method includes electronically processing the parsed payload response attribute values with Comparator component and mapping to each of the code requests associated with the baseline attribute value to generate a virtual hash map of key pairs.

## Claims

### Claim 1

An electronic computer implemented method of application programming interface (API) testing and validation, comprising:
electronically receiving a plurality of payload response attribute data values associated with each of a plurality of executable code requests for a plurality of uniform resource network nodes;
electronically generating a first virtual hash map comprising a mapping between each of the plurality of payload response attribute data values and each of the plurality of executable code requests;
comparing nodes of the first virtual hash map to nodes of a second virtual hash map; and
generating, based on the comparing, differences between an expected value and an actual value for each node.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the executable code requests is associated with a baseline attribute data value.

### Claim 3 (depends on 1)

The method of claim 1, wherein one or more of the plurality of uniform resource network nodes are associated with Simple Object Access Protocol (SOAP) or Representational State Transfer (REST) protocol.

### Claim 4 (depends on 1)

The method of claim 1, wherein a comparing of a first node of the first virtual hash map to a second node of the second virtual hash map generates a difference between the first node and the second node.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
creating a key value pair based on the difference.

### Claim 6 (depends on 5)

The method of claim 5, wherein the key value pair comprises a node path.

### Claim 7 (depends on 4)

The method of claim 4, wherein the comparing further comprises comparing the nodes of a stored baselined response and a response received from a server.

### Claim 8 (depends on 7)

The method of claim 7, further comprising parameterizing each node for testing the response.

### Claim 9

One or more non-transitory computer readable media storing computer executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of application programming interface (API) testing and validation, comprising:
electronically receiving a plurality of payload response attribute data values associated with each of a plurality of executable code requests for a plurality of uniform resource network nodes;
electronically generating a first virtual hash map comprising a mapping between each of the plurality of payload response attribute data values and each of the plurality of executable code requests;
comparing the first virtual hash map to a second virtual hash map; and
generating, based on the comparing, a testing report.

### Claim 10 (depends on 9)

The one or more non-transitory computer readable media of claim 9, wherein one or more of the plurality of uniform resource network nodes are associated with Simple Object Access Protocol (SOAP) or Representational State Transfer (REST) protocol.

### Claim 11 (depends on 9)

The one or more non-transitory computer readable media of claim 9, wherein each of the executable code requests is associated with a baseline attribute data value.

### Claim 12 (depends on 9)

The one or more non-transitory computer readable media of claim 9, wherein the comparing the first virtual hash map to the second virtual hash map comprises comparing nodes of the first virtual hash map to nodes of the second virtual hash map, and wherein a comparing of a first node of the first virtual hash map to a second node of the second virtual hash map generates a difference between the first node and the second node.

### Claim 13 (depends on 12)

The one or more non-transitory computer readable media of claim 12, further comprising:
storing computer executable instructions that, when executed by at least one processor, cause the at least one processor to create a key value pair based on the difference.

### Claim 14 (depends on 13)

The one or more non-transitory computer readable media of claim 13, wherein the testing report comprises the key value pair.

### Claim 15 (depends on 12)

The one or more non-transitory computer readable media of claim 12, wherein the testing report comprises the difference between the first node and the second node.

### Claim 16 (depends on 15)

The one or more non-transitory computer readable media of claim 15, further comprising:
storing computer executable instructions that, when executed by at least one processor, cause the at least one processor to electronically store the first virtual hash map.

### Claim 17

An apparatus comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
electronically receive a plurality of payload response attribute data values associated with each of a plurality of executable code requests for a plurality of uniform resource network nodes;
electronically parse the plurality of payload response attribute data values; and
electronically generate a first virtual hash map comprising a mapping between each of the plurality of payload response attribute data values and each of the plurality of executable code requests.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein one or more of the plurality of uniform resource network nodes are associated with Simple Object Access Protocol (SOAP) or Representational State Transfer (REST) protocol.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein the memory storing instructions, when executed by the one or more processors, further cause the apparatus to compare the first virtual hash map to a second virtual hash map.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the memory storing instructions, when executed by the one or more processors, further cause the apparatus to:
cause the one or more processors to store a key value pair based on the difference.
