Open Source • TypeScript • API Testing

API Tests That Live
In Your Codebase

Like Datadog Synthetics, but it lives in your code. Write API tests with TypeScript, run them locally or remotely, and keep your production APIs healthy.

__griffin__/api-check.ts
import { GET, ApiCheckBuilder, JSON, START, END, Frequency } from "griffin-ts";

const builder = new ApiCheckBuilder({
  name: "health-check",
  endpoint_host: "https://api.example.com"
});

const plan = builder
  .addEndpoint("health", {
    method: GET,
    response_format: JSON,
    path: "/health"
  })
  .addEdge(START, "health")
  .addEdge("health", END);

plan.create({ frequency: Frequency.every(15).minutes() });

Everything You Need for API Testing

A complete toolkit for writing, running, and monitoring API tests in your codebase

TypeScript DSL

Write tests in TypeScript with a chainable API. Build test plans with endpoints, waits, assertions, and edges. Outputs JSON plans for execution.

Local & Remote Execution

Run tests locally during development or deploy them to remote runners. Execute test plans with graph-based flow following edges between endpoints.

Scheduled Execution

Orchestrate tests with configurable frequencies. Run tests every minute, every 15 minutes, or on custom schedules. Store results and logs in PostgreSQL.

How It Works

A simple workflow for keeping your APIs healthy

1

Write Tests

Create .ts files in __griffin__ directories using the TypeScript DSL

2

Run Locally

Use the CLI to discover and execute tests against your development servers

3

Deploy

Deploy tests to remote runners for scheduled execution against production APIs

4

Monitor

View execution logs, track results, and ensure your APIs stay healthy

Built for Developers

Modular architecture with separate components for maximum flexibility

griffin-cli

The CLI tool that discovers test files, runs tests locally, and manages remote runner configurations.

  • Discovers .ts test files
  • Runs tests against dev servers
  • Configures runner hosts

griffin-runner

The orchestration service that schedules and executes tests based on their configured frequencies.

  • Schedules tests by frequency
  • Stores results in PostgreSQL
  • Provides REST API for CLI

griffin-ts

The TypeScript DSL library for defining API tests with a chainable API.

  • Chainable API for test plans
  • Supports endpoints, waits, assertions
  • Outputs JSON test plans

griffin-plan-executor

The executor that takes JSON test plans and runs them locally or remotely.

  • Executes JSON test plans
  • Graph-based execution flow
  • Local and remote execution

Start Testing Your APIs Today

Join developers who keep their APIs healthy with tests that live in their codebase

Open source • MIT License • Built with TypeScript