Tag: restful api

Sorting in a REST API

Sorting is determining the order of items when a list of items is returned from a particular endpoint. The best practice is to really keep things simple and consistent.

Continue reading

Date and DateTime Handling in APIs

Application Programming Interfaces and dates are just as difficult.

Timezone issues crop up because dates and datetimes are just strings in JSON, there’s nothing to necessarily say that this is a date in this format.

Continue reading

Designing APIs by Contract

Designing by software is a contract – like a legal or business contract. When we design software by contract it means we are designing against a specific specification for each software component.

Continue reading

Is the REST API dead?

The REST API will be alive for many years to come because many companies set up integrations and forget about them until there’s a problem. It is still one of the dominant types of application integrations: REST API, SOAP, and more recently GraphQL.

Continue reading

What is HATEOAS?

HATEOAS stands for Hypertext As The Engine of Application State. The theory is that by embedding enough information in our API responses it will be easier to use the API without needing to consult documentation.

Continue reading

5 Common REST API Challenges

When designing a REST API we need to really think of the different challenges that can occur. While many of these challenges are related to ignoring the REST API Constraints, there are definitely other issues that will pop up as you work.

Continue reading

RESTful API Design Cheat Sheet

A cheat sheet covering RESTful concepts for design and development.

The cheatsheet is one page and covers versioning, designing consistent URIs, HTTP methods, HTTP status codes, error handling and authentication/authorization.

Continue reading

API Style Choices

APIs come in many different styles and types. Before running into a style we need to understand the different options and the trade offs that we are making.

Continue reading

5 Best Practices for Designing RESTful APIs

Over the years, I have been really blessed to work on a number of API developments and to be able to consume a lot of APIs as well whether the APIs were in finance, sales automation (salesforce), or other services. A lot of the APIs had really noticeable deficiencies which I feel really made using the API a lot more difficult than it had to be.

This blog article is really a look at years of experience with APIs and a first attempt to at trying to make them easier to use for the developer. It’s really important to take time upfront and design a great API because it has the potential to be a huge asset for the company, and also has the potential to also be the company’s greatest liability.

A public API will have to remain virtually the same basically forever, so you really only have one chance to get it right. This is because customers or other integrators typically won’t ever update. If your API doesn’t have versioning you’ll basically never be able to make breaking changes. As users use your API and as feedback is collected you should be evolving the API. Continue reading

What is An API

API is an acronym for Application Programming Interface. An API is a way for two applications to talk to one another. I like to think of an API as a data pipe that connects two systems together.

Probably most software and hardware you are using uses an API because the server has to talk to the application somewhere along the line. For the most part, most systems use an API to do a lot of the data processing and keeping data secure before it is inserted directly into the database.

Most companies are now building an API for at least mobile applications or other devices to call. A well designed system will use an API that can do load balancing and data caching to more efficiently use resources and better deliver a consistent user experience.