Define expected request and response shapes, run them against your API on a schedule, alert when the contract breaks. Catches breaking changes before your users do.
Every operation in Assay II is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/contracts — list all contracts with optional search and filter query parametersPOST /api/contracts — create a new contract recordGET /api/contracts/{id} — retrieve a single contract by IDPUT /api/contracts/{id} — update an existing contractDELETE /api/contracts/{id} — remove a contractGET /api/stats — aggregated statisticsGET /api/health — health check endpoint for monitoringA solo developer built a weekend project that needed contracts tracking. Instead of spinning up Postgres and writing an admin panel, they added Assay II as a sidecar process. The REST API covered every operation the project needed. Development time saved: roughly a full day.
Every contract your team creates contains context that matters — name, endpoint, method, expected status, expected body. When that data lives in a third-party service, you are one acquisition or policy change away from losing access. Assay II keeps it local.
GET /api/contracts — List all contracts. Supports ?q=keyword for searchPOST /api/contracts — Create a new contract. Send JSON with at least nameGET /api/contracts/{id} — Fetch one contract by IDPUT /api/contracts/{id} — Update fields on an existing contractDELETE /api/contracts/{id} — Remove a contractGET /api/stats — Returns total countGET /api/health — Returns {"status":"ok"} for uptime monitoringThe dashboard opens at /ui and gives you a search bar, status filters, and a create form. Double-click any contract to edit it inline. Behind the dashboard, every operation maps to a REST endpoint under /api/contracts. Responses are JSON. Authentication is handled at the network level — put Assay II behind your VPN or reverse proxy, and it serves requests to whoever can reach it.
Self-hosted API contract tester. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool assay2
PORT=9980 ./assay2
http://localhost:9980
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export ASSAY2_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./assay2
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.