Skip to main content

Overview

The API is resource-oriented JSON over HTTPS, mounted under:

https://testvibe.app/api/v1/ops

Each reference page documents one operation across its three surfaces: the REST route, the MCP tool (same name as the page), and the CLI command. The operations core enforces server-side rules. The CLI and MCP wrappers add their own argument handling and output, and not every REST option has a wrapper.

Operations at a glance​

MCP toolRESTCLI
list_projectsGET /projectstestvibe projects
get_creditsGET /creditstestvibe credits
list_billing_historyGET /credits/historytestvibe credits history
list_credit_usageGET /credits/usagetestvibe credits usage
list_featuresGET /projects/{project}/featurestestvibe features list
get_featureGET /projects/{project}/features/{feature}testvibe features show <feature>
create_featurePOST /projects/{project}/featurestestvibe features create <name> --file <path>
update_featurePATCH /projects/{project}/features/{feature}testvibe features update <feature> …
delete_featureDELETE /projects/{project}/features/{feature}testvibe features delete <feature>
generate_featurePOST /projects/{project}/features/{feature}/generatetestvibe generate <feature>
get_generation_statusGET /projects/{project}/features/{feature}/generationREST/MCP status read (CLI dispatch uses --watch)
wait_for_generation(poll the status route)--watch
get_generation_logGET /projects/{project}/features/{feature}/generation/log—
cancel_generationPOST /projects/{project}/features/{feature}/generation/cancel—
run_featurePOST /projects/{project}/features/{feature}/runtestvibe run <feature>
wait_for_run(poll the run route)--wait
get_runGET /projects/{project}/runs/{runId}testvibe runs show <runId>
list_runsGET /projects/{project}/runstestvibe runs list
get_run_artifactsGET /projects/{project}/runs/{runId}/artifactstestvibe runs artifacts <runId>
list_filesGET /projects/{project}/filestestvibe files list
read_fileGET /projects/{project}/files/content?path=testvibe files get <path>
write_filePUT /projects/{project}/files/contenttestvibe files put <path> --file <local>
list_configsGET /projects/{project}/configstestvibe configs
list_load_testsGET /projects/{project}/loadtestvibe load list
run_load_testPOST /projects/{project}/load/{loadTest}/runtestvibe load run <loadTest>
list_automationsGET /projects/{project}/automationstestvibe automations list
get_automationGET /projects/{project}/automations/{automationId}testvibe automations show <automationId>
create_automationPOST /projects/{project}/automationstestvibe automations create …
update_automationPATCH /projects/{project}/automations/{automationId}testvibe automations update <automationId> …
delete_automationDELETE /projects/{project}/automations/{automationId}testvibe automations delete <automationId>
run_automationPOST /projects/{project}/automations/{automationId}/runtestvibe automations run <automationId>
list_automation_runsGET /projects/{project}/automations/{automationId}/runstestvibe automations runs <automationId>
get_coverageGET /projects/{project}/coveragetestvibe coverage show
scan_coveragePOST /projects/{project}/coverage/scantestvibe coverage scan
list_coverage_runsGET /projects/{project}/coverage/runstestvibe coverage runs
run_coveragePOST /projects/{project}/coverage/runtestvibe coverage run
list_pluginsGET /projects/{project}/pluginstestvibe plugins list
install_pluginPOST /projects/{project}/plugins/{slug}/installtestvibe plugins install <slug>
remove_pluginPOST /projects/{project}/plugins/{slug}/removetestvibe plugins remove <slug>
publish_pluginPOST /projects/{project}/pluginstestvibe plugins publish --name "…"
unpublish_pluginDELETE /projects/{project}/plugins/{slug}testvibe plugins unpublish <slug>
list_variablesGET /projects/{project}/variablestestvibe vars list
set_variablePUT /projects/{project}/variables/{name}testvibe vars set <NAME> <value>
delete_variableDELETE /projects/{project}/variables/{name}testvibe vars delete <NAME>
list_secretsGET /projects/{project}/secretstestvibe secrets list
set_secretPUT /projects/{project}/secrets/{name}testvibe secrets set <NAME> <value>
delete_secretDELETE /projects/{project}/secrets/{name}testvibe secrets delete <NAME>
info

wait_for_generation and wait_for_run are client-side conveniences (the MCP server and CLI poll for you). Over raw REST, poll the corresponding GET route — see Long-running operations.

Start with Conventions & errors for the request/response basics shared by every page.

The existing pages retain their URLs. The current API also exposes model discovery (GET /projects/{project}/models), groups/history, generation answers and guided sessions, verify-change, source repositories, assets, trace analysis, load-run measurements, and per-member credit usage. See the CLI command overview and MCP discovery. REST-only options are identified on the related pages rather than implied to exist in every wrapper.