API Evangelist API Evangelist
API Learnings
APIs
API Governance
API Solutions
API Discovery
API Building Blocks
API Evangelist LLC

Rules
info
share_location

search
rule

APIs.json APIs AID Error

Every API should have a unique identifier, known as an AID (API Identifier). The APIs.json file, contract, or collection contains its own AID, which the API uses as part of its reference. Additiona...

rule

APIs.json APIs AID Info

Every API should have a unique identifier, known as an AID (API Identifier). The APIs.json file, contract, or collection contains its own AID, which the API uses as part of its reference. Additiona...

rule

APIs.json Apis Base URL Error

Each API defined within an APIs.json artifact can specify the base URL for the API. This URL serves as a reference point for developers during onboarding and when making API calls. Additionally, it...

rule

APIs.json Apis BaseURL Info

Each API defined within an APIs.json artifact can specify the base URL for the API. This URL serves as a reference point for developers during onboarding and when making API calls. Additionally, it...

rule

APIs.json Apis Contact Email Error

The contact object in an APIs.json file allows for referencing the email address of a person or group. This property provides a convenient way for users to seek support for an API, using email as t...

rule

APIs.json Apis Contact Email Info

The contact object in an APIs.json file allows for referencing the email address of a person or group. This property provides a convenient way for users to seek support for an API, using email as t...

rule

APIs.json Apis Contact Error

The contact object in an APIs.json file allows for associating a vCard that represents an individual or organizational entity. It includes common contact information such as a name, email, or other...

rule

APIs.json Apis Contact Fn Error

The contact object in an APIs.json file includes a full name (FN) property, which specifies the formatted text corresponding to the contact name in the vCard for an API. This provides a quick and c...

rule

APIs.json Apis Contact Fn Info

The contact object in an APIs.json file includes a full name (FN) property, which specifies the formatted text corresponding to the contact name in the vCard for an API. This provides a quick and c...

rule

APIs.json APIs Contact Info

The contact object in an APIs.json file allows for associating a vCard that represents an individual or organizational entity. It includes common contact information such as a name, email, or other...

rule

APIs.json APIs Description Info

Each API included in an APIs.json file should have a 1-3 paragraph description. This description serves as the first impression for potential consumers and is often displayed in portals, networks, ...

rule

APIs.json APIs Human URL Info

The humanURL property for each API defined in an APIs.json contract provides a link for business or technical consumers to learn more about the API. This URL can direct users to a portal, documenta...

rule

APIs.json Apis Image Info

Each API defined within an APIs.json file can include a dedicated image, offering a visual representation of the resource or capability it provides. This enhances the API's approachability and visu...

rule

APIs.json APIs Info

The APIs property in an APIs.json file enables the definition of one or more APIs as part of a larger collection. Each API within this property has its own subset of metadata, allowing it to be uni...

rule

APIs.json APIs Name Info

Each individual API in an APIs.json collection has its own name property, allowing for a clear description of the API. This name might match the API's title in the OpenAPI Info section, but it coul...

rule

APIs.json Apis Properties About Info

This property ensures provides a reference to an about page, either for the company, organization, or government agency behind an API, or specifically about the domain, team, and the APIs they produce

rule

APIs.json Apis Properties APIOps Cycles Business Impact Canvas

This ensures that an API has had the [APIOps Business Impact Canvas](https://www.apiopscycles.com/resources/business-impact-canvas) applied to the API, requiring that the canvas is present in the r...

rule

APIs.json Apis Properties APIOps Cycles Business Model Canvas

This ensures that an API has had the [APIOps Business Model Canvas](https://www.apiopscycles.com/resources/api-business-model-canvas) applied to the API, requiring that the canvas is present in the...

rule

APIs.json Apis Properties APIOps Cycles Capacity Canvas

This ensures that an API has had the [APIOps Capacity Canvas](https://www.apiopscycles.com/resources/capacity-canvas) applied to the API, requiring that the canvas is present in the repository and ...

rule

APIs.json Apis Properties APIOps Cycles Customer Journey Canvas

This ensures that an API has had the [APIOps Customer Journey Canvas](https://www.apiopscycles.com/resources/customer-journey-canvas) applied to the API, requiring that the canvas is present in the...

rule

APIs.json Apis Properties APIOps Cycles Domain Canvas

This ensures that an API has had the [APIOps Domain Canvas](https://www.apiopscycles.com/resources/domain-canvas) applied to the API, requiring that the canvas is present in the repository and regi...

rule

APIs.json Apis Properties APIOps Cycles Event Canvas

This ensures that an API has had the [APIOps Event Canvas](https://www.apiopscycles.com/resources/event-canvas) applied to the API, requiring that the canvas is present in the repository and regist...

rule

APIs.json Apis Properties APIOps Cycles Interaction Canvas

This ensures that an API has had the [APIOps Interaction Canvas](https://www.apiopscycles.com/resources/interaction-canvas) applied to the API, requiring that the canvas is present in the repositor...

rule

APIs.json Apis Properties APIOps Cycles Locations Canvas

This ensures that an API has had the [APIOps Locations Canvas](https://www.apiopscycles.com/resources/locations-canvas) applied to the API, requiring that the canvas is present in the repository an...

rule

APIs.json Apis Properties APIOps Cycles Locations Canvas

This ensures that an API has had the [APIOps Locations Canvas](https://www.apiopscycles.com/resources/rest-canvas) applied to the API, requiring that the canvas is present in the repository and reg...

rule

APIs.json Apis Properties APIOps Cycles Value Proposition Canvas

This ensures that an API has had the [APIOps Value Proposition Canvas](https://www.apiopscycles.com/resources/api-value-proposition-canvas) applied to the API, requiring that the canvas is present ...

rule

APIs.json Apis Properties Apis Json Rules Info

This property ensures that an API has operational level rules for APIs

rule

APIs.json Apis Properties Apis Json Validator Info

This property ensures that there is a link to the validator for the APIs

rule

APIs.json Apis Properties Authentication Info

This property ensures that there is a human readable authentication page available that will provide what type of authentication is used and how it can be applied, as well as any services or toolin...

rule

APIs.json Apis Properties Blog Feed Info

This property ensures that blogs in support of APIs have an Atom or RSS feed of posts, allowing for the syndication of updates and information around individual APIs and the operations around them

rule

APIs.json Apis Properties Blog Info

This property ensures that an API has a reference to a blog where anyone can find updates and other stories that will help keep API consumers and other stakeholders up to speed on what is happening...

rule

APIs.json Apis Properties Change Log Info

This property ensures that than an individual API or API operations possesses a change log that catalogs all the changes that have occurred in a recent time frame, with historical and version infor...

rule

APIs.json Apis Properties Compare Info

This property ensures that an API has the ability to compare two different versions of an API and see what the difference are between them

rule

APIs.json Apis Properties Deprecation Policy Info

This property ensures that an API has a deprecation policy shared as part of the contract, communicating what the lifespan of APIs are, each individual version, as well as communication around the ...

rule

APIs.json Apis Properties Documentation Info

This property ensures that there is documentation published for an API, and API consumers will have a set of human-readable instructions for onboarding and integrating with HTTP APIs in their appli...

rule

APIs.json Apis Properties Environments Production Info

This property ensures that there is a production environment available for an API, providing base URL, tokens, keys, and other key / value pairs that are needed to integrate with an API

rule

APIs.json Apis Properties Environments Staging Info

This property ensures that there is a staging environment available for an API, providing base URL, tokens, keys, and other key / value pairs that are needed to integrate with an API

rule

APIs.json API Properties Examples Info

This property ensures that an API has a reference to a examples for individual APIs or as part of common properties, providing examples and synthentic data that can be used for APIs.

rule

APIs.json Apis Properties Feedback Email Info

This property ensures that there is an email available for API consumers to provide feedback

rule

APIs.json Apis Properties Feedback Issues Info

This property ensures there is a URL to Git issues specifically for providing feedback

rule

APIs.json Apis Properties Forum Info

This property ensures that there is a link to a discussion forum, providing a way for consumers and producers to engage and support either other throughout the lifecycle

rule

APIs.json Apis Properties Gateway Info

This property ensures that there is a reference to the gateway for an API, referencing where you can manage the configuration for each API

rule

APIs.json Apis Properties Getting Started Info

This property ensures that there is a getting started link available, providing a reference for API consumers to get started with an API is as few steps as possible

rule

APIs.json Apis Properties Github Action Info

This property ensures that a GitHub Actions CI/CD pipeline is available for an API, providing a link to the pipeline YAML artifact, which can be used to automate and govern the API as part of the b...

rule

APIs.json Apis Properties Github Organization Info

This property ensures that an API is associated with GitHub organization, providing the URL to where you can engage with the operations surrounding an API

rule

APIs.json Apis Properties Github Repository Info

This property ensures that an API possess a reference to a dedicated GitHub repository that is used to manage the Open, but also possible server and client code

rule

APIs.json APIs Properties Info

Each individual API included in an APIs.json file can have a properties collection, which contains specific properties relevant to that API. These properties often start with human-readable element...

rule

APIs.json Apis Properties Insomnia Collection Info

This property defines an Insomnia collection available for each API, providing executable artifacts that can be used in the Insomnia client for making calls, and executing automation workflows

rule

APIs.json Apis Properties License Info

This property ensures that an API Commons interface license exists for an API, providing a machine-readable reference for an API, as well as data, backend, and front-end code

rule

APIs.json Apis Properties Lifecycle Info

This property makes sure there is an API lifecycle schema defining all of the stages of a lifecycle and which policies get applied at each stage of the API lifecycle

rule

APIs.json API Properties Mock Server Info

This property ensures that an API has a reference to a mock servers for individual APIs or as part of common properties, providing mocked deployments of an API that can be used for making test API ...

rule

APIs.json Apis Properties OpenAPI Info

This property ensures that there is an OpenAPI present for an API, providing the technical contract that describes the surface area of an API

rule

APIs.json Apis Properties OpenAPI Rules Info

This property ensures that an OpenAPI has support governance rules, that can be applied during design time via editors, development time via IDE, and run-time via CI/CD pipelines

rule

APIs.json Apis Properties OpenAPI Validator Info

This property ensures that there is a link to the validator for the OpenAPI technical contract, allowing anyone to see the details of governance being applied

rule

APIs.json Apis Properties Performance Info

This property ensures that an API has performance testing in place, providing a URL to the performance testing, dashboard, or other resource

rule

APIs.json Apis Properties Plans Info

This property provides a link to the dedicated plans page that applies to an API, providing information about access tiers, rate limits, and features available for an API as part of a wider API bus...

rule

APIs.json Apis Properties Policies Info

This property ensures there is a governance policies reference as part of an API contract, usually a common property pointing to a centralized set of policies that get applied

rule

APIs.json Apis Properties Portal Info

This property ensures there a developer portal associated with an API and that you can find a landing page for the API, documentation, SDKs, and other resources

rule

APIs.json Apis Properties Postman Collection Info

This property ensures that an API has at least one Postman Collection associated with it, providing automation, tests, and other executable derivatives of an APIs OpenAPI

rule

APIs.json Apis Properties Postman Public Workspace Info

This property ensures that an API is associated with a Postman Workspace, providing a single location that API producers and/or API consumers can engage around an API

rule

APIs.json Apis Properties Pricing Info

This property provides a link to a pricing page that applies to an API, providing a breakdown of the costs associated with using an API

rule

APIs.json Apis Properties Privacy Policy Info

This property provides a link to the privacy policy for an API, providing the legal details of how privacy is approached for each API

rule

APIs.json Apis Properties Questions Issues Info

This property ensures that an API has a dedicated link to Git issues for asking questions

rule

APIs.json Apis Properties Rate Limits Info

This property ensures there is an API rate limits reference associated with API, ensuring the rate limits applied to an API are clearly communicated

rule

APIs.json Apis Properties Road Map Info

This property ensures there is a reference to the road map for an API or for the entire API operations within domain, line of business, or teams

rule

APIs.json Apis Properties Rules Info

This property ensures that an API has governance rules applied, usually as part of a central set of governance rules, defined by policy, or stages of the API lifecycle

rule

APIs.json API Properties Sandbox Info

This property ensures that an API has a reference to a sandbox for individual APIs or as part of common properties, providing sandbox, synthetic data, and mock servers for use in making test requests.

rule

APIs.json Apis Properties Sdk Go Info

This property ensures that there is a Go SDK available for an API, making it easier for Go developers to integrate an API into their applications

rule

APIs.json Apis Properties Sdk Info

This property ensures that there is an SDK available for an API, making it easier for developers to integrate an API into their applications

rule

APIs.json Apis Properties Sdk Java Info

This property ensures that there is a Java SDK available for an API, making it easier for Java developers to integrate an API into their applications

rule

APIs.json Apis Properties Sdk Node Info

This property ensures that there is a Node SDK available for an API, making it easier for Node developers to integrate an API into their applications

rule

APIs.json Apis Properties Sdk Python Info

This property ensures that there is a Python SDK available for an API, making it easier for Python developers to integrate an API into their applications

rule

APIs.json Apis Properties Security Info

This property ensures there is a URL to the security page, providing details about how security is handled for an API

rule

APIs.json Apis Properties Signup Info

This property ensures there is a link to where you sign up for an API, making sure API consumers can access in a single click

rule

APIs.json Apis Properties Status Info

This property ensures that there is a status page available for each API, providing the uptime status for any given moment, as well as historical data

rule

APIs.json Apis Properties Support Email Info

This property ensures that an API has email support, providing a valid email address that can be used to get API support

rule

APIs.json Apis Properties Support Issues Info

This property ensures that there are Git issues available to support an API, using the issues capability of GitHub, GitLab, or Bitbucket to support API consumers

rule

APIs.json Apis Properties Support Support Info

This property ensures that there is a support page available for an API, providing direct and in-direct support opportunities for each API or for entire API platform

rule

APIs.json Apis Properties Teams Info

This property ensures that there is a reference to the team behind an API, providing a reference to business and engineering stakeholders

rule

APIs.json Apis Properties Terms Of Service Info

This property ensures that an API has a reference to a terms of service, covering the legal side of using an API

rule

APIs.json Apis Properties Url Info

This property ensures that properties of an API or API contract all have valid URLs, checking if any of the URLs are not properly formed, or could be other formats

rule

APIs.json Apis Properties Use Cases Info

This property ensures there is a reference to the use cases for an API, helping align an API with the who, what, how, and why of putting an API to work

rule

APIs.json Apis Properties Versioning Info

This property ensures there is a reference to how APIs are versioned, providing a single place where teams can learn about how change is communicated

rule

APIs.json Apis Properties Video Info

This property ensures there is a reference to a video page or channel for an API

rule

APIs.json Apis Properties Vocabulary Info

This property ensures that there is a centralized vocabulary in use for guiding the creation and usage of tags, path segments, and other metadata associated with an APIs

rule

APIs.json Apis Tags Error

Each API defined in an APIs.json artifact includes a property for adding one or more tags. These tags provide additional context about the resources or capabilities offered by the API, highlighting...

rule

APIs.json Apis Tags Info

Each API defined in an APIs.json artifact includes a property for adding one or more tags. These tags provide additional context about the resources or capabilities offered by the API, highlighting...

rule

APIs.json Apis Tags Upper Case Error

Maintaining consistent casing for tags applied to individual APIs ensures a uniform appearance and enhances search and discovery. Each word in a tag should be capitalized, with the first letter of ...

rule

APIs.json Apis Tags Upper Case Info

Maintaining consistent casing for tags applied to individual APIs ensures a uniform appearance and enhances search and discovery. Each word in a tag should be capitalized, with the first letter of ...

rule

APIs.json Common Info

An APIs.json artifact can include a set of common properties that describe aspects of API operations shared across multiple APIs in a collection. These common properties are typically managed by a ...

rule

APIs.json Created Info

The created property in an APIs.json contract might seem like a minor detail, but it serves an important purpose by providing a timestamp that marks the origin of the intent to offer an interface f...

rule

APIs.json Description Info

Every collection of APIs defined in APIs.json should include a one- or two-paragraph description outlining the purpose of the APIs. While individual APIs should have their own descriptions, the col...

rule

APIs.json Image Info

APIs.json contracts are often used to power discover and distribute as part of API catalogs and marketplaces. These are places where having a visual representation matching the purpose of a collect...

rule

APIs.json Maintainers Email Info

The maintainers email is to provide a quick way to contact the maintainer of an APIs

rule

APIs.json Maintainers Fn Info

The purpose of the FN is to specify the formatted text corresponding to the contact name in the vCard for an APIs

rule

APIs.json Maintainers Info

The maintainers property is for identifying the entity who is maintaining an APIs

rule

APIs.json Modified Info

The modified property in an APIs.json collection indicates the most recent updates made to a group of APIs. While detailed change logs can provide more specifics, an accurate and up-to-date modifie...

rule

APIs.json Name Info

The name of a collection of APIs should describe their purpose, target audience, and the problems they aim to solve. While individual APIs should have their own specific names, the name in the APIs...

rule

APIs.json Specification AID Info

Every collection of APIs should have a unique identifier. This unique API identifier, or AID, serves as a human and machine-readable reference for organizing and managing various APIs. Similar to a...

rule

APIs.json Type Info

The type property in an APIs.json file classifies the business contracts for different types of API collections. It can represent a simple index for a single API, a template or example to showcase ...

rule

APIs.json Version Info

The specification version of an APIs.json collection indicates which version of the APIs.json specification is being used. This ensures compatibility and allows for the validation of new properties...

rule

APIs.json Tags Info

Each collection of APIs defined in an APIs.json artifact includes a property for adding one or more tags. These tags provide additional context about the resources or capabilities offered as part o...

rule

APIs.json Tags Upper Case Error

Maintaining consistent casing for tags applied to APIs.json contracts ensures a uniform appearance and enhances search and discovery. Each word in a tag should be capitalized, with the first letter...

rule

APIs.json Tags Upper Case Info

Maintaining consistent casing for tags applied to APIs.json contracts ensures a uniform appearance and enhances search and discovery. Each word in a tag should be capitalized, with the first letter...

rule

APIs.json Url Info

The top-level URL in an APIs.json file contains a fully qualified link to where the APIs.json file is published. This URL serves as a reference for the API collection and can also be validated. Whe...

rule

AsyncAPI Channel Parameters Examples

AsyncAPI channel parameters should include examples to support mocking, testing, and documentation. Examples help consumers understand expected parameter values for channel subscriptions.

rule

AsyncAPI Message Examples

AsyncAPI messages should include examples to support event-driven API mocking, testing, and documentation. Examples help consumers understand message payloads and enable tools to generate realistic...

rule

JSON Schema Draft 2020-12 Description Error

Each JSON Schema object MUST include a description that explains, in plain language, the purpose and function of the object. This description should provide a clear overview of how the object is in...

rule

JSON Schema Draft 2020-12 Description Info

Each JSON Schema object MUST include a description that explains, in plain language, the purpose and function of the object. This description should provide a clear overview of how the object is in...

rule

JSON Schema Draft 2020-12 Description Length Error

The description for any JSON Schema object should be concise, ensuring it remains easy to read and understand for anyone using or interpreting it. This approach helps keep the schema self-contained...

rule

JSON Schema Draft 2020-12 Description Length Info

The description for any JSON Schema object should be concise, ensuring it remains easy to read and understand for anyone using or interpreting it. This approach helps keep the schema self-contained...

rule

JSON Schema Draft 2020-12 ID Error

Each JSON Schema object MUST have a unique identifier, represented as a URL pointing to its location. The $id property in JSON Schema is used to establish the source of truth for any object being d...

rule

JSON Schema Draft 2020-12 ID Info

Each JSON Schema object MUST have a unique identifier, represented as a URL pointing to its location. The $id property in JSON Schema is used to establish the source of truth for any object being d...

rule

JSON Schema Draft 2020-12 ID Source URL Error

The $id property in any JSON Schema MUST contain a valid URL pointing to a central registry, repository, or another authoritative source for the object. This URL ensures that the object's source is...

rule

JSON Schema Draft 2020-12 ID Source URL Info

The $id property in any JSON Schema MUST contain a valid URL pointing to a central registry, repository, or another authoritative source for the object. This URL ensures that the object's source is...

rule

JSON Schema Draft 2020-12 Properties Allowed Integer Format Error

Schema integer properties should have a format property with int32 or int64 applied

rule

JSON Schema Draft 2020-12 Properties Allowed Number Format Error

Schema integer properties should have a format property with int32 or int64 applied

rule

JSON Schema Draft 2020-12 Properties Array Items Error

Schema properties that are of the type array must have an items property defined

rule

JSON Schema Draft 2020-12 Properties Array Items Info

Schema properties that are of the type array must have an items property defined

rule

JSON Schema Draft 2020-12 Properties Array Maxitems Error

Schema properties that are of the type array should have a max items property defined

rule

JSON Schema Draft 2020-12 Properties Array Maxitems Info

Schema properties that are of the type array should have a max items property defined

rule

JSON Schema Draft 2020-12 Properties Array Minitems Error

Schema properties that are of the type array should have a min items property defined

rule

JSON Schema Draft 2020-12 Properties Array Minitems Info

Schema properties that are of the type array should have a min items property defined

rule

JSON Schema Draft 2020-12 Properties Define Number Maximum Error

Schema properties that are of the type number should have a maximum property defined

rule

JSON Schema Draft 2020-12 Properties Define Number Minimum Error

Schema properties that are of the type number should have a minimum property defined

rule

JSON Schema Draft 2020-12 Properties Descriptions Error

Schema properties should have descriptions that provide a narrative of the property contains, and how it can be used

rule

JSON Schema Draft 2020-12 Properties Descriptions Info

Schema properties should have descriptions that provide a narrative of the property contains, and how it can be used

rule

JSON Schema Draft 2020-12 Properties Descriptions Length Error

Schema property descriptions should have a length limit applied, applying constraints to writing descriptions, and keeping consistent across APIs

rule

JSON Schema Draft 2020-12 Properties Enum Casing Error

Schema property enumerators are consistent casing, keeping all entries upper snake case, and consistent across all APIs

rule

JSON Schema Draft 2020-12 Properties Enum Casing Info

Schema property enumerators are consistent casing, keeping all entries upper snake case, and consistent across all APIs

rule

JSON Schema Draft 2020-12 Properties Enum Info

Schema property has enumerators, providing consistent values chosen by consumers when making requests

rule

JSON Schema Draft 2020-12 Properties Error

Schema has properties, providing more detail regarding the structure of each schema being applied as part of a request or a response

rule

JSON Schema Draft 2020-12 Properties Info

Schema has properties, providing more detail regarding the structure of each schema being applied as part of a request or a response

rule

JSON Schema Draft 2020-12 Properties Names Camel Case Error

Schema property names are camel case, providing consistent casing across all the schema properties used by APIs

rule

JSON Schema Draft 2020-12 Properties Names Camel Case Info

Schema property names are camel case, providing consistent casing across all the schema properties used by APIs

rule

JSON Schema Draft 2020-12 Properties Names Length Error

Schema property names have a length restriction applied, keeping names consistent, and avoiding being too long

rule

JSON Schema Draft 2020-12 Properties String Maxlength Error

Schema properties that are of the string type have the max length applied defining the shape of the property

rule

JSON Schema Draft 2020-12 Properties String Maxlength Info

Schema properties that are of the string type have the max length applied defining the shape of the property

rule

JSON Schema Draft 2020-12 Properties String Minlength Error

Schema properties that are of the string type have the min length applied defining the shape of the property

rule

JSON Schema Draft 2020-12 Properties String Minlength Info

Schema properties that are of the string type have the min length applied defining the shape of the property

rule

JSON Schema Draft 2020-12 Required Error

All JSON Schema objects should explicitly define their properties and include at least one required property. Defining required properties enhances the accuracy and reliability of validation for ea...

rule

JSON Schema Draft 2020-12 Required Info

All JSON Schema objects should explicitly define their properties and include at least one required property. Defining required properties enhances the accuracy and reliability of validation for ea...

rule

JSON Schema Draft 2020-12 Schema Draft Error

The $schema property in a JSON Schema MUST always reference the latest draft of the specification to ensure consistent validation across all objects. Using the most up-to-date version of the specif...

rule

JSON Schema Draft 2020-12 Schema Draft Info

The $schema property in a JSON Schema MUST always reference the latest draft of the specification to ensure consistent validation across all objects. Using the most up-to-date version of the specif...

rule

JSON Schema Draft 2020-12 Schema Error

JSON Schema objects should always include the $schema property to explicitly indicate which version of the specification is being used. This property is essential for tooling and should consistentl...

rule

JSON Schema Draft 2020-12 Schema Info

JSON Schema objects should always include the $schema property to explicitly indicate which version of the specification is being used. This property is essential for tooling and should consistentl...

rule

JSON Schema Draft 2020-12 Title Error

JSON Schema objects MUST include a title property that describes the object in plain language while reflecting the object's file name. The title should convey the object's content and purpose, prov...

rule

JSON Schema Draft 2020-12 Title Info

JSON Schema objects MUST include a title property that describes the object in plain language while reflecting the object's file name. The title should convey the object's content and purpose, prov...

rule

JSON Schema Draft 2020-12 Title Length Error

The title of JSON Schema objects should be concise yet accurately describe the object's purpose. Keeping the title short ensures clarity and minimizes downstream impact on other items using the obj...

rule

JSON Schema Draft 2020-12 Title Length info

The title of JSON Schema objects should be concise yet accurately describe the object's purpose. Keeping the title short ensures clarity and minimizes downstream impact on other items using the obj...

rule

JSON Schema Draft 2020-12 Title Pascal Case Error

The name of a JSON Schema object should always be in PascalCase to ensure readability and consistency across APIs. Using PascalCase helps maintain uniformity and aligns the object's name with its p...

rule

JSON Schema Draft 2020-12 Title Pascal Case Info

The name of a JSON Schema object should always be in PascalCase to ensure readability and consistency across APIs. Using PascalCase helps maintain uniformity and aligns the object's name with its p...

rule

JSON Schema Draft 2020-12 Type Error

JSON Schema objects should explicitly define their type, ensuring clarity about each object's structure. This allows tools utilizing the schema to accurately validate the object wherever it is appl...

rule

JSON Schema Draft 2020-12 Type Info

JSON Schema objects should explicitly define their type, ensuring clarity about each object's structure. This allows tools utilizing the schema to accurately validate the object wherever it is appl...

rule

OpenAPI Components Examples Error

Utilizing an example object in the centralized OpenAPI components library helps make examples reusable across API requests and responses

rule

OpenAPI Components Examples Info

Utilizing an example object in the centralized OpenAPI components library helps make examples reusable across API requests and responses

rule

OpenAPI Components Headers Error

Utilizing the headers object in the centralized OpenAPI components library helps make headers reusable across API requests and responses

rule

OpenAPI Components Headers Info

Utilizing the headers object in the centralized OpenAPI components library helps make headers reusable across API requests and responses

rule

OpenAPI Components Headers Rate Limit Error

Utilizing centralized headers rate limits allows you to reuse headers across all API requests and responses, enabling a more organized approach to handling the transport and rate limits applied con...

rule

OpenAPI Components Headers Rate Limit Info

Utilizing centralized headers rate limits allows you to reuse headers across all API requests and responses, enabling a more organized approach to handling the transport and rate limits applied con...

rule

OpenAPI Components Headers Retry After Error

Utilizing centralized retry after headers allows you to reuse headers across all API requests and responses, enabling a more organized approach to handling the transport and rate limiting applied c...

rule

OpenAPI Components Headers Retry After Info

Utilizing centralized retry after headers allows you to reuse headers across all API requests and responses, enabling a more organized approach to handling the transport and rate limiting applied c...

rule

OpenAPI Components Parameters Casing Camel Error

Providing parameters with consistent naming helps make it easier for API consumers to understand how they are able to configure their API requests

rule

OpenAPI Components Parameters Casing Camel Info

Providing parameters with consistent naming helps make it easier for API consumers to understand how they are able to configure their API requests

rule

OpenAPI Components Parameters Description Error

Having a parameters description provides more depth to what a parameter does and will be displayed via documentation, and other tooling used across the API lifecycle

rule

OpenAPI Components Parameters Description Info

Having a parameters description provides more depth to what a parameter does and will be displayed via documentation, and other tooling used across the API lifecycle

rule

OpenAPI Components Parameters Description Length Error

Limiting the length of parameters description forces us to be more concise in how we describe each parameter, while keeping our documentation and other ways descriptions show up in discovery and po...

rule

OpenAPI Components Parameters Enum Casing Error

Keeping parameters enumerator casing consistent across APIs helps reduce confusion by consumers, and can keep aligned with services and applications putting an API to work

rule

OpenAPI Components Parameters Enum Casing Info

Keeping parameters enumerator casing consistent across APIs helps reduce confusion by consumers, and can keep aligned with services and applications putting an API to work

rule

OpenAPI Components Parameters Enum Info

Providing enums for your parameters helps reduce errors and keeps the inputs for your API requests more consistent for consumers

rule

OpenAPI Components Parameters Error

Having a components parameters object allows all parameters used across an API to be centralized, allowing for reuse and easier governance of the parameters used to configure API requests

rule

OpenAPI Components Parameters Example Error

Parameters must always possess a example to help define the format and shape of the parameter, setting expections with consumers about what should be passed in

rule

OpenAPI Components Parameters Example Info

Parameters must always possess a example to help define the format and shape of the parameter, setting expections with consumers about what should be passed in

rule

OpenAPI Components Parameters In Error

Providing an in property for parameters gets explicit about whether a parameter is in the path, query, or a header, making it clear to consumers where they can configure their request

rule

OpenAPI Components Parameters In Info

Providing an in property for parameters gets explicit about whether a parameter is in the path, query, or a header, making it clear to consumers where they can configure their request

rule

OpenAPI Components Parameters Info

Having a components parameters object allows all parameters used across an API to be centralized, allowing for reuse and easier governance of the parameters used to configure API requests

rule

OpenAPI Components Parameters Name Error

Providing a simple, intuitive, and consistent names for your parameters helps make it easier for API consumers to understand how they are able to configure their API requests

rule

OpenAPI Components Parameters Name Info

Providing a simple, intuitive, and consistent names for your parameters helps make it easier for API consumers to understand how they are able to configure their API requests

rule

OpenAPI Components Parameters Name Length Error

Providing short and concise names for your parameters helps make it easier for API consumers to understand how they are able to configure their API requests

rule

OpenAPI Components Parameters Required Error

Providrequiredg an required property for parameters gets explicit about whether a parameter is required the path, query, or a header, making it clear to consumers where they can configure their req...

rule

OpenAPI Components Parameters Required Info

Providrequiredg an required property for parameters gets explicit about whether a parameter is required the path, query, or a header, makrequiredg it clear to consumers where they can configure the...

rule

OpenAPI Components Parameters Schema Error

Parameters must always possess a schema to help define the format and shape of the parameter, setting expections with consumers about what should be passed in

rule

OpenAPI Components Parameters Schema Info

Parameters must always possess a schema to help define the format and shape of the parameter, setting expections with consumers about what should be passed in

rule

OpenAPI Components Parameters Schema Items Array Error

Parameters that are of an array type should always have the items defined, being explicit about what is continued as part of the array

rule

OpenAPI Components Parameters Schema Items Array Info

Parameters that are of an array type should always have the items defined, being explicit about what is continued as part of the array

rule

OpenAPI Components Parameters Schema Ref Error

Parameters must always use a schema reference that utilizes reusable schema that are defined as part of a centralized schema components library

rule

OpenAPI Components Parameters Schema Ref Info

Parameters must always use a schema reference that utilizes reusable schema that are defined as part of a centralized schema components library

rule

OpenAPI Components Parameters Schema Type Error

Parameters must always have their schema type defined, being precise about what type of data can be inputted and used to configure an API request

rule

OpenAPI Components Parameters Schema Type Info

Parameters must always have their schema type defined, being precise about what type of data can be inputted and used to configure an API request

rule

OpenAPI Components Parameters Schema Type Integer Maximum Info

Parameters that are of the integer schema type must have their maximum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type Integer Maximum Warn

Parameters that are of the integer schema type must have their maximum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type Integer Minimum Info

Parameters that are of the integer schema type must have their minimum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type Integer Minimum Warn

Parameters that are of the integer schema type must have their minimum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Maxlength Info

Parameters that are of the type string schema type must have their maximum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Maxlength Warn

Parameters that are of the string schema type must have their maximum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Minlength Info

Parameters that are of the string schema type must have their minimum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Minlength Warn

Parameters that are of the string schema type must have their minimum value set, defining the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Pattern Info

Parameters that are of the string schema type must have a pattern set, using a regex to define the shape of parameter data passed in with a request

rule

OpenAPI Components Parameters Schema Type String Pattern Warn

Parameters that are of the string schema type must have a pattern set, using a regex to define the shape of parameter data passed in with a request

rule

OpenAPI Components Responses Bad Request Error

Having a bad request responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Bad Request Info

Having a bad request responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Conflict Error

Having a conflict responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Conflict Info

Having a conflict responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Error

Utilizing the responses object in the centralized OpenAPI components library helps make responses reusable across API requests

rule

OpenAPI Components Responses Forbidden Error

Having a forbidden responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Forbidden Info

Having a forbidden responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Info

Utilizing the responses object in the centralized OpenAPI components library helps make responses reusable across API requests

rule

OpenAPI Components Responses Internal Server Error Error

Having a internal server error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Internal Server Error Info

Having a internal server error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Not Found Error

Having a not found error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Not Found Info

Having a not found error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Too Many Requests Error

Having a too many requests error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Too Many Requests Info

Having a too many requests error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Unauthorized Error

Having a unauthorized error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Responses Unauthorized Info

Having a unauthorized error responses in the centralized OpenAPI components library helps make error responses reusable across API requests

rule

OpenAPI Components Schemas Error

Utilizing the schema object in the centralized OpenAPI components library helps make schema reusable across API requests and responses

rule

OpenAPI Components Schemas Info

Utilizing the schema object in the centralized OpenAPI components library helps make schema reusable across API requests and responses

rule

OpenAPI External Docs Error

Having an external documentation link present in the OpenAPI for an API, makes it easy for API producers or consumers to find their way to the rest of the operations and resources available around ...

rule

OpenAPI External Docs Info

Having an external documentation link present in the OpenAPI for an API, makes it easy for API producers or consumers to find their way to the rest of the operations and resources available around ...

rule

OpenAPI Headers Hyphenated Pascal Case

HTTP headers should follow Hyphenated-Pascal-Case naming convention for consistency and readability, such as Content-Type, X-Request-Id, or Accept-Language.

rule

OpenAPI Info Contact Email Error

Having a contact email address associated with the technical contract ensures that anyone who comes across the API has someone to email and get more information

rule

OpenAPI Info Contact Email Info

Having a contact email address associated with the technical contract ensures that anyone who comes across the API has someone to email and get more information

rule

OpenAPI Info Contact Error

Having a contact object associated with the technical contract ensures that anyone who comes across the API has someone to contact and get more information

rule

OpenAPI Info Contact Info

Having a contact object associated with the technical contract ensures that anyone who comes across the API has someone to contact and get more information

rule

OpenAPI Info Contact Name Error

Having a contact name associated with the technical contract ensures that anyone who comes across the API knows who to contact

rule

OpenAPI Info Contact Name Info

Having a contact name associated with the technical contract ensures that anyone who comes across the API knows who to contact

rule

OpenAPI Info Contact Url Error

Having a contact url associated with the technical contract ensures that anyone who comes across the API knows where to go to contact someone

rule

OpenAPI Info Contact Url Info

Having a contact url associated with the technical contract ensures that anyone who comes across the API knows where to go to contact someone

rule

OpenAPI Info Description Error

Having a detailed description as part of the OpenAPI info object helps describe what a collection of paths and operations does for consumers, providing a short, concise, and relevant couple of para...

rule

OpenAPI Info Description Eval Tag Error

Eval functions MUST not be included in the description of an API, keeping descriptions to just the text that is needed, and relying on the rest of the OpenAPI to describe what is possible.

rule

OpenAPI Info Description Eval Tag Info

Eval functions MUST not be included in the description of an API, keeping descriptions to just the text that is needed, and relying on the rest of the OpenAPI to describe what is possible.

rule

OpenAPI Info Description Info

Having a detailed description as part of the OpenAPI info object helps describe what a collection of paths and operations does for consumers, providing a short, concise, and relevant couple of para...

rule

OpenAPI Info Description Length Error

Having a restriction on the length of the API description expressed as the OpenAPI info description helps provide constraints for consumers when adding a description, and keeps portals, landing pag...

rule

OpenAPI Info Description Script Tag Error

Script tags MUST not be included in the description of an API, keeping descriptions to just the text that is needed, and relying on the rest of the OpenAPI to describe what is possible.

rule

OpenAPI Info Description Script Tag Info

Script tags MUST not be included in the description of an API, keeping descriptions to just the text that is needed, and relying on the rest of the OpenAPI to describe what is possible.

rule

OpenAPI Info Error

Having an info object provides much of the metadata needed for the collection of APIs described in an OpenAPI

rule

OpenAPI Info Info

Having an info object provides much of the metadata needed for the collection of APIs described in an OpenAPI

rule

OpenAPI Info License Error

Having a license associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Identifier Cc By Nc Sa Error

Having a Create Commons CC BY NC SA license associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contrac...

rule

OpenAPI Info License Identifier Cc By Nc Sa Info

Having a Create Commons CC BY NC SA license associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contrac...

rule

OpenAPI Info License Identifier Error

Having a license identifier associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Identifier Info

Having a license identifier associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Info

Having a license associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Name Error

Having a license name associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Name Info

Having a license name associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Url Error

Having a license url associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info License Url Info

Having a license url associated with an OpenAPI using the info licensing property ensures that the legal aspects of licensing the API always travel with the technical contract for an API

rule

OpenAPI Info Terms Of Service Error

Having a terms of service associated with an OpenAPI using the info terms of service property ensures that the legal aspects of legal side of the API always travel with the technical contract for a...

rule

OpenAPI Info Terms Of Service Info

Having a terms of service associated with an OpenAPI using the info terms of service property ensures that the legal aspects of legal side of the API always travel with the technical contract for a...

rule

OpenAPI Info Title Error

Having a intuitive and helpful title for your API using the OpenAPI info title is the first impression you will make on the consumers of your API

rule

OpenAPI Info Title Info

Having a intuitive and helpful title for your API using the OpenAPI info title is the first impression you will make on the consumers of your API

rule

OpenAPI Info Title Length Error

Having a limitation on the length of the title for your API helps provide constraints for teams naming it, but also keep consistent with other APIs from across teams

rule

OpenAPI Info Title Upper Case Error

Having a consistent casing for the title for your API helps provide constraints for teams naming the API, but also keep consistent with other APIs from across teams

rule

OpenAPI Info Title Upper Case Info

Having a consistent casing for the title for your API helps provide constraints for teams naming the API, but also keep consistent with other APIs from across teams

rule

OpenAPI Info Version Error

Publishing a version for your OpenAPI technical contract helps you communicate change with consumers using Semantic or date-based versioning published to the info version property

rule

OpenAPI Info Version Info

Publishing a version for your OpenAPI technical contract helps you communicate change with consumers using Semantic or date-based versioning published to the info version property

rule

OpenAPI Method DELETE Error

DELETE HTTP methods should be available.

rule

OpenAPI Method DELETE Info

DELETE HTTP methods should be available.

rule

OpenAPI Method GET Error

GET HTTP methods should be available.

rule

OpenAPI Method GET Info

GET HTTP methods should be available.

rule

OpenAPI Method POST Error

POST HTTP methods should be available.

rule

OpenAPI Method POST Info

POST HTTP methods should be available.

rule

OpenAPI Method PUT Error

PUT HTTP methods should be available.

rule

OpenAPI Method PUT Info

PUT HTTP methods should be available.

rule

OpenAPI Operation Security Definitions Error

Each API operation should have a security definition referencing the central security scheme express for an OpenAPI

rule

OpenAPI Operation Security Definitions Info

Each API operation should have a security definition referencing the central security scheme express for an OpenAPI

rule

OpenAPI Operation Security Definitions API Keys Error

Each API operation should have a security definition referencing the central security scheme express for an OpenAPI referencing apiKeys property.

rule

OpenAPI Operation Security Definitions API Keys Info

Each API operation should have a security definition referencing the central security scheme express for an OpenAPI referencing apiKeys property.

rule

OpenAPI Operations Description Error

Having a paragraph or two description of each API operation helps API consumers understand what is possible with each API request

rule

OpenAPI Operations Description Info

Having a paragraph or two description of each API operation helps API consumers understand what is possible with each API request

rule

OpenAPI Operations Description Length Error

Having a length limitation for each description of each API operation helps apply constraints to how you describe your APIs, while helping drive consistency across APIs when it comes to search, doc...

rule

OpenAPI Operations Operation Ids Camel Case Error

Operation identifiers provide a unique way to identify each individual API, and requiring them to have consistent casing reduces friction when generating SDKs and automating around APIs

rule

OpenAPI Operations Operation Ids Camel Case Info

Operation identifiers provide a unique way to identify each individual API, and requiring them to have consistent casing reduces friction when generating SDKs and automating around APIs

rule

OpenAPI Operations Operation Ids Special Characters Error

Operation identifiers provide a unique way to identify each individual API, and requiring them to have consistent casing reduces friction when generating SDKs and automating around APIs

rule

OpenAPI Operations Operation Ids Special Characters Info

Operation identifiers provide a unique way to identify each individual API, and requiring them to have consistent casing reduces friction when generating SDKs and automating around APIs.

rule

OpenAPI Operations Operation Ids Error

Operation identifiers provide a unique way to identify each individual API, which then used for SDK generation and other automation

rule

OpenAPI Operations Operation Ids Info

Operation identifiers provide a unique way to identify each individual API, which then used for SDK generation and other automation

rule

OpenAPI Operations POST No Retrieve Verbs

POST operations should not use verbs like retrieve, fetch, get, or read in their summaries. If data retrieval is the goal, a GET method should be used instead to follow RESTful conventions.

rule

OpenAPI Operations Summary Error

Having short and intuitive summary for each API operation helps API consumers understand what is possible with each API request

rule

OpenAPI Operations Summary Info

Having short and intuitive summary for each API operation helps API consumers understand what is possible with each API request

rule

OpenAPI Operations Summary Length Error

Apply length constraints to the operation summary helps keep them consistent for publishing in documentation

rule

OpenAPI Operations Summary Period Error

Operation summaries should not have a period, keeping the primary summary for each API as consistent as possible for publishing in documentation

rule

OpenAPI Operations Summary Period Info

Operation summaries should not have a period, keeping the primary summary foreach API as consistent as possible for publishing in documentation.

rule

OpenAPI Operations Tags Error

Having tags applied to each API operations helps organize and group APIs in portals, documentation, search, and other ways in which APIs are made available

rule

OpenAPI Operations Tags Info

Having tags applied to each API operations helps organize and group APIs in portals, documentation, search, and other ways in which APIs are made available

rule

OpenAPI Operations Tags One Error

Having tags applied to each API operations helps organize and group APIs in portals, documentation, search, and other ways in which APIs are made available

rule

OpenAPI Operations Tags Upper Case Error

Having the first letter of each word applied as a tag to API operations helps keep a consistent layout when published via search, documentation, and other ways APIs are made available

rule

OpenAPI Operations Tags Upper Case Info

Having the first letter of each word applied as a tag to API operations helps keep a consistent layout when published via search, documentation, and other ways APIs are made available

rule

OpenAPI Parameters Componentized Error

Having all parameters using the central OpenAPI components parameters object helps increase the reusability of parameters across API operations, but it also help standardize parameter across all APIs

rule

OpenAPI Parameters Componentized Info

Having all parameters using the central OpenAPI components parameters object helps increase the reusability of parameters across API operations, but it also help standardize parameter across all APIs

rule

OpenAPI Parameters Optional Examples

Optional parameters should include examples to support API mocking, testing, and documentation. While not strictly required, examples help consumers understand the range of acceptable values.

rule

OpenAPI Parameters Required Examples

Required parameters should include examples to support API mocking, testing, and documentation. Examples help consumers understand expected values and enable tools like Microcks to generate realist...

rule

OpenAPI Paths API

There are very few situations where you actually want the acronym API in the path of your API, only when it is a resource.

rule

OpenAPI No Api In Path Info

There are very few situations where you actually want the acronym API in the path of your API, only when it is a resource.

rule

OpenAPI Path Declarations Error

There must be a paths property and have paths declared, providing the minimum viable definition for an API.

rule

OpenAPI Path Declarations Info

There must be a paths property and have paths declared, providing the minimum viable definition for an API.

rule

OpenAPI Path Kebab Case

Path segments should be kebab case and not have different casing that could cause other problems.

rule

OpenAPI Path Kebab Case

The query delimiter should not be included as part of any API path.

rule

OpenAPI Paths No Verbs

RESTful API path segments should not contain action verbs. HTTP methods already convey the action, so verbs in paths indicate a non-RESTful design. Paths should describe resources, not actions.

rule

OpenAPI Path Parameters Camel Case

Path parameters should follow camelCase naming convention for consistency across the API, making parameter names predictable and aligned with common programming conventions.

rule

OpenAPI Path Query

The query delimiter should not be included as part of any API path.

rule

OpenAPI No Api In Path Info

The query delimiter should not be included as part of any API path.

rule

OpenAPI No Path Trailing Slash Error

It is common to be explicit and consistent about whether or not to have a trailing slack on each API path

rule

OpenAPI No Path Trailing Slash Info

It is common to be explicit and consistent about whether or not to have a trailing slack on each API path

rule

OpenAPI Request Body Have Application Json Info

Request bodies use the application/json media type to encode the request payload is a common data format

rule

OpenAPI Request Body Have Application X Www Form Url Encoded Info

Request bodies use the application/x-www-form-urlencoded media type to encode the request payload is a common data format

rule

OpenAPI Request Body Content On Post Error

POST requests with a request body should have content defined, providing more detail on what is contained within the API request body

rule

OpenAPI Request Body Content On Post Info

POST requests with a request body should have content defined, providing more detail on what is contained within the API request body

rule

OpenAPI Request Body Content On Put Error

PUT requests with a request body should have content defined, providing more detail on what is contained within the API request body

rule

OpenAPI Request Body Content On Put Info

PUT requests with a request body should have content defined, providing more detail on what is contained within the API request body

rule

OpenAPI No Request Body On Delete Error

DELETE HTTP methods should not have a request body, keeping API requests compliant with the HTTP standard

rule

OpenAPI No Request Body On Delete Info

DELETE HTTP methods should not have a request body, keeping API requests compliant with the HTTP standard

rule

OpenAPI Request Bodies Description Error

It is helpful to provide a description for request bodies, providing a simple explanation of what can be configured as part of the request payload

rule

OpenAPI Request Bodies Description Info

It is helpful to provide a description for request bodies, providing a simple explanation of what can be configured as part of the request payload

rule

OpenAPI Request Bodies Examples Content

Request body content should include examples to support API mocking, testing, and documentation. Examples enable tools to generate realistic mock requests and help consumers understand expected pay...

rule

OpenAPI Request Body Have Examples Error

POST, PUT, and PATCH request bodies should have examples, providing one or more examples of what should be submitted for different types of requests

rule

OpenAPI Request Body Have Examples Info

POST, PUT, and PATCH request bodies should have examples, providing one or more examples of what should be submitted for different types of requests

rule

OpenAPI Request Body Have Examples Ref Error

POST, PUT, and PATCH request bodies should have examples using references to centralized component examples, providing one or more examples of what should be submitted for different types of requests

rule

OpenAPI Request Body Have Examples Ref Info

POST, PUT, and PATCH request bodies should have examples using references to centralized component examples, providing one or more examples of what should be submitted for different types of requests

rule

OpenAPI No Request Body On Get Error

GET HTTP methods should not have a request body, keeping API requests compliant with the HTTP standard

rule

OpenAPI No Request Body On Get Info

GET HTTP methods should not have a request body, keeping API requests compliant with the HTTP standard

rule

OpenAPI Request Bodies PATCH Merge Patch

PATCH operations should use application/merge-patch+json content type as defined in RFC 7396, providing a standardized approach for partial updates to resources.

rule

OpenAPI Request Body On Post Error

POST HTTP methods can have a request body, providing a structured payload for configuring each API request

rule

OpenAPI Request Body On Post Info

POST HTTP methods can have a request body, providing a structured payload for configuring each API request

rule

OpenAPI Request Body On Put Error Info

PUT HTTP methods can have a request body, providing a structured payload for configuring each API request

rule

OpenAPI Request Body On Put Info

PUT HTTP methods can have a request body, providing a structured payload for configuring each API request

rule

OpenAPI Request Bodies Required Property Error

It is important to be explicit about whether or not the request body for an API operation is required or not

rule

OpenAPI Request Bodies Required Property Info

It is important to be explicit about whether or not the request body for an API operation is required or not

rule

OpenAPI Request Body Have Schema Error

POST, PUT, and PATCH request bodies should have schema defined, providing more detail on what the structure of the API request body should be

rule

OpenAPI Request Body Have Schema Info

POST, PUT, and PATCH request bodies should have schema defined, providing more detail on what the structure of the API request body should be

rule

OpenAPI Request Body Have Schema Ref Error

POST, PUT, and PATCH request bodies should have schema reference defined, providing more detail on what the structure of the API request body should be

rule

OpenAPI Request Body Have Schema Ref Info

POST, PUT, and PATCH request bodies should have schema reference defined, providing more detail on what the structure of the API request body should be

rule

OpenAPI Response Content Examples

Response content should include examples to support API mocking, testing, and documentation. Examples enable tools to generate realistic mock responses and help consumers understand what to expect.

rule

OpenAPI Response Delete 204 Status Code Error

DELETE responses should have a 204 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Delete 204 Status Code Info

DELETE responses should have a 204 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Delete 400 Schema Ref Error

DELETE 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 400 Schema Ref Info

DELETE 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 400 Status Code Error

DELETE responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Delete 400 Status Code Info

DELETE responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Delete 401 Schema Ref Error

DELETE 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 401 Schema Ref Info

DELETE 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 401 Status Code Error

DELETE responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Delete 401 Status Code Info

DELETE responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Delete 403 Schema Ref Error

DELETE 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 403 Schema Ref Info

DELETE 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 403 Status Code Error

DELETE responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Delete 403 Status Code Info

DELETE responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Delete 404 Schema Ref Error

DELETE 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 404 Schema Ref Info

DELETE 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 404 Status Code Error

DELETE responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Delete 404 Status Code Info

DELETE responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Delete 429 Schema Ref Error

DELETE 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 429 Schema Ref Info

DELETE 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 429 Status Code Error

DELETE responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Delete 429 Status Code Info

DELETE responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Delete 500 Schema Ref Error

DELETE 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 500 Schema Ref Info

DELETE 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Delete 500 Status Code Error

DELETE responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Delete 500 Status Code Info

DELETE responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Error Problem JSON

Error responses (4XX and 5XX) should use application/problem+json media type as defined in RFC 7807, providing a consistent, machine-readable format for conveying error details to API consumers.

rule

OpenAPI Response Examples Error

Have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Examples Info

Have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Examples Ref Error

Have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Examples Ref Info

Have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Get 200 Content Error

GET 200 success HTTP status codes should have content property that provides the ability to describe the response content

rule

OpenAPI Response Get 200 Content Info

GET 200 success HTTP status codes should have content property that provides the ability to describe the response content

rule

OpenAPI Response Get 200 Description Error

GET 200 success HTTP status codes should have a description, describing what an API consumer can expect as a result

rule

OpenAPI Response Get 200 Description Info

GET 200 success HTTP status codes should have a description, describing what an API consumer can expect as a result

rule

OpenAPI Response Get 200 Media Type Error

GET 200 success HTTP status codes have a application/json media type, standardizing the response payload returned for a successful response

rule

OpenAPI Response Get 200 Media Type Examples Error

GET 200 success HTTP status codes have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Get 200 Media Type Examples Info

GET 200 success HTTP status codes have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Get 200 Media Type Examples Ref Error

GET 200 success HTTP status codes have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Get 200 Media Type Examples Ref Info

GET 200 success HTTP status codes have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Get 200 Media Type Info

GET 200 success HTTP status codes have a application/json media type, standardizing the response payload returned for a successful response

rule

OpenAPI Response Get 200 Media Type Schema Error

GET 200 success HTTP status codes have a schema to standardize the response payload returned for a successful response

rule

OpenAPI Response Get 200 Media Type Schema Info

GET 200 success HTTP status codes have a schema to standardize the response payload returned for a successful response

rule

OpenAPI Response Get 200 Media Type Schema Ref Error

GET 200 success HTTP status codes have a schema references to standardize the response payload returned for a successful response

rule

OpenAPI Response Get 200 Media Type Schema Ref Info

GET 200 success HTTP status codes have a schema references to standardize the response payload returned for a successful response

rule

OpenAPI Response Get 200 Status Code Error

GET responses should have a 200 success HTTP status codes, communicating a successful response to consumers

rule

OpenAPI Response Get 200 Status Code Info

GET responses should have a 200 success HTTP status codes, communicating a successful response to consumers

rule

OpenAPI Response Get 400 Schema Ref Error

GET 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 400 Schema Ref Info

GET 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 400 Status Code Error

GET responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Get 400 Status Code Info

GET responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Get 401 Schema Ref Error

GET 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 401 Schema Ref Info

GET 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 401 Status Code Error

GET responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Get 401 Status Code Info

GET responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Get 403 Schema Ref Error

GET 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 403 Schema Ref Info

GET 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 403 Status Code Error

GET responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Get 403 Status Code Info

GET responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Get 404 Schema Ref Error

GET 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 404 Schema Ref Info

GET 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 404 Status Code Error

GET responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Get 404 Status Code Info

GET responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Get 429 Schema Ref Error

GET 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 429 Schema Ref Info

GET 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 429 Status Code Error

GET responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Get 429 Status Code Info

GET responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Get 500 Schema Ref Error

GET 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 500 Schema Ref Info

GET 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Get 500 Status Code Error

GET responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Get 500 Status Code Info

GET responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Get 200 Media Type Examples Error

GET 200 success HTTP status codes have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Post 201 Content Error

POST 201 success HTTP status codes should have content property that provides the ability to describe the response content

rule

OpenAPI Response Post 201 Content Info

POST 201 success HTTP status codes should have content property that provides the ability to describe the response content

rule

OpenAPI Response Post 201 Description Error

POST 201 success HTTP status codes should have a description, describing what an API consumer can expect as a result

rule

OpenAPI Response Post 201 Description Info

POST 201 success HTTP status codes should have a description, describing what an API consumer can expect as a result

rule

OpenAPI Response Post 201 Examples Ref Error

POST 201 success HTTP status codes have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Post 201 Examples Ref Info

POST 201 success HTTP status codes have example references to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Post 201 Media Type Error

POST 201 success HTTP status codes have a application/json media type, standardizing the response payload returned for a successful response

rule

OpenAPI Response Post 201 Media Type Examples Error

POST 201 success HTTP status codes have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Post 201 Media Type Examples Info

POST 201 success HTTP status codes have examples to show one or many examples of responses for different types of API requests

rule

OpenAPI Response Post 201 Media Type Info

POST 201 success HTTP status codes have a application/json media type, standardizing the response payload returned for a successful response

rule

OpenAPI Response Post 201 Media Type Schema Error

POST 201 success HTTP status codes have a schema to standardize the response payload returned for a successful response

rule

OpenAPI Response Post 201 Media Type Schema Info

POST 201 success HTTP status codes have a schema to standardize the response payload returned for a successful response

rule

OpenAPI Response Post 201 Schema Ref Error

POST 201 success HTTP status codes have a schema references to standardize the response payload returned for a successful response

rule

OpenAPI Response Post 201 Schema Ref Info

POST 201 success HTTP status codes have a schema references to standardize the response payload returned for a successful response

rule

OpenAPI Response Post 201 Status Code Error

POST responses should have a 201 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Post 201 Status Code Info

POST responses should have a 201 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Post 400 Schema Ref Error

POST 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 400 Schema Ref Info

POST 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 400 Status Code Error

POST responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Post 400 Status Code Info

POST responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Post 401 Schema Ref Error

POST 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 401 Schema Ref Info

POST 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 401 Status Code Error

POST responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Post 401 Status Code Info

POST responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Post 403 Schema Ref Error

POST 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 403 Schema Ref Info

POST 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 403 Status Code Error

POST responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Post 403 Status Code Info

POST responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Post 404 Schema Ref Error

POST 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 404 Schema Ref Info

POST 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 404 Status Code Error

POST responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Post 404 Status Code Info

POST responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Post 429 Schema Ref Error

POST 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 429 Schema Ref Info

POST 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 429 Status Code Error

POST responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Post 429 Status Code Info

POST responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Post 500 Schema Ref Error

POST 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 500 Schema Ref Info

POST 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Post 500 Status Code Error

POST responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Post 500 Status Code Info

POST responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Put 204 Status Code Error

PUT responses should have a 204 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Put 204 Status Code Info

PUT responses should have a 204 success HTTP status codes, communicating a success created response to consumers

rule

OpenAPI Response Put 400 Schema Ref Error

PUT 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 400 Schema Ref Info

PUT 400 bad request HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 400 Status Code Error

PUT responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Put 400 Status Code Info

PUT responses should have a 400 not found HTTP status code, communicating nothing was found to consumers

rule

OpenAPI Response Put 401 Schema Ref Error

PUT 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 401 Schema Ref Info

PUT 401 unauthorized HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 401 Status Code Error

PUT responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Put 401 Status Code Info

PUT responses should have a 401 unauthorized HTTP status code, communicating that consumers do not have access

rule

OpenAPI Response Put 403 Schema Ref Error

PUT 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 403 Schema Ref Info

PUT 403 forbidden HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 403 Status Code Error

PUT responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Put 403 Status Code Info

PUT responses should have a 403 forbidden HTTP status code, communicating that consumers are not allowed to access

rule

OpenAPI Response Put 404 Schema Ref Error

PUT 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 404 Schema Ref Info

PUT 404 not found HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 404 Status Code Error

PUT responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Put 404 Status Code Info

PUT responses should have a 404 not found HTTP status code, communicating that nothing was found to consumers

rule

OpenAPI Response Put 429 Schema Ref Error

PUT 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 429 Schema Ref Info

PUT 429 too many requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 429 Status Code Error

PUT responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Put 429 Status Code Info

PUT responses should have a 429 too many requests HTTP status code, communicating a consumer has made too may requests

rule

OpenAPI Response Put 500 Schema Ref Error

PUT 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 500 Schema Ref Info

PUT 500 internal server error requests HTTP status codes have a schema references to standardize the response payload returned for the error response

rule

OpenAPI Response Put 500 Status Code Error

PUT responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response Put 500 Status Code Info

PUT responses should have a 500 internal server erorr HTTP status code, communicating the API had a problem to consumers

rule

OpenAPI Response RateLimit Headers

API responses must include the standard rate limit header trio (ratelimit-limit, ratelimit-remaining, ratelimit-reset) to inform consumers of their current usage against rate limits.

rule

OpenAPI Response Schemas Error

Have schemas to show one or many schemas of responses for different types of API requests

rule

OpenAPI Response Schemas Info

Have schemas to show one or many schemas of responses for different types of API requests

rule

OpenAPI Response Schemas Ref Error

Have example references to show one or many schemas of responses for different types of API requests

rule

OpenAPI Response Schemas Ref Info

Have example references to show one or many schemas of responses for different types of API requests

rule

OpenAPI Response Success HAL JSON

Success responses (2XX excluding 204) should use application/hal+json media type to provide hypermedia links that enable clients to discover related resources and actions, following the HAL specifi...

rule

OpenAPI Schema Description Error

Schema should have descriptions that provide a narrative of what a schema object is for, and how it can be used, leaving examples to demonstrate what can actually be expected

rule

OpenAPI Schema Description Info

Schema should have descriptions that provide a narrative of what a schema object is for, and how it can be used, leaving examples to demonstrate what can actually be expected

rule

OpenAPI Schema Description Length Error

Schema should have a length limit applied, restricting how long schema descriptions can be, helping keep them concise and consistent

rule

OpenAPI Schema Names Pascal Case Error

Schema names, keeping the naming of them consistent across APIs, standardizing how consumers can use in their applications.

rule

OpenAPI Schema Names Info

Schema names, keeping the naming of them consistent across APIs, standardizing how consumers can use in their applications.

rule

OpenAPI Schema Names Length Error

Schema should have a length limit applied keeping the names of schema consistent across APIs

rule

OpenAPI Schema Names Pascal Case Error

Schema names are pascal case, keeping the naming of them consistent across APIs, standardizing how consumers can use in their applications

rule

OpenAPI Schema Names Pascal Case Info

Schema names are pascal case, keeping the naming of them consistent across APIs, standardizing how consumers can use in their applications

rule

OpenAPI Schema Names Snake Case

Schema component keys should use snake_case naming convention for consistency, particularly in APIs that follow Python or Ruby conventions.

rule

OpenAPI Schema Properties Allowed Integer Format Error

Schema integer properties should have a format property with int32 or int64 applied

rule

OpenAPI Schema Properties Allowed Number Format Error

Schema integer properties should have a format property with int32 or int64 applied

rule

OpenAPI Schema Properties Array Items Error

Schema properties that are of the type array must have an items property defined

rule

OpenAPI Schema Properties Array Items Info

Schema properties that are of the type array must have an items property defined

rule

OpenAPI Schema Properties Array Maxitems Error

Schema properties that are of the type array should have a max items property defined

rule

OpenAPI Schema Properties Array Maxitems Info

Schema properties that are of the type array should have a max items property defined

rule

OpenAPI Schema Properties Array Minitems Error

Schema properties that are of the type array should have a min items property defined

rule

OpenAPI Schema Properties Array Minitems Info

Schema properties that are of the type array should have a min items property defined

rule

OpenAPI Schema Properties Boolean Naming

Boolean properties should not use an "is" prefix in their names. The property type already indicates it is a boolean, and the "is" prefix adds unnecessary verbosity.

rule

OpenAPI Schema Properties DateTime Naming

DateTime properties (format date-time) should include a temporal suffix such as At, Date, Time, or On to clearly communicate that the value represents a point in time.

rule

OpenAPI Schema Properties Define Number Maximum Error

Schema properties that are of the type number should have a maximum property defined

rule

OpenAPI Schema Properties Define Number Minimum Error

Schema properties that are of the type number should have a minimum property defined

rule

OpenAPI Schema Properties Descriptions Error

Schema properties should have descriptions that provide a narrative of the property contains, and how it can be used

rule

OpenAPI Schema Properties Descriptions Info

Schema properties should have descriptions that provide a narrative of the property contains, and how it can be used

rule

OpenAPI Schema Properties Descriptions Length Error

Schema property descriptions should have a length limit applied, applying constraints to writing descriptions, and keeping consistent across APIs

rule

OpenAPI Schema Properties Enum Casing Error

Schema property enumerators are consistent casing, keeping all entries upper snake case, and consistent across all APIs

rule

OpenAPI Schema Properties Enum Casing Info

Schema property enumerators are consistent casing, keeping all entries upper snake case, and consistent across all APIs

rule

OpenAPI Schema Properties Enum Info

Schema property has enumerators, providing consistent values chosen by consumers when making requests

rule

OpenAPI Schema Properties Error

Schema has properties, providing more detail regarding the structure of each schema being applied as part of a request or a response

rule

OpenAPI Schema Properties Info

Schema has properties, providing more detail regarding the structure of each schema being applied as part of a request or a response

rule

OpenAPI Schema Properties Names Camel Case Error

Schema property names are camel case, providing consistent casing across all the schema properties used by APIs

rule

OpenAPI Schema Properties Names Camel Case Info

Schema property names are camel case, providing consistent casing across all the schema properties used by APIs

rule

OpenAPI Schema Properties Names Length Error

Schema property names have a length restriction applied, keeping names consistent, and avoiding being too long

rule

OpenAPI Schema Properties String Maxlength Error

Schema properties that are of the string type have the max length applied defining the shape of the property

rule

OpenAPI Schema Properties String Maxlength Info

Schema properties that are of the string type have the max length applied defining the shape of the property

rule

OpenAPI Schema Properties String Minlength Error

Schema properties that are of the string type have the min length applied defining the shape of the property

rule

OpenAPI Schema Properties String Minlength Info

Schema properties that are of the string type have the min length applied defining the shape of the property

rule

OpenAPI Schema Properties Type Defined

All schema properties must have a type explicitly defined to ensure proper validation, code generation, and documentation. Properties without types are ambiguous and error-prone.

rule

OpenAPI Schema Required Error

Schema should have a required property defined, being explicit about which properties have to be included with the schema when it is used as part of a request or response

rule

OpenAPI Schema Required Info

Schema should have a required property defined, being explicit about which properties have to be included with the schema when it is used as part of a request or response

rule

OpenAPI Schema Required No Default

Required properties should not have default values. If a property is required, the client must provide it explicitly. Having a default on a required property creates confusion about whether the cli...

rule

OpenAPI Schema Type Error

Schema should have a type defined, being explicit about type of data a schema describes and can be used to validate, helping standardize the type of data being made available

rule

OpenAPI Schema Type Info

Schema should have a type defined, being explicit about type of data a schema describes and can be used to validate, helping standardize the type of data being made available

rule

OpenAPI Security Schemes API Keys Error

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations.

rule

OpenAPI Security Schemes API Keys In Header Error

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a in of header set.

rule

OpenAPI Security Schemes API Keys In Header Info

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a in of header set.

rule

OpenAPI Security Schemes API Keys Info

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations.

rule

OpenAPI Security Schemes API Keys Name Error

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a name of api_key set.

rule

OpenAPI Security Schemes API Keys Name Info

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a name of api_key set.

rule

OpenAPI Security Schemes API Keys Type Error

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a type of apiKey set.

rule

OpenAPI Security Schemes API Keys Type Info

Having components security schemes which possesses an api-key property that allows to configure how API keys are applied to operations have a type of apiKey set.

rule

OpenAPI Security Schemes Error

Having components security schemes ensures that the security definition for an API have been standardized and are able to be applied across APIs

rule

OpenAPI Security Schemes Info

Having components security schemes ensures that the security definition for an API have been standardized and are able to be applied across APIs

rule

OpenAPI Tags Alphabetical Error

The tags used to organize operations should be available in an alphabetical format keeping easy to navigate for consumers.

rule

OpenAPI Tags Description Error

Tags used as part of an OpenAPI should have descriptions, providing more of a narrative behind what a tag means when it is applied to an API

rule

OpenAPI Tags Description Info

Tags used as part of an OpenAPI should have descriptions, providing more of a narrative behind what a tag means when it is applied to an API

rule

OpenAPI Tags Name Error

Tags used as part of an OpenAPI should have names, providing a simple key word or phrase that represents the tag being applied to APIs

rule

OpenAPI Tags Name Info

Tags used as part of an OpenAPI should have names, providing a simple key word or phrase that represents the tag being applied to APIs

rule

OpenAPI Tags Object Error

There needs to be a central tags object applied to the OpenAPI, providing central tags that can be applied across all operations within an OpenAPI

rule

OpenAPI Tags Object Info

There needs to be a central tags object applied to the OpenAPI, providing central tags that can be applied across all operations within an OpenAPI

rule

OpenAPI Tags One Error

There needs to be at least one tag applied to an OpenAPI, providing a key word or phrase that can be applied to API operations

rule

OpenAPI Tags Upper Case Error

The first letter of each word in a tag being applied to APIs needs to be capitalized, keeping the tags being applied across APIs the same look and feel for organizing and publishing to documentation

rule

OpenAPI Version Date Format

API versions using date-based format should follow the YYYY-MM-DD pattern, optionally followed by a -preview suffix for pre-release versions.

rule

OpenAPI Version Date Info

Publishing a version for your OpenAPI technical contract helps you communicate change with consumers using date-based versioning published to the info version property

rule

OpenAPI Version In Path Error

The majority of public APIs available on the Web today put the major version of the API as part of the path for each API

rule

OpenAPI Version In Path Info

The majority of public APIs available on the Web today put the major version of the API as part of the path for each API

rule

OpenAPI Version Semantic Info

Publishing a version for your OpenAPI technical contract helps you communicate change with consumers using Semantic versioning published to the info version property

rule

OWASP API1 2023 No Numeric IDs

Use random IDs that cannot be guessed. UUIDs are preferred but any other random string will do. Using numeric IDs can lead to enumeration attacks where attackers iterate through possible ID values.

rule

OWASP API2 2023 Auth Insecure Schemes

There are many HTTP authorization schemes but some of them are now considered insecure, such as negotiating authentication using specifications like NTLM or OAuth v1.

rule

OWASP API2 2023 JWT Best Practices

JSON Web Token implementations must explicitly declare support for RFC8725 to address common pitfalls like ignoring algorithms or using insecure algorithms in JWT validation.

rule

OWASP API2 2023 No API Keys in URL

API Keys are passed in headers, cookies or query parameters to access APIs. Those keys can be eavesdropped, especially when they are passed in the URL as logging or history tools will keep track of...

rule

OWASP API2 2023 No Credentials in URL

URL parameters MUST NOT contain credentials such as API key, password, or secret. This is a security risk as URLs are often logged and cached.

rule

OWASP API2 2023 No HTTP Basic

Basic authentication credentials transported over network are more susceptible to interception than other forms of authentication, and as they are not encrypted it means passwords and tokens are mo...

rule

OWASP API2 2023 Read Restricted

Read operations (GET, HEAD) should be secured by at least one security scheme to prevent unauthorized access to sensitive data.

rule

OWASP API2 2023 Short Lived Access Tokens

Using short-lived access tokens is a good practice. When using OAuth 2, this is done by using refresh tokens. If a malicious actor is able to get hold of an access token then rotation means that to...

rule

OWASP API2 2023 Write Restricted

All write operations (POST, PUT, PATCH, DELETE) must be secured by at least one security scheme to prevent unauthorized modifications.

rule

OWASP API3 2023 No Additional Properties

By default JSON Schema allows additional properties, which can potentially lead to mass assignment issues, where unspecified fields are passed to the API without validation. Disable them with addit...

rule

OWASP API4 2023 Array Limit

Array size should be limited to mitigate resource exhaustion attacks. This can be done using maxItems. You should ensure that the subschema in items is constrained too.

rule

OWASP API4 2023 Integer Format

Integers should be limited to mitigate resource exhaustion attacks. Specifying whether int32 or int64 is expected via format helps enforce proper constraints.

rule

OWASP API4 2023 Integer Limit

Integers should be limited to mitigate resource exhaustion attacks. This can be done using minimum and maximum, which helps avoid negative numbers when positive are expected, or reducing unreasonab...

rule

OWASP API4 2023 Rate Limit

Define proper rate limiting to avoid attackers overloading the API. There are many ways to implement rate-limiting, but most of them involve using HTTP headers. All 2XX and 4XX responses should def...

rule

OWASP API4 2023 Rate Limit Responses 429

A HTTP 429 response signals the API client is making too many requests, and will supply information about when to retry so that the client can back off calmly without everything breaking. All opera...

rule

OWASP API4 2023 Rate Limit Retry After

Define proper rate limiting to avoid attackers overloading the API. Part of that involves setting a Retry-After header so well-meaning consumers are not polling and potentially exacerbating problems.

rule

OWASP API4 2023 String Limit

String size should be limited to mitigate resource exhaustion attacks. This can be done using maxLength, enum, or const.

rule

OWASP API4 2023 String Restricted

To avoid unexpected values being sent or leaked, strings should have a format, RegEx pattern, enum, or const to restrict the possible values.

rule

OWASP API7 2023 Concerning URL Parameter

Using external resource URLs based on user input for webhooks, file fetching, custom SSO, URL previews, or redirects can lead to Server Side Request Forgery (SSRF) and other security issues.

rule

OWASP API8 2023 Define CORS Origin

Setting up CORS headers will control which websites can make browser-based HTTP requests to your API. The Access-Control-Allow-Origin header should be defined on all responses.

rule

OWASP API8 2023 Define Error Responses 401

OWASP API Security recommends defining schemas for all responses, even errors. The 401 describes what happens when a request is unauthorized, so it is important to define this for documentation and...

rule

OWASP API8 2023 Define Error Responses 500

OWASP API Security recommends defining schemas for all responses, even errors. The 500 describes what happens when a request fails with an internal server error, so it is important to define this f...

rule

OWASP API8 2023 Define Error Validation

Carefully define schemas for all the API responses, including either 400, 422 or 4XX responses which describe errors caused by invalid requests.

rule

OWASP API8 2023 No Server HTTP

Server interactions must not use http:// as it is inherently insecure and can lead to PII and other sensitive information being leaked through traffic sniffing or man-in-the-middle attacks. Use htt...

rule

OWASP API9 2023 Inventory Access

Servers should use the x-internal vendor extension set to true or false to explicitly declare the intended audience for the API, which will be picked up by most documentation tools.

rule

OWASP API9 2023 Inventory Environment

Make it clear which servers are expected to run in which environment to avoid unexpected problems, exposing test data to the public, or letting bad actors bypass security measures to reach producti...