#OpenAPI
#OpenAPI question: how to model variations? #swagger
https://stackoverflow.com/questions/76429521/how-to-model-variations-in-openapi-specification
wow, this is really cool!, #swiftlang #openapi generators! https://github.com/apple/swift-openapi-generator
note that Akkoma and GotoSocial provide perfectly good #OpenAPI docs already
released openapi-processor-spring/micronaut 2023.2
it is now possible to create a mapping with nested generic types and annotation mapping allows class types (e.g. package.Foo.class) as parameter.
See the core release notes [2023.2](https://github.com/openapi-processor/openapi-processor-base/releases/tag/v2023.2) for a description of the changes.
🧩 I've just blogged "Different levels of #API #contract #testing with @microcksio".
See how #OpenAPI spec and #Postman collections can be used together to cover both syntactical and behavioral contract testing.
https://medium.com/@lbroudoux/different-levels-of-api-contract-testing-with-microcks-ccc0847f8c97

This doesn't seem to be widely known but the operationId field in an #OpenAPI document is completely optional and tooling should not rely on its existence.

published openapi-processor-gradle 2023.1
nothing new, just a bit maintenance and a little workaround to fix gradle dropping some error log messages.
@cavac @ovid I keep hoping the #IDL-du-jour will save us (#OpenAPI, #ProtocolBuffers, #ApacheThrift, #WSDL, et al) but https://xkcd.com/927 applies and too many projects just slap their half-assed docs online instead of putting in the work for a machine-readable spec
@dpwiz I am asking because I think the #fp paradigm uniquely enables high-level composable constructs. I would love to see a visual exploration of such.
But if it were for me, I would want essentially gnu #coreutils reimplemented for graphical high-level programming like in a #nocode or #lowcode service.
If I were to write it, I would probably start with #openapi because of the broad adoption of that abstraction, and the market for api operations in small to medium business.
If you are wondering whether you should switch from Swagger UI to Bump.sh, read why Aviobook did. There's more than just our support of both #OpenAPI and #AsyncAPI https://bump.sh/customers/aviobook?utm_source=mastodon&utm_medium=social&utm_campaign=marketing
Have you heard of OpenAPI Tags? They are a great way to organize the #endpoints in your API Contract based on #OpenAPI standard.
We cover the topic with pratical and live examples you can interact with in our new article. Read it here: https://bump.sh/blog/openapi-tags-organize-endpoints?utm_source=mastodon&utm_medium=social&utm_campaign=technical_blog

Just Blogged: How to create API proxy in Sitecore JSS Next.JS app 👉 http://amitkumarmca04.blogspot.com/2023/05/api-proxy-in-sitecore-jss-nextjs-application.html
.
.
.
#SitecoreMVP #Sitecore #sitecorecommunity #LearnSitecore #Sitecorefriends #SitecoreFamily #NextJS #ReactJS #API #Proxy #JavaScript #DotNet #Azure #headless #Headless #AI #CMS #OpenAPI #dxp #dotnetcore #chatgpt #AI #Cloud #composabledxp #github

@dragnucs The full context is that I'm working on a #OpenAPI spec client generator in #PHP and that PR is implementing daily automation to update the client when the spec updates. The repository holds all the generated clients for all the GitHub specs. Now when I made that screenshot I just delete all but 3 of those generated clients to do some CI testing with them to not flood GHA with runs.
Trivial Pursuit – API MarkDown (2)
Fasst drei Jahre nach dem ersten Beitrag zum eigenen API MarktDown ergibt sich ein zweiter Beitrag zum Thema. Bei der Durchsicht der eigenen Projekte fiel auf, dass in dem Projekt rest-markdown-plugin noch immer FreeMarker als Template-Engine verwendet
https://schegge.de/2023/05/trivial-pursuit-api-markdown-2/
#Bibliotheken #Java #AsciiDoc #Asciidoctor #CongoCC #FreeMarker #FreshMarker #Java #JavaCC21 #MarkDown #OpenApi #Template #TemplateEngine

It's a pleasure for us to help Canopy publish their API docs as a single source of truth, and generate "Aha!" moments for their users. #OpenAPI #APIDocumentation https://bump.sh/customers/canopy?utm_source=mastodon&utm_medium=social&utm_campaign=marketing
I just blogged:
#CASBAN6: Add a Swagger (OpenAPI) page to Azure Functions
https://msicc.net/casban6-add-a-swagger-openapi-page-to-azure-functions/
#Swagger #SwaggerUI #OpenAPI #serverless #Azure #AzureFunctions #API #documentation #testing #dotNET
So I did a thing and now my #OpenAPI #Go generator correctly supports numeric enum types 🎉🎉🎉
Checkout the latest release:
https://github.com/contiamo/openapi-generator-go/releases/tag/v2.0.2
A Technical Journey into #API Design-First: Best Practices and Lessons Learned #REST #OpenAPI https://devblogs.microsoft.com/cse/2023/05/08/design-api-first-with-typespec/
Anyone out there doing #OpenAPI stuff ever look at stuff beyond schema validators? I found this pretty cool tool that essentially lets you do some sorts of property testing against your API to 1) validate that your schema is basically correct after a change, and 2) (not really the main point) fuzz it a bit.
Know any similar tools?
https://schemathesis.readthedocs.io/en/stable/cli.html
This week we've released some regulated products regimes to UAT, released the OpenAPI spec view of the HydrologyAPI, readied for UAT a redesigned UI for the FSA codes registry and kicked off a number of new client projects
Have a lovely weekend all

🎉 Microcks is now listed in the "http://APIs.guru Wikipedia for WEB #APIs" 👉 https://apis.guru/?q=microcks
This directory is a great curated list of public/project APIs using the #OpenAPI spec format, see: https://apis.guru/about/ 👍

[Quote Repost]
Starting now! Come join us to learn more about #OpenAPI in #AspNetCore!
https://www.youtube.com/watch?v=QBptE35_sCo https://twitter.com/aspnet/status/1653107791786311681
For all of the people evangelising #OpenAPI and #Pact, who think that the correct approach to multiple team software development is to correctly design, specify and hand-over ironclad contract documents between teams, then to test that the software adheres to those contracts before deployment: I'm afraid to say we've tried this before, and it didn't work.
We called it 'Waterfall'.
Explore the power of OpenAPI beyond documentation with Matthew Turland at #PHPTek on "OpenAPI: More Than Documentation". Register now: https://tek.phparch.com #OpenAPI #PHP


Are you a Kotlin (or other JVM language) developer?
Our latest tutorial explores the easiest way to access routing, elevation profiles, and more from your applications. Thanks to OpenAPI (not to be confused with OpenAI!) code generation, you won't even have to do any extra work to access new APIs we release in the future (like geocoding)!
https://docs.stadiamaps.com/tutorials/getting-started-with-geospatial-apis-in-kotlin-openapi/

Getting there, this is with #OpenAPI spec validation disabled for now because there is some 3.1 stuff missing there.

I'm working on yet another API package, which led to: https://jonthegeek.github.io/api2r/
I'd love to hear people's thoughts!
On this public holiday I took the time to reflect on shipping a product at #microsoft and wrote my thoughts down #kiota #OpenAPI
Hopefully you find this interesting.
I think it’s a beautiful thing how many third party apps we have on both #iOS, #Android and web for #Mastodon. It shows what a public API in the hands of developers can accomplish and that there are more ways than one that benefits its users.
Long ago #Twitter knew this, APIs can be so powerful. Allowing access to data can be used in many good ways, and help innovation thrive, whether software, research, etc.
#️⃣ #dev #developers #openapi
Criar uma especificação de #OpenAPI usando a #API do OpenWeatherMap como base? Extremamente fácil quando utilizamos o Stoplight studio! -> https://remixtures.stoplight.io/docs/openweathermap/ebf73f169d56e-weather #APIDocumentation #APIs #TechnicalWriting
Explore the power of OpenAPI beyond documentation with Matthew Turland at #PHPTek on "OpenAPI: More Than Documentation". Register now: https://tek.phparch.com #OpenAPI #PHP

Anyone have any experience with https://github.com/bufbuild/buf? #grpc #protobufs #openapi #json
Pros?
Cons?
Etc….
📰 New one up on the blog!
"Contract first OpenAPI development (but still use Swagger UI with ASP.NET Core)"
It's just a brief one about contract first API development, with an example using #OpenAPI, #AspNetCore, #Swashbuckle, #NSwag and friends.
#DotNet #CSharp
https://blog.codingmilitia.com/2023/04/02/contract-first-openapi-development-but-still-use-swagger-ui-with-asp.net-core/
The code to my little OpenAPI parameters parser for Ruby is public now: https://github.com/ahx/openapi_parameters#readme
CODERS! There's a new article on PhyloPic about how to use the API to search for silhouettes. Check it out! #opensource #openscience #sciart #clipart #openapi #api https://www.phylopic.org/articles/api-recipes
Hi! I have created a small Ruby library to parse query / path / header / cookie parameters from a request (Rack) just as specified in OpenAPI: https://github.com/ahx/openapi_parameters#readme
It's mainly build to be used in other OpenAPI tooling (like committee or openapi_first), but should just work in any Rack app. Please let me know what you think. #ruby #openapi
Learn about OpenAPI: https://spec.openapis.org/oas/latest.html#style-examples
Excited to say that as of this morning, APIs You Won't Hate (the newsletter) is back in action! If you're interested in APIs, you'll get a fresh infusion of knowledge in your inbox from the biggest community of API devs on the web.
Read today's newsletter, and subscribe here: https://apisyouwonthate.com/newsletter/back-and-better-than-ever-apis-you-wont-hate-monthly-newsletter/
Ok, let's have some #Azure fun and try to find out why the #Swagger page of my #AzureFunctions do not submit the query parameters even if marked as required (and set)...
Visible APIs get reused, not reinvented
https://stackoverflow.blog/2023/03/15/visible-apis-get-reused-not-reinvented/
"On this sponsored episode, we chat with SmartBear API Technical Evangelist Frank Kilcommins about the growing challenges of API visibility and how to outsmart the invisibility trap with the right development strategies and tools." -- #RyanDonovan
If you're considering attending any #PHP #conferences this year, #tek2023 should be at the top of your list! It's being held May 16-18 in Chicago. More details here: https://tek.phparch.com.
I'll be presenting on "#OpenAPI: More Than #Documentation" and "#RegularExpressions Made Eas(y|ier)."
And, if you use this link, you can get $100 off the price of your conference pass.
How should I name a new ruby gem about parsing parameters according to the OpenAPI specification? #openapi
Taking recent updates (https://twitter.com/HttpToolkit/status/1633494507323834374) to the next level: Pro users can now configure HTTP Toolkit with their own custom API specs!
⚡️ Add your validation & debugging for all your own APIs, plus self-hosted & internal services, with all the power of #OpenAPI (https://swagger.io/docs/specification/about/)
TIL: Using #OpenAPI Spec 3.0 `oneOf` together with `discriminator` and `allOf` for a much nicer & cleaner spec!
Hey, #OpenAPI fans. All requests can potentially have a `400 BAD REQUEST` response. Is there a way to provide that for all routes without hardcoding it in every one?
And no, I don't mean a $ref with this in every response:
400:
$ref '#/components/responses/errorBadRequest'
#Tools That Support #OpenAPI Specification https://www.openapis.org/blog/2023/03/08/tools-that-support-openapi-specification
RAML and API Blueprint: Where Are They Now?
https://blog.postman.com/raml-and-api-blueprint-where-are-they-now/
"It’s pointless to argue the merits of each format, when you consider the degree of usage and interoperability that OpenAPI offers." -- Kevin Swiber, Chair of Outreach for OpenAPI Initiative and API Lifecycle Integration Specialist at Postman
#dotnet #api #openapi I love debating the choices we make with our API design. The world of CRUD, REST, and remote procedure call systems is fascinating. Let’s talk through how people handle data updates and the positives and negatives of each style. https://tedspence.com/api-design-the-problem-with-updates-86abc0f5c552
@hrefna @kevinswiber has done a lot of good work in the #Rego + #OpenAPI field, so I’m hoping he can chip in here. Let’s see if this will have him summoned 🧙
Newbie question on #rego since this is a use case I've been noodling with but haven't done the legwork on yet:
If I have a definition file written for #OpenAPI that contains some custom extensions, what is the best way to get that information into rego in a way that will let me make decisions with it?
🎙️ APIs You Won't Hate (the podcast)
Our latest episode just went live!
Don't roll your own API Management tools, with Josh Twist from Zuplo
I had #OpenAPI write me a movie synopsis
"In #Balloon War, two of the world's mightiest nations, the United States and China, engage in a unique form of espionage - the use of balloons. Led by President Dark Brandon (Joe Biden), the US must race against the clock to deploy their balloons into Chinese airspace before the Chinese can do the same. The stakes are raised when aliens observe the war, and the US must use their wits to outsmart their rivals and come out on top."
#PowerShell Universal 3.8 will have an interface for defining #OpenAPI documentation for your endpoints.
👨💻 A couple of months ago, I was playing with the (then) freshly released ASPNET Core 7, mainly with its OpenAPI improvements for minimal APIs, as well as how to add API versioning into the mix.
Was thinking about writing a post about it, but don't think it'd be particularly interesting, so in case someone is looking into the same subject, I'll just share the sample code instead 🙂.
#DotNet #CSharp #AspNetCore #OpenApi #Swagger #Swashbuckle #Versioning
https://github.com/joaofbantunes/MinimalVersionedOpenApiSample
I guess I am soon going to have to implement #OpenAPI in #CommonLisp. Having it means easy bindings for Stripe, Kubernetes, Docker, GitHub…
New blog, on something I've been working on since Christmas : Replace #postman and your CI by the #intellij HTTP Client for any #api using an #openapi generator
I created.
Super excited about the possibilities 🎉🔥.
https://lengrand.fr/replacing-postman-in-seconds-with-the-jetbrains-http-client/
i had a great time hanging with Eddie Hinkle yesterday! If you missed the stream, here’s a highlight.
https://twitch.tv/videos/1718298814
Also, the stream will be up on https://youtube.iamdeveloper.com in the next week or so. So head on over there and hit that subscribe button to get notified when it and future videos drop. 😎
🎉 I've just released the 1.1.0 version of #OpenAPI Enricher package!
🔧 It supports now YAML input / output for OpenAPI files and examples file
ICYM, it follows my blog post https://jolicode.com/blog/fine-tune-an-openapi-specification-for-mocking
https://github.com/welcoMattic/openapi-enricher/releases/tag/v1.1.0
@viticci Ten years ago, they’d shut the gate and limited them in size (https://techcrunch.com/2012/08/16/twitter-api-client-apps/). Looks like Elon’s finally locked it completely.
(An API key for a proprietary service is a key to a gate you don’t own. And it’s as much in the nature of a gate to be open as it is to be shut and locked.)
Fellow #dotNET developers, I have a repo that has already all #DTO objects and a #SwaggerUI #OpenAPI definition. Now I am about to write two clients—one will be an #ASPNETCore website using that API, the other is a .NET #MAUI client. Which route would you go for a client SDK that connects the clients with the #AzureFunctions API?
I did it! I got the blog up and running again, as well as an Atom feed that actually works.
This blog post is a continuation of my advocacy for using the path hierarchy of a URL as a key piece of your API design and developer experience.
https://apievolution.tavis.ca/posts/2023/the-majesty-of-trees/
Today, I'm sharing insights and protips about mocking #API with Prism
https://jolicode.com/blog/fine-tune-an-openapi-specification-for-mocking
If you're considering attending any #PHP #conferences this year, #tek2023 should be at the top of your list! It's being held May 16-18 in Chicago. More details here: https://tek.phparch.com.
I'll be presenting on "#OpenAPI: More Than #Documentation" and "#RegularExpressions Made Eas(y|ier)."
And, if you use this link, you can get $100 off the price of your conference pass.
Part 2 of my #openapi journey ^^. This time about a fix I found and fixed just before the year ends.
Some fun stories about Jackson, reflection and git bisect.
Have a nice read, and happy new year already everyone! 🎉
I wrote some #tips on getting started with #openapi. Maybe they're useful to you too!
https://lengrand.fr/tips-on-getting-started-with-openapi-generators/
Probably the first of a series. Just me, writing a blog post at 1AM on 31st December 😅
Updated the #openapi based #httpapi visualizer to use some shapes for better accessibility. Some more examples here https://github.com/darrelmiller/openapi-collection/tree/main/ApiDiagrams
@choult @wyri I'm tentatively planning to give a talk at #PHPTek2023 on using #OpenAPI to do a lot of these things and more! 😀 Will definitely try to point to stuff from this convo when I make out my slides.
Stoplight Studio is now forcing accounts on users which is a bummer when it was just open the app and go.
Anyone using an OpenAPI GUI Editor that doesnt require accounts in a stand alone app?
The #OpenAPI map v2 alpha has been online for a while now: I have some python magic extracting data from the md documentation to JSON files. They are rendered in HTML/JS (it's ugly, but I just use it to see what I got). https://arno-di-loreto.github.io/openapi-specification-documentation-as-data/oas-data-viewer-web-component/ #api 🪡
A few years back, I created the #OpenAPI map to help me figure out the spec structure. The data is manually extracted from the markdown specification. Updating to 3.1 would take a day of work, so I'm spending weeks on automation😅 🧵#api https://openapi-map.apihandyman.io/
OpenAPI does what Swagger don't
Thanks to @arnaudlauret for posting this.
@shanselman that's until you need to handle retries for failed requests, and other cross cutting concerns, implement multiple models, serialization... I usually like having the machine work for me when I can.
In case you're interested https://GitHub.com/Microsoft/kiota a modern client generator for #REST #API based on #openapi.
It's made with love from the team behind #microsoftgraph with members from Redmond, Nairobi, the UK, Montreal and more!
@shanselman do you have an #openapi description for that API? Would you have considered a generated client for it instead of handcrafted code?