Skip to main content

Overview

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

https://YOUR-TESTVIBE-SERVER/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. They are generated from one shared manifest and one shared operations core, so behavior and guardrails are identical everywhere.

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}/generationtestvibe generate <feature> --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.