IP Library Granted Patent US 11,281,462
Granted Patent B1
US 11,281,462 · App. 17/097,138 · Granted Mar 22, 2022

Rule-based scoring for APIs

Inventors: Ignacio Agustin Manzano (Buenos Aires, AR); Guillermo Coscarelli (Buenos Aires, AR); Antonio Garrote (London, GB); Fernando Alberto Zavalia Paunero (Buenos Aires, AR); Agustin Lopez Gabeiras (Buenos Aires, AR); Pedro Colunga (Buenos Aires, AR)
Assignee: salesforce.com, inc.
G06F8/77G06F8/10G06F9/547
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,281,462
App. No.
17/097,138
Granted
Mar 22, 2022
Kind
B1
Abstract

Disclosed herein are system, method, and computer program product embodiments for facilitating access to and incorporation of APIs within an application during development, while ensuring that the API satisfies quality constraints. These quality constraints are controlled by the application of rules, which result in a maturity score for the API, in accordance with embodiments. These rules may be provided by a variety of sources for use in scoring the API at various stages. For example, a developer group may control access to developers within the group by applying a ruleset that restricts APIs for applications written by the developer group to a threshold score. This threshold score can limit or restrict APIs that are offered to a developer by an API exchange. Additionally, a ruleset may be applied to enforce a minimum score for submission of an API for inclusion within an API exchange.

Claims (41)

1. A method, comprising:

executing, by one or more computing devices, a ruleset against an application programming interface (API) specification corresponding to a backend application to determine a maturity score for the API specification, wherein a first rule of the ruleset is applied to a types section of the API specification to compute a median score for the types section of the API specification, wherein a second rule of the ruleset is applied to an endpoint section of the API specification to compute a median score for the endpoint section of the API specification, and wherein the maturity score for the API specification is computed by a weighted average of the median score for the types section of the API specification and the median score for the endpoint section of the API specification; and

publishing, by the one or more computing devices, the maturity score for the API specification.

2. The method of claim 1 , wherein the maturity score for the API specification is based on a plurality of weights, and wherein a respective weight of the plurality of weights corresponds to an individual section of the API specification.

3. The method of claim 1 , further comprising:

receiving, by the one or more computing devices, the ruleset from a developer account; and

selecting, by the one or more computing devices, the ruleset for the executing based on a request by the developer account for the API specification.

4. The method of claim 1 , further comprising:

receiving, by the one or more computing devices, a search request for an API; and

providing, by the one or more computing devices, a response to the search request for the API that includes the API specification based on the maturity score for the API specification satisfying a threshold.

5. The method of claim 1 , further comprising:

receiving, by the one or more computing devices, the API specification for distribution; and

accepting, by the one or more computing devices, the API specification for distribution based on the maturity score for the API specification satisfying a threshold.

6. A system, comprising:

a memory configured to store operations; and

one or more processors configured to perform the operations, the operations comprising:

executing a ruleset against an application programming interface (API) specification corresponding to a backend application to determine a maturity score for the API specification, wherein a first rule of the ruleset is applied to a types section of the API specification to compute a median score for the types section of the API specification, wherein a second rule of the ruleset is applied to an endpoint section of the API specification to compute a median score for the endpoint section of the API specification, and wherein the maturity score for the API specification is computed by a weighted average of the median score for the types section of the API specification and the median score for the endpoint section of the API specification; and

publishing the maturity score for the API specification.

7. The system of claim 6 , wherein the maturity score for the API specification is based on a plurality of weights, and wherein a respective weight of the plurality of weights corresponds to an individual section of the API specification.

8. The system of claim 6 , the operations further comprising:

receiving the ruleset from a developer account; and

selecting the ruleset for the executing based on a request by the developer account for the API specification.

9. The system of claim 6 , the operations further comprising:

receiving a search request for an API; and

providing a response to the search request for the API that includes the API specification based on the maturity score for the API specification satisfying a threshold.

10. The system of claim 6 , the operations further comprising:

receiving the API specification for distribution; and

accepting the API specification for distribution based on the maturity score for the API specification satisfying a threshold.

11. A non-transitory computer readable storage device having instructions stored thereon, execution of which, by one or more processing devices, causes the one or more processing devices to perform operations comprising:

executing a ruleset against an application programming interface (API) specification corresponding to a backend application to determine a maturity score for the API specification, wherein a first rule of the ruleset is applied to a types section of the API specification to compute a median score for the types section of the API specification, wherein a second rule of the ruleset is applied to an endpoint section of the API specification to compute a median score for the endpoint section of the API specification, and wherein the maturity score for the API specification is computed by a weighted average of the median score for the types section of the API specification and the median score for the endpoint section of the API specification; and

publishing the maturity score for the API specification.

12. The non-transitory computer readable storage device of claim 11 , wherein the maturity score for the API specification is based on a plurality of weights, and wherein a respective weight of the plurality of weights corresponds to an individual section of the API specification.

13. The non-transitory computer readable storage device of claim 11 , the operations further comprising:

receiving the ruleset from a developer account; and

selecting the ruleset for the executing based on a request by the developer account for the API specification.

14. The non-transitory computer readable storage device of claim 11 , the operations further comprising:

receiving a search request for an API; and

providing a response to the search request for the API that includes the API specification based on the maturity score for the API specification satisfying a threshold.

15. The non-transitory computer readable storage device of claim 11 , the operations further comprising:

receiving the API specification for distribution; and

accepting the API specification for distribution based on the maturity score for the API specification satisfying a threshold.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: MANZANO, IGNACIO AGUSTIN; COSCARELLI, GUILLERMO; GARROTE, ANTONIO; PAUNERO, FERNANDO ALBERTO ZAVALIA; GABEIRAS, AGUSTIN LOPEZ; COLUNGA, PEDRO
To: SALESFORCE.COM, INC.
Reel/Frame 054358/0932 →