BERRY LANGUAGE · OPEN BETA flexiberry - Open-source, Lightweight HTTP client & API testing framework | Product Hunt

The Declarative HTTP Client.
Write your API sequences, run them anywhere.

Flexiberry is the open-source API testing framework that chains dependent requests sequentially using a clean, declarative language. Zero Javascript boilerplate. Zero environment sync pain. Just readable .berry scripts that run natively from your editor, CLI, or CI/CD pipelines.

terminal — flexiberry run
$ flexiberry run auth.berry
Loading script and initializing environment...
RUN Step 1: User Authentication
✔ POST /api/v1/auth/login 200 OK (38ms)
✔ Captured variable token
RUN Step 2: Fetch Account Profile
✔ GET /api/v1/user/profile 200 OK (22ms)
✔ Assertion check $.status == 200 passed
✔ Success: All tasks completed successfully in 60ms.
100% Open Source Zero Dependencies CI/CD Ready MIT Licensed
BACKEND ECOSYSTEM · INTEGRATIONS

Native Framework Integrations

Generate type-safe Flexiberry workflow specs directly from your existing backend controllers, annotations, and route handlers.

ACTIVE DEV
Spring Boot Icons8 Logo

Spring Boot

Java / Kotlin
In Progress
Express.js Icons8 Logo

Express.js

Node.js / TS
Coming Soon
NestJS Icons8 Logo

NestJS

TypeScript
Coming Soon
Django Icons8 Logo

Django

Python
Coming Soon
FastAPI Icons8 Logo

FastAPI

Python
Coming Soon
Go (Gin / Fiber) Icons8 Logo

Go (Gin / Fiber)

Go
Coming Soon

How does FlexiBerry compare to
traditional API tools?

CapabilityPostman / InsomniaBruno / Hurl
FlexiBerry YOU
Git-friendly plain-text format Store API specs directly in repo with human-readable diffs & commits
(JSON blobs)
Yes
.berry DSL
Sequential request chaining w/ captures Extract tokens & variables from step N and inject into step N+1
Scripted (JS pre/post-request)
Manual
First-class Capture / Step.N.key
Native readable assertions Declarative status, body, and header checks without JS test bloat
Scripted
Basic
Check block w/ OR chains
CLI runner Automate test sequences effortlessly in CI/CD or local terminals
Newman (separate tool)
Hurl CLI
Built-in flexiberry run
Editor integration Full IDE experience with diagnostics, autocomplete, and formatting
Extension-ish
VS Code ext
Full LSP
(diagnostics, autocomplete, formatter)
Environments / scoping Dynamic variable contexts across local, staging, and production
Yes
Partial
Env + @pointer blocks
Data-driven loops Parameterized execution with multiple input data iterations
Yes (CSV runner)
Yes
Input statement
Secrets encryption Secure storage & runtime decryption of sensitive keys and tokens
Vault integration
Decrypt +
pluggable provider
Visual notebook-style editor Interactive block-based workspace for building, running & inspecting
N/A
Svelte block IDE Unique!
VS POSTMAN & INSOMNIA

Zero Cloud Lock-in & No JS Scripts

Replace heavy GUI apps and hidden pm.response.json() scripts with human-readable .berry files committed directly to your Git repository.

VS BRUNO & HURL

First-Class Chaining & LSP Tooling

FlexiBerry features first-class Capture syntax, native Check assertions with OR chains, secrets decryption, and full LSP autocomplete.

NOTEBOOK-STYLE WORKFLOW

Interactive Svelte Block IDE

A unique visual notebook experience combining the speed of plain-text code with interactive block-based testing, instant responses, and built-in CLI execution.

API Testing shouldn't require
writing an entire automation app

The Pain: Scripting Overload

Most API clients require writing custom Javascript wrappers and environment getters/setters just to pass an ID or token to the next request.

postman-scripts.js
// JavaScript Boilerplate
const response = pm.response.json();
pm.environment.set("token", response.token);
pm.test("Status is 200", function() {
  pm.response.to.have.status(200);
});

This results in bloated test scripts, broken environment variable syncs, and tests that are impossible to review in Git.

Our Solution: Declarative Chaining

Flexiberry uses the human-readable .berry syntax to describe requests, captures, and assertions out-of-the-box.

auth-flow.berry
# Native Chaining in Task Steps
Step Call Api login
  Capture
    - token: response.token
  Check
    - $.status == 200

Zero dependencies, zero boilerplates. Variables are dynamically bound and passed down the execution chain automatically.

Interactive Demo

See Flexiberry in action

flexiberry-demo.mp4

Key Features for
Sequential API Workflows

Flexiberry strips away the bloat and provides a lightning fast environment tailored for multi-API journeys.

Chaining

Seamless Chaining

Extract headers, cookies, or body fields from one response and inject them into subsequent API requests natively.

Capture
- token: response.token

Header
- Authorization: 'Bearer {{token}}'
DSL

Readable DSL Syntax

Write HTTP requests, variable declarations, and expectations in a structured, domain-specific script language.

Api POST #createUser
Url "{{Config.baseUrl}}/users"
Header
- Content-Type: 'application/json'
Engine

Dual-Purpose Engine

Draft single scratchpad endpoints during development or run complex test runner flows with assertions.

# Execute tasks or single endpoint APIs
flexiberry run user.berry --api createUser
CI/CD

CI/CD Automations

Lightweight, zero-dependency engine. Run your tests in local shells or trigger them in GitHub Actions workflows.

# GitHub Actions runner configuration
- run: npx flexiberry run flow.berry
Environments

Environment Configs

Manage endpoints dynamically by swapping local dev, staging, or production env files without changing files.

Var @PROD Production Config
- baseUrl: 'https://api.flexiberry.dev'

Who is Flexiberry For?

Backend Developers

A lightweight, CLI-first client to scratchpad daily endpoints and test stateful chains without leaving the terminal.

QA & Test Engineers

A git-friendly, text-based test suite that version controls cleanly, integrates natively in CI, and speeds up validations.

Product Teams

A transparent, human-readable way to model and verify core user integration stories (e.g. signup ➔ login ➔ profile).

Open Beta

Ready to unlock
frictionless workflows?

Flexiberry is 100% open-source and community-driven. Take control of your API endpoints today.

$ npm install -g flexiberry

Free forever · Open source · MIT License