Every execution command in MarkApiDown —Documentation Index
Fetch the complete documentation index at: https://docs.markapidown.net/llms.txt
Use this file to discover all available pages before exploring further.
mad exec, mad flow, and mad request --verbose — accepts an --output flag that controls how results are printed. Choose the format that fits your context: console for interactive use, json when a script needs to parse results, junit for CI test reporters, and markdown when you want a shareable report. The format flag is identical across all three commands, so the examples below apply everywhere.
Overview
console
Colored terminal output with status, timing, and request/response diff. The default for interactive use.
json
Structured JSON object. Parse it in scripts, dashboards, or custom reporters.
junit
JUnit XML. Drop into GitHub Actions, Jenkins, CircleCI, or any CI system with a test-results reporter.
markdown
A markdown report. Save it to a file, post it as a PR comment, or include it in documentation.
console (default)
Theconsole format is designed for human readers. It prints a color-coded summary showing the HTTP status, response time, and a diff between the expected and actual response. Passing assertions are marked with ✓; failing ones with ✗ and an inline diff.
--output=console explicitly — it is the default for all execution commands.
--no-color flag or setting the NO_COLOR environment variable:
json
Thejson format emits a single JSON object to stdout. Use it whenever another program needs to consume the result — a custom Slack notifier, a dashboard ingest script, or a PR comment bot.
| Field | Type | Description |
|---|---|---|
passed | boolean | true if all assertions passed, false otherwise. |
status | integer | HTTP status code of the actual response. |
duration_ms | integer | Time from request dispatch to response receipt in milliseconds. |
endpoint | string | Path of the spec file that was executed. |
env | string | Environment name used for variable resolution. |
response.status | integer | Raw HTTP status code. |
response.headers | object | Response headers as key/value pairs. |
response.body | string | Raw response body. |
assertions | array | Per-assertion results with description and passed. |
jq to extract just the pass/fail status and duration:
junit
Thejunit format produces JUnit-compatible XML. Every major CI system — GitHub Actions, Jenkins, CircleCI, GitLab CI, Buildkite — can parse JUnit XML to display per-test pass/fail annotations, track trends, and surface failures inline on pull requests.
GitHub Actions upload example
Save the JUnit XML as an artifact and use a test-reporter action to annotate the pull request:Use
if: always() on the upload step so the XML file is saved even when the spec run fails. Without it, the artifact is silently discarded when any test does not pass.Jenkins pipeline example
markdown
Themarkdown format generates a human-readable markdown report. Use it to save a record of a test run to disk, embed it in documentation, or post it as a pull request comment via a CI step.
Save to a file
Post as a GitHub PR comment
Combine with thegh CLI to post the report as a pull request comment automatically:
Choosing the right format
| Scenario | Recommended format |
|---|---|
| Developing locally, checking a single endpoint | console |
| Script that branches on pass/fail and reads response fields | json |
| CI job that needs test-result annotations on a PR | junit |
| Saving a record of a release smoke test | markdown |
| Posting a test summary as a PR comment | markdown |
| Parsing failure reason programmatically in CI | json |