API Icon

API

An API (Application Programming Interface) is a collection of protocols and subroutines for building software.
38 Stories
All Topics

Jonas Lundberg github.com

Ain is a terminal API client (alternative to Postman, Paw, Insomnia)

Ain was born out of the frustration of working with many API endpoints in GUI clients.

While pretty, I could’t use any shell-scripts or commands such as uuidgen as input to the endpoints without copy pasting from a terminal. And I had to copy-paste the resulting output back into the terminal to further slice and dice it.

I had become a human pipe and my ctrl+c, ctrl+v fingers were hurting. By using curl and/or httpie for the heavy lifting, Ain removes you from the piping of input and output. With Ain, you can:

  • Organize API endpoints using files and folders
  • Use shell-scripts and executables anywhere
  • Put things that change in environment-variables or .env files
  • Share the resulting curl or http(ie)-call with friends and foes
  • Pipe any output for further processing

Slack Engineering Icon Slack Engineering

How we design our APIs at Slack

This is quite a resource coming from a team whose API has always impressed me.

If APIs are designed well, developers will love them, and can become the most creative innovators using your APIs. They will invest heavily, and sometimes even become evangelists for your APIs. We also value a developer’s time and the resource they risk by building on our platform. Bad API design leads to a bare minimum adoption, and even frustration. Bad APIs become a liability for a company.

They share their six design principles as well as the process they follow through to implementation. A must-read for anyone who designs and builds APIs for fun and profit.

Ship It! Ship It! #15

Assemble all your infrastructure

In this episode, Gerhard follows up on The Changelog #375, which is the last time that he spoke Crossplane with Dan and Jared. Many things changed since then, such as abstractions and compositions, as well as using Crossplane to build platforms, which were mostly ideas.

Fast forward 18 months, 2k changes, as well as a major version, and Crossplane is now an easy choice - some would say the best choice - for platform teams to declare what infrastructure means to them. You can now use Crossplane to define your infrastructure abstractions across multiple vendors, including AWS, GCP & Equinix Metal. The crazy ideas from 2019 are now bold and within reach. Gerhard also has an idea for the changelog.com 2022 setup. Listen to what Jared & Dan think, and then let us know your thoughts too.

API github.com

A collection of free/public APIs you can use to build awesome stuff

There was a glorious (albeit too short) period on the web when we were mashing up APIs from various startups and tech companies to create cool stuff. Then things changed. The web grew up, became Serious Business™️, and free/public APIs got harder and harder to find. Turns out, there’s still a bunch of good ones out there!

This repo has collected them in one long, categorized list for us to reference. 👏

Founders Talk Founders Talk #77

From open source to commercially viable

This week Adam is joined by Asim Aslam, the founder of Micro - a new cloud platform entirely focused on the developer experience of consuming and publishing public APIs. Asim’s journey spans many years of open source work on Micro. His sole focus right now, is evolving that work into a commercially viable business. This episode is jam-packed with stories of great timing, grit, resilence, success and failure, and, of course, lessons learned.

API pirateweather.net

A weather forecast API to replace Dark Sky's

You may have heard that Dark Sky (the beloved weather app for iOS) was acquired by Apple and its accompanying developer API will be shut down soon, which left a lot of devs scrambling for alternatives. Enter the PirateWeather API:

Weather forecasts are primarily determined using models run by government agencies, but the outputs aren’t easy to use or in formats built for applications. To try to address this, I’ve put together a service (built on AWS Lambda) that reads public weather forecasts and serves it following the Dark Sky API style.

It’s in beta at the moment, but it appears the author has put a lot of thought into it.

Alex Johansson tRPC.io

A TypeScript toolkit for building end-to-end typesafe data layers

tRPC doesn’t generate code for you, add functions to your run-time, or require any additions to your build pipeline. It simply allows your client code to be aware of your server-side type annotations and declarations so you can have type-safety and autocompletion inferred from its API paths, input/output data, and errors.

A TypeScript toolkit for building end-to-end typesafe data layers

Increment Icon Increment

What the history of HTTP status codes can tell us about the future of APIs

Darius Kazemi writing in Issue #14 of Increment magazine:

HTTP status codes are largely an accident of history. The people who came up with them didn’t plan on defining a numerical namespace that would last half a century or work its way into popular culture. You see this pattern over and over in the history of technology.

Because technology isn’t immune to historical contingency, it’s important for us as engineers to remember that long-lasting technical inflection points can occur at any time. Sometimes we know these decisions are important when we’re making them. Other times, they seem perfectly trivial.

Corentin Brossault DEV.to

First hands on the new Twitter API

Twitter has officially released its new API, aka version 2. Introduced with an astonishing video and proudly promoted as a rebuild “from the ground up to better support developers”, including business, academic researchers, students, and makers.

I was really excited to see the new opportunities that it brings. While still in an early access phase, I must say that I’m a bit disappointed so far…

OpenAI Icon OpenAI

OpenAI now has an API

For years now I’ve been asking AI/ML experts when these powerful-yet-complicated tools will become available to average developers like you and me. It’s happening! Just look at how high-level this text generation code sample is:

import openai

prompt = """snipped for brevity's sake"""

response = openai.Completion.create(model="davinci",
  prompt=prompt, 
  stop="\n",
  temperature=0.9,
  max_tokens=100)

They’re oftening all kinds of language tasks: semantic search, summarization, sentiment analysis, content generation, translation, and more. The API is still in beta and there’s a waitlist, but this is exciting news, nonetheless.

JS Party JS Party #111

Lesser known things browsers can do in 2020

Did you know you can make a device vibrate via a webpage? Neither did we until we popped open Luigi De Rosa’s super cool repo that collects many of the lesser known things browsers can do in 2020.

On this episode we hang out on his list and discuss which APIs were surprises to us, which we think are the most useful, which we wish would die in a fire (sorta), and what you might get if you mash up a few of these APIs.

Manuel Vila liaison.dev

Do we really need a web API?

Most of the time, web APIs are not functional requirements. They don’t add any value to the product we are building. They are just a necessary evil so the frontend can communicate with the backend. But is that really the case? Wouldn’t it be possible to get rid of these web APIs?

In response to this, Manuel built Liaison, which is still in alpha, but aims to seamlessly bridge the divide between frontend and backend without having to formalize an API between the two.

From reading the post, it appears to be akin to our old friend, RPC. If you are interested enough to dive into the code, he’s put together a RealWorld example which holds up quite well to the competition on a lines-of-code-to-implement basis.

Ballerina blog.ballerina.io

Ballerina goes 1.0

You may have initially heard of Ballerina on episode #313 of The Changelog. Well, the “first cloud native programming language” has finally reached its milestone 1.0 release!

After more than 3 years of hard work by an incredible team, I am thrilled to announce the general availability of Ballerina 1.0!

Congrats to Paul and the team for powering through and shipping something they can be proud of! Check the announcement post for all the details of what “1.0” means for Ballerina.

0:00 / 0:00