Hello, u/oxamide96
I was recently invited to this community. I don't have the authority to say one way or another what is allowed or not in the community. My guess would be that any kind of question, comment, or post related to APIs and API development would probably be fair game. I would think that the development of CLI tools would be acceptable.
I'm a web developer and I build web APIs with node.js on the backend and JavaScript API clients on the frontend. The way I look at it, an API (application programming interface) is a kind of abstraction. It wraps complex functionality (with lots of conditions, rules, etc) into easy-to-use methods or functions, which a developer can use to quickly utilize the underlying functionality, in order to build something new.
As far as differentiating the different APIs, I think that often depends on where they are used. For example, If I have an authentication API running in Node.js, I would just call that a web API. On the frontend, while you can use JavaScript to access various browser APIs (WebRTC, Crypto, IndexedDB), the browser APIs themselves are not a part of JavaScript (proper). They are interfaces to various functionality, added to the browser, and abstracted to the developer via JavaScript objects. Node.js is just JavaScript on the server, but those browser APIs are not natively accessible because they are not really a part of the JavaScript language. Make sense?
Here is a useful resource for differentiating APIs:https://stoplight.io/api-types/
Absolutely, I put a lot of time and effort into not saying "code first is awful and you should use design-first" in this article. After-all, I've explained it at length in other articles.
In my personal option, annotations are a bit of a mess but a lot of people still use them, and change is slow.
In Stoplight's opinion, we'd rather support mixed organizations than force people to split their tool-chains based on the workflow.
Cool. FYI, you'll want to move that to https://api.newton.co/dashboard/api/rates/ - we're deprecating the tradenewton.com domain.
You can also grab Newton Pro prices with Socket.io: https://stoplight.io/p/docs/gh/docs-newton/newton-api-docs
You're not wrong but copy and paste is only one way of not repeating yourself. $ref let's you split schemas out in different files, which maybe you're familiar with, but an amazing number of people aren't. https://stoplight.io/blog/keeping-openapi-dry-and-portable/
There’s a new tool in town Stoplight Studio. It’s free (there’s a web version https://stoplight.io/p/studio )
You can try to import your swagger.yaml/json and quickly remove all the endpoints which you don’t want to share.
But importing is kind of a hit and miss if you have written the specs by hand.
Let me know how it went!