API Design

API Design 203: The USE Paradigm

Prioritize usability, scalability and evolvability in API design To work effectively, a Web API must display a range of specific software qualities. In this lesson, we outline what we call the “USE Paradigm†– a principle of API design, which states that interface designers should prioritize three particularly important software qualities: usability, scalability and evolvability. […]

TechTalk: Common OAuth Security Mistakes and Threat Mitigations

With vulnerabilities recently surfacing in the OAuth implementations of popular service providers like Yammer, Instagram and Facebook, it’s hard to blame anyone for getting the impression that there are fundamental security flaws in the OAuth protocol. Francois Lascelles, Chief Architect at Layer7, answered OAuth questions live, discussed the common security mistakes made in OAuth implementations […]

API Design 303: Pagination

Minimize response times for requests and improve the app-user experience Pagination is a ubiquitous method for handling large datasets and responses in the browser-based Web but developers of API-based apps also turn to pagination in order to minimize response times for requests and generally improve the end-user experience. In this lesson, we will explore some […]

API Design 202: Architectural Layers

No matter what API design style you choose, there are certain key qualities you will want your interface to have. Designing API architecture able to encompass all these qualities can be challenging. In this lesson, we outline a layered architectural style that simplifies the process of implementing a full-functioned Web API design. For a Web […]

API Design 101: API Design Basics

The term “API design†or “API architecture†refers to the process of developing a software interface that exposes backend data and application functionality for use in new applications. In this lesson, we provide an overview of the API architecture process, as a starting point for a deeper exploration of design and implementation best practices in […]

API Design 201: Web API Architectural Styles

Generally speaking, the term “Web API†describes any software interface that is exposed over the Web using the HTTP protocol in order to facilitate application development (but not limited to any particular message format, pattern or implementation). In this lesson, we provide a detailed overview of the main Web API design styles: Tunneling (aka Web Service); […]

API Design 102: The Developer Experience

One of the key principles of good API design is that an interface must provide a seamless and user-friendly developer experience (DX) if it is to facilitate the creation of applications that add value to the API owner’s business. In this lesson, we explain the importance of a focus on DX and provide an overview […]

Client-Optimized Resource Representations in APIs

Create tiered representations of responses to optimize your API for mobile clients One of the most important design principles for an API program is to embrace that APIs are products. It follows that successful APIs, much like products, must provide user-optimized experiences. Case in point: it is clearly inappropriate to send large response payloads to a […]

Coordinating a Well-Rounded API Program

Creating a well-rounded API program requires coordination between stakeholders with different frames of reference The API Academy is committed to promoting a 360-degree approach to APIs – one that encompasses business strategy, interface design and long-term management. This approach doesn’t simply reflect the interests of the Academy’s experts or the range of services they offer. The fact […]