Norn

The REST client built for testing

Swagger imports, scripts, SQL, sequences, and CLI support — all inside VS Code.

.norn .nornapi .nornsql .nornenv
Built for Real API Workflows

An API testing framework for specs, flows, and CI

Import your API, build readable test flows, and run the same files in VS Code or CI.

Start with the spec

Import Swagger / OpenAPI

Pull in endpoints, generate schemas, and keep coverage tied to the same API definition.

swagger "https://petstore.swagger.io/v2/swagger.json"

endpoints
    GetPetById: GET {{baseUrl}}/pet/{petId}
    PlaceOrder: POST {{baseUrl}}/store/order
end endpoints
Build the flow

Mix API, scripts, and SQL

Run requests, bash or JS helpers, and .nornsql checks in one readable sequence.

sequence VerifyOrderFlow
    run bash ./scripts/seed-db.sh
    var data = run js ./scripts/sign.js {{payload}}
    var row = run sql FindOrder(data.id)
end sequence
Run anywhere

Use VS Code or the CLI

Debug with CodeLens and Test Explorer, then run the same files in local scripts and CI.

norn tests/ --env prelive
norn tests/ --junit results/junit.xml

Contracts and coverage stay connected through the same flow.

See It In Action

Write expressive API tests that are easy to read and maintain

example.norn
test sequence UserWorkflow    # Create a new user    POST {{baseUrl}}/users    {        "name": "Alice",        "email": "alice@example.com"    }    assert $1.status == 201    var userId = $1.body.id    # Verify the user was created    GET {{baseUrl}}/users/{{userId}}    assert $2.body.name == "Alice"end sequence
UserWorkflow 124ms
1. $1 201 Created 67ms
2. assert $1.status == 201
3. $2 200 OK 52ms
4. assert $2.body.name == "Alice"

Everything You Need

Powerful features for API testing, all inside VS Code

Sequences

Chain multiple requests together with automatic response capture. Use $1, $2 to reference previous responses and build complex workflows.

Assertions

Validate responses with powerful operators: equality, contains, regex, type checking, existence, and timing assertions.

Environments

Manage dev, staging, and production configs with .nornenv files. Switch environments instantly with a single click.

CLI for CI/CD

Run tests from the command line with JUnit and HTML reports. Perfect for automated pipelines and continuous testing.

Test Explorer

Discover and run tests from VS Code's Testing sidebar. See colorful output with icons, status codes, and failure details.

API Coverage

Track Swagger/OpenAPI coverage with status bar indicator. See which endpoints and response codes are tested.

Four File Types,
Complete Control

Organize your API and database testing with purpose-built file types that keep requests, SQL, environments, and reusable definitions cleanly separated.

.norn

Test Files

HTTP requests, sequences, assertions, and test logic. This is where your tests live.

.nornapi

API Definitions

Reusable headers, endpoints, and Swagger imports. Define once, use everywhere.

.nornsql

SQL Operations

Named queries and commands with built-in Postgres and SQL Server support, plus custom adapters when you need them.

.nornenv

Environments

Variables for dev, staging, prod. Switch contexts without changing tests.

Ready to Get Started?

Install Norn from the VS Code Marketplace and start testing APIs in minutes.