How to check the presence of an element with Spectral
By Arnaud Lauret, November 23, 2022
When linting an OpenAPI document (or any other JSON or YAML document with Spectral), the hardest part is ensuring you’re not missing your target and so be sure that expected checks will be done. In this post, we’ll see how to be sure a Spectral rule will be triggered when checking the presence of an element.
The contributions and limitations of API contract linting in API governance
By Arnaud Lauret, November 15, 2022
As API governance often rhymes with “policy enforcement,” API contract linting can be seen as the panacea of API governance: it can be used to ensure API contracts conform to pre-defined rules. But both API linting and API governance are more than that. Let’s discover the contributions and limitations of API contract linting in API governance.
Prefixing or not prefixing property names?
By Arnaud Lauret, November 8, 2022
Adding a prefix to a name should be carefully weighed because it impacts the overall design of an API, some code, or a specification and its usability for humans and machines. The discussion related to apiResponses
, pathResponses
, and responses
properties in the early design of OpenAPI v4 is a perfect example of that concern.
The 4 values of API governance
By Arnaud Lauret, October 25, 2022
API governance means policies, institutions, processes, and indicators. But without the alignment, enablement, collaboration, and guidance values in mind, API governance can quickly become a senseless, kafkaesque, and counter-productive API dictatorship, which will slowly but surely kill the organization, or its APIs at the least.
The 4 components of API governance
By Arnaud Lauret, October 18, 2022
After formally defining API governance relative to IT governance, corporate governance, and governance, let’s dive deeper and describe the four components of API governance: policies, institutions, processes, and indicators.
OpenAPI does what Swagger don't
By Arnaud Lauret, September 21, 2022
Let’s compare versions Swagger 2.0 and OpenAPI 3.0, and 3.1 to demonstrate the benefits of the new features introduced by 3.x versions to create more precise, better documented, more practical, and future-proof API contract descriptions.
Attempting to define API governance
By Arnaud Lauret, September 8, 2022
In the collective unconscious, API governance often rhymes with API police. Reducing API governance to the need for order caused by the chaos of an organization’s myriad APIs is too reductive, and it risks not looking at the problem at hand from the right angle. Why not define API governance relatively to IT governance, corporate governance, and governance to better understand what it is?
OpenAPI Specification Reference Series - Part 2
What is the info property in OpenAPI?
By Arnaud Lauret, July 21, 2022
The info property of an OpenAPI document contains metadata that provides an overview of an API, but what does it represent exactly? How did it evolve across the OpenAPI Specification versions? And how to can it be used and misused? This is the second post in the OpenAPI Specification Reference series.
OpenAPI Specification Reference Series - Part 1
What is the openapi property?
By Arnaud Lauret, July 6, 2022
No OpenAPI document without the openapi property, but what does it represent? How did it evolve across the OpenAPI Specification versions? And how to take advantage of it? This is the first post in the OpenAPI Specification Reference series.
Lint APIs with Spectral
By Arnaud Lauret, June 15, 2022
Are you struggling to design consistent APIs? On the verge of losing sanity while checking every single property of every schema is camelCased? Never remembering the parameters to use for pagination? Spectral is the tool you need: it will lint JSON Schema, AsyncAPI, and OpenAPI documents and do those checks for you.