BLEST

Beyond REST

BLEST: A revolutionary new approach to networked application architecture

Mission: The Future of APIs

While REST has played a tremendous role in the development web services, it has several limitations which make it increasingly less suitable for modern web applications. BLEST (Batch-able Lightweight Encrypted State Transfer) addresses these limitations head-on, opening up a new realm of possibilities for the next generation of connected applications.

Benefits: What Makes It BLEST

  • Built on JSON

    BLEST harnesses the power of JSON (JavaScript Object Notation), providing a standardized and uniform data representation that seamlessly integrates with existing parsing libraries.

  • Request Batching

    With BLEST, multiple operations can be performed in a single request. By batching requests we save bandwidth, reduce latency, and eliminate unnecessary overhead on servers.

  • Compact Payloads

    BLEST introduces a clear and succinct payload structure that is not only efficient to send but also easy to read and write. Its streamlined approach ensures optimum performance.

  • Single Endpoint

    BLEST eliminates URI/method-based routing in favor of a single endpoint and named routes. This reduces complexity, improves developer experience, and facilitates API introspection.

  • Fully Encrypted

    As data security is increasing important, BLEST mandates the use of end-to-end encryption, such as TLS (HTTPS), ensuring that your data remains secure throughout its journey.

Payload: How BLEST Works

Request

The BLEST request is a JSON array comprised of one or more request items (also JSON arrays). Each request item contains a unique ID, the route name, a body (optional), and headers (optional).

[ [ "eba2ab06-f771-4017-9065-eb7e0e5d934f", "product/getProductById", { "productId": "f91588cf-c401-4886-a15c-5a0cb2f38db0" }, { "auth": "myToken" } ] ]

Response

The BLEST response is a JSON array comprised of the same number of items as the request (also JSON arrays). Each response item contains its ID and route along with the result or an error.

Response with Result

[ [ "eba2ab06-f771-4017-9065-eb7e0e5d934f", "product/getProductById", { "productId": "f91588cf-c401-4886-a15c-5a0cb2f38db0", "productName": "Interstellar Navigator", "price": 3.14, "category": { "categoryId": "8ffa6ba6-c5ad-41b4-94a6-95d19d01c520", "categoryName": "Space Exploration" } }, null ] ]

Response with Error

[ [ "eba2ab06-f771-4017-9065-eb7e0e5d934f", "product/getProductById", null, { "message": "Product not found." } ] ]

Launch Pad: How To Get Started

Client and server reference implementations are available in multiple languages and frameworks to help you get up and running. For language or framework requests or to suggest an improvement to an existing implementation please contact us.

Front-end

  • ReactJS
  • Angular
  • Vue.js

Back-end

  • NodeJS
  • Python
  • Ruby
  • Go
  • PHP

Flight Log: Exploring Possibilities

Oct 25, 2024

Announcing Version 1.0

BLEST came out last summer and after a year of usage in development and production environments it's time to announce an official version 1.0. Here's what you need to know.

July 20, 2023

Proposal: BLEST Introspection via Utility Routes

Introspection allows developers to query an API to learn about its available endpoints, data structures, and supported operations regardless of whether they have access to its source code. Introspection is particularly helpful for exploring third-party APIs and enabling IntelliSense in IDEs. Here we outline a proposal for API introspection within the BLEST protocol.

July 7, 2023

Comparing, Contrasting, and Combining BLEST and GraphQL

GraphQL is an innovative solution for querying graph-like systems, but it is not an all-purpose solution nor is it a replacement for REST (and it was not designed to be). BLEST offers a single endpoint API surface like GraphQL, but it is simpler, less opinionated, and flexible enough to support a wide variety of use cases (including serving GraphQL).

June 2, 2023

BLEST White Paper

BLEST offers a straightforward, standardized protocol for inter-application communication that builds from the foundation laid by REST. It solves many of the problems plaguing applications today such as over- and under-fetching, lack of uniformity, and performance overhead. It also reduces API complexity, increases flexibility, and improves security.

Ground Control: We're Here To Help

If you have comments, questions, or suggestions, or are interested in working together to bring BLEST to your organization, please use this form to get in touch.

By submitting this form you agree to the electronic transfer and storage of the information provided therein.