Skip to main content

Test APIs with requests that live in your repo.

Define requests in YAML, run them from the CLI, and keep your checks alongside the code they protect.

ONE FILE · THREE INTERFACES

One request. Every part of your workflow.

Start with a file. Use it from your terminal, inside the TUI, or in your CI checks.

REQUEST FILErequests/get-user.yaml
YAML
method: GET
url: /api/users/42
assertions:
status: 200
CLIsendra runRun a request
Interactive TUIsendra tuiExplore and edit
CIsendra testVerify every change
THE REQUEST WORKSPACE

A workspace for the whole request

Move between the parts of your API workflow. The same files stay at the center.

get-request.yaml
1method: GET
2url: https://api.example.com/users
3assertions:
4  status: 200
5  body.id: exists
IN PRACTICE

From request file to CI result

Write the expectation once. Run the same request locally or in your build.

REQUEST FILErequests/get-request.yaml
method: GET
url: https://httpbin.org/get
assertions:
  status: 200
  body_contains: '"url"'
CI RUNpull-request.yml
$ sendra test requests/get-request.yaml

200 OK  142 ms

assertions
  ✓ status is 200
  ✓ body contains "url"
  2 passed
PASS exit code 0
See how request testing works

Get started

Install Sendra with the package manager you already use.

Prebuilt binaries, checksums, and the full changelog are on the v0.1.0 release. For everything else, the docs cover the rest.