MCP Reference

Testing — MCP Tools

87 tools in the Testing group of the Routebase MCP server.

add_assertion

Add an assertion (validation rule) to a test case. Assertions validate the HTTP response when the test is executed. Types: status (HTTP status code), body (response body content), header (response header value), latency (response time in ms), jsonPath (JSON path value), schemaValidation (validate against schema). Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
type string Yes Assertion type: 'status', 'body', 'header', 'latency', 'jsonPath', 'schemaValidation'
operator string Yes Comparison operator: 'equals', 'notEquals', 'contains', 'notContains', 'regex', 'exists', 'lessThan', 'greaterThan', 'lessThanOrEqual', 'greaterThanOrEqual'
target string No Target field (e.g., header name for 'header' type, JSON path expression for 'jsonPath' type). Not needed for 'status' or 'body' types.
expectedValue string No Expected value to compare against (e.g., '200' for status code, 'application/json' for header)
isEnabled boolean No (default true) Whether the assertion is enabled (default true)

add_response_extraction

Add a response extraction rule to a test case: capture a value from the response and store it in a runtime variable that later scenario steps can reference as '{{variableName}}'. This is the declarative alternative to a post-response script calling rb.setVariable(...). Sources: 'body' (requires jsonPath, e.g. '$.id'), 'header' (requires headerName), 'statusCode' (captures the HTTP status). Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
variableName string Yes Name of the variable to store the extracted value (used as '{{variableName}}' in later steps)
source string Yes Extraction source: 'body' (JSON path from response body), 'header' (response header), or 'statusCode' (HTTP status code)
jsonPath string No JSON path expression for 'body' source (e.g. '$.id', '$.data.token')
headerName string No Header name for 'header' source (e.g. 'Location', 'X-Request-Id')

add_scenario_step

Append a test-case step to an existing scenario. Use add_wait_step for a pause step. Requires project context.

Required scope: tests:write

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario
testCaseId string Yes Public ID (GUID) of the test case to add as a step
isEnabled boolean No (default true) Whether the step is enabled (default true)
condition string No Optional JSON condition expression that gates whether the step runs

add_wait_step

Append a wait (pause) step to an existing scenario. Requires project context.

Required scope: tests:write

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario
waitDurationMs integer Yes Wait duration in milliseconds (0–300000)
isEnabled boolean No (default true) Whether the step is enabled (default true)
condition string No Optional JSON condition expression that gates whether the step runs

bulk_delete_test_runs

Delete several test runs and everything recorded with them — results, assertion outcomes, response bodies. Cannot be undone. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testRunIds string Yes Comma-separated test run Ids to delete

check_schema_drift

Check for schema drift between a test case's linked endpoint snapshot and the current spec. Supports two modes: single test case (provide testCaseId) or batch check for all linked test cases of a spec (provide specId). Exactly one of testCaseId or specId must be provided. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testCaseId string No Public ID (GUID) of a single test case to check for drift (single mode)
specId string No Public ID (GUID) of a spec to batch-check all linked test cases (batch mode)
checkAgainstLinkedVersion boolean No (default false) In single mode, compare against the linked spec version instead of current (default false)

copy_environment_auth

Copy the auth configuration of one environment onto another, overwriting whatever the target had. Requires project context.

Required scope: tests:write

Parameter Type Required Description
sourceEnvironmentId string Yes Public Id (Guid) of the environment to copy FROM
targetEnvironmentId string Yes Public Id (Guid) of the environment to copy TO — its current auth is replaced

create_fixture

E84: Create a project-owned fixture (structured test data) from raw YAML or JSON content. Requires project context.

Required scope: tests:write

Parameter Type Required Description
name string Yes Name of the fixture
contentRaw string Yes Raw fixture content (YAML or JSON source)
format string No (default "yaml") Fixture format: 'yaml' or 'json' (default 'yaml')
description string No Optional description of the fixture
tags string No Comma-separated tags
linkedSchemaId string No Optional public ID (GUID) of a schema to link/validate the fixture against

create_scenario

Create a new test scenario (multi-step workflow) in the active project. Optionally add steps inline via the 'steps' parameter. Each step is either a test case reference or a wait step. Variables extracted from earlier steps are available to later steps. Requires project context.

Required scope: tests:write

Parameter Type Required Description
name string Yes Name of the scenario
description string No Optional description of the scenario
tags string No Comma-separated tags (e.g., 'smoke,integration,e2e')
steps string No Optional JSON array of steps to add inline. Each step is either {"testCaseId":""} for a test case step or {"waitDurationMs":1000} for a wait step. Optional fields per step: "condition" (JSON condition expression), "isEnabled" (bool, default true).

create_seed

E84: Create a seed — an ordered sequence of HTTP requests that set up (pre-run) and tear down (post-run) test data. Steps are provided as JSON arrays; each step object supports 'type' ('httpRequest', 'delayMs', 'fixtureLoop', 'testCaseRef'), 'method', 'url', 'headersJson', 'bodyJson', 'expectedStatusCodes', 'captureToVariables', 'delayMs', 'testCaseId', 'loopFixturePath', 'loopVariableName', 'deleteViaTemplate'. Requires project context.

Required scope: tests:write

Parameter Type Required Description
name string Yes Name of the seed
preRunSteps string No JSON array of pre-run steps (run before the test to set up data). Empty array or omit for none.
postRunSteps string No JSON array of post-run steps (run after the test to tear down data). Empty array or omit for none.
description string No Optional description of the seed
stopOnError boolean No (default true) Stop the sequence on the first failing step (default true)
timeoutSeconds integer No (default 60) Overall timeout in seconds (default 60)

create_test_case

Create a new test case within a test suite. After creating, use add_assertion to add validations. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite
name string Yes Name of the test case

create_test_case_with_request

Create a fully runnable test case in a single call: name + HTTP request config (method, URL, body, content-type, timeout, headers) plus optional inline assertions. This is the one-shot alternative to create_test_case + set_test_case_request + add_assertion. URL, body and header values may contain '{{VAR}}' references — the runner substitutes them from the environment at execution time. To bind the case to a spec endpoint for contract testing, call link_endpoint afterwards. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite
name string Yes Name of the test case
method string Yes HTTP method: 'get', 'post', 'put', 'patch', 'delete', 'head', 'options'
url string Yes Request URL (may contain '{{VAR}}' placeholders resolved from the environment)
body string No Optional request body (may contain '{{VAR}}' placeholders)
contentType string No Optional Content-Type header (e.g., 'application/json')
timeoutMs integer No Optional request timeout in milliseconds
headers string No Optional JSON array of headers, e.g. [{"name":"Authorization","value":"Bearer {{token}}","isEnabled":true}]. 'isEnabled' defaults to true. Values may contain '{{VAR}}' references.
assertions string No Optional JSON array of assertions, e.g. [{"type":"status","operator":"equals","expectedValue":"200"}]. Fields: 'type', 'operator' (required), 'target', 'expectedValue', 'isEnabled' (default true). See add_assertion for valid type/operator values.
preRequestScript string No Optional JavaScript to run before the request (pre-request script)
postResponseScript string No Optional JavaScript to run after the response (post-response script)
followRedirects boolean No (default true) Whether to follow HTTP redirects (default true)
verifySsl boolean No (default true) Whether to verify TLS/SSL certificates (default true)

create_test_suite

Create a new test suite in the active project. Requires project context.

Required scope: tests:write

Parameter Type Required Description
name string Yes Name of the test suite
description string No Optional description of the test suite
tags string No Comma-separated tags (e.g., 'smoke,regression,auth')

delete_assertion

Delete an assertion from a test case. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
assertionId string Yes Public ID (GUID) of the assertion to delete

delete_fixture

E84: Delete a project-owned fixture. Requires project context.

Required scope: tests:write

Parameter Type Required Description
fixtureId string Yes Public ID (GUID) of the fixture to delete

delete_request_config

Remove a test case's entire request configuration — method, URL, body, scripts and all of its headers. The test case itself stays. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public Id (Guid) of the test case

delete_response_extraction

Delete a response extraction rule from a test case. Requires project context.

Required scope: tests:write

Parameter Type Required Description
extractionId string Yes Public ID (GUID) of the extraction to delete

delete_scenario

Delete a test scenario and its steps. Requires project context.

Required scope: tests:write

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario to delete

delete_scenario_step

Delete a step from a scenario. Requires project context.

Required scope: tests:write

Parameter Type Required Description
stepId string Yes Public ID (GUID) of the scenario step to delete

delete_snapshot

Delete a snapshot record. The recorded resources in the environment are left alone — this only removes the snapshot itself. Requires project context.

Required scope: tests:write

Parameter Type Required Description
snapshotId string Yes Public Id (Guid) of the snapshot

delete_test_case

Delete a test case from its suite. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case to delete

delete_test_suite

Delete a test suite and its test cases. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite to delete

export_test_run

Export a test run as a report. format 'json' (default), 'html' or 'junit' — use junit for CI systems that consume JUnit XML. Returns the report content inline. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testRunId string Yes Public Id (Guid) of the test run
format string No (default "json") Report format: 'json' (default), 'html' or 'junit'

get_cli_run_status

Poll the live progress of a test run: completed cases out of total, current pass/fail counts and elapsed time. Meant for watching a run that is still going; use get_test_run once it has finished. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testRunId string Yes Public Id (Guid) of the test run

get_contract_summary

Get contract test coverage summary for a test suite. Shows how many test cases are linked to spec endpoints, how many have schema drift, and overall endpoint coverage. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite

get_environment_verification

For every environment of the project: when its contract tests last ran, with what result, against which spec version, and how many cases are still pending. Tells you which environment's results you can trust. Requires project context.

Required scope: tests:read

No parameters.

get_fixture

E84: Get a fixture by its public ID including its raw source and normalized JSON content. Requires project context.

Required scope: tests:read

Parameter Type Required Description
fixtureId string Yes Public ID (GUID) of the fixture to retrieve.

get_fixture_usage

Inspect a project fixture. view 'used_by' (default) lists everything referencing it — mock rules, test cases, seeds, doc examples — which is what to check before changing or deleting it; view 'versions' lists its saved versions with their content. Requires project context.

Required scope: tests:read

Parameter Type Required Description
fixtureId string Yes Public Id (Guid) of the fixture
view string No (default "used_by") What to read: 'used_by' (default) or 'versions'

get_linked_endpoint_contract

Get the request contract of the spec endpoint a test case is linked to: header parameters, request body schema and example, and the response schemas per status code. This is what the case is expected to send and receive — use it to write assertions that match the contract instead of guessing. Returns null when the case is not linked. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testCaseId string Yes Public Id (Guid) of the test case

get_request_config

Get the full request configuration of a test case: method, URL, body, scripts and all headers with their ids. Returns null when the case has no request yet — use set_test_case_request to create one. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testCaseId string Yes Public Id (Guid) of the test case

get_resolved_auth

Show which auth a test suite or test case actually uses after inheritance, and where it comes from — the case, the suite, the environment or the project. Secret values are not returned. Use this before debugging a 401 by hand. Requires project context.

Required scope: tests:read

Parameter Type Required Description
entityId string Yes Public Id (Guid) of the test suite or test case
entityType string Yes What entityId refers to: 'suite' or 'testCase'
environmentId string No Public Id (Guid) of the environment to resolve against. Omit for the project default.

get_test_result

Get one test case's result inside a run: status code, timing, the response body and headers, every assertion outcome, extracted variables and any script output. This is the read to make when a run failed and you need to know why. Get the id from get_test_results. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testResultId string Yes Public Id (Guid) of the test result

get_test_results

Get the test run history for a test suite. Shows past executions with their status and pass/fail counts. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite
skip integer No (default 0) Number of runs to skip (for pagination, default 0)
take integer No (default 20) Number of runs to return (default 20, max 100)

get_test_run

Get the results of a specific test run including status, timing and per-case results. Use the testRunId returned by run_test_suite. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testRunId string Yes Public ID (GUID) of the test run

get_test_suite

Get detailed information about a test suite including its test cases. Set includeStats for run history and pass rate, includeExtractionVariables for the variables the suite's cases extract and pass on to later cases. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite
includeStats boolean No (default false) Also return run counts, pass rate and last run status. Defaults to false.
includeExtractionVariables boolean No (default false) Also return the variables extracted by this suite's cases, with the case that defines each. Defaults to false.

get_testing_settings

Read the project's testing settings. schemaNullMode decides how contract assertions treat null values against a schema. Requires project context.

Required scope: tests:read

No parameters.

Link a test case to a spec endpoint for contract testing. Once linked, sync_test_from_spec can synchronize the test case's request config with the endpoint, and schema-drift checks apply. Linking auto-adds a schemaValidation assertion if none exists. The endpoint must belong to the same project as the test case. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
endpointId string Yes Public ID (GUID) of the spec endpoint to link

list_fixture_imports

List the organization fixtures the active project has imported, with the alias each is referenced by. Requires project context.

Required scope: tests:read

No parameters.

list_fixtures

E84: List all project-owned fixtures in the active project. Fixtures are structured test data (YAML/JSON) reusable across tests, mocks and docs. Requires project context.

Required scope: tests:read

Parameter Type Required Description
tagFilter string No Optional tag filter (comma-separated list is not supported — single tag only).
skip integer No (default 0) Number of fixtures to skip (default 0).
take integer No (default 50) Number of fixtures to return (default 50, max 100).

list_linkable_endpoints

List the endpoints of an API spec that a test case can be linked to, with path, method and the version they come from. Use link_endpoint to establish the link. Requires project context.

Required scope: tests:read

Parameter Type Required Description
specId string Yes Public Id (Guid) of the API specification
versionId string No Public Id (Guid) of a specific spec version. Omit for the current one.

list_oauth2_tokens

List the OAuth 2.0 tokens cached for an environment, with their grant type and expiry. Access and refresh token values are never returned. Requires project context.

Required scope: tests:read

Parameter Type Required Description
environmentId string Yes Public Id (Guid) of the environment

list_org_fixtures

List the organization's shared fixtures — the ones any project can import. Pass fixtureId to get one fixture with its full content instead. Requires the org:manage-governance permission.

Required scope: org:manage-governance

Parameter Type Required Description
fixtureId string No Public Id (Guid) of a single fixture. When given, returns it with its content.
tagFilter string No Only fixtures carrying this tag
skip integer No (default 0) Number of fixtures to skip (for pagination, default 0)
take integer No (default 100) Number of fixtures to return (default 100, max 100)

list_scenario_runs

List the runs of a scenario with pass/fail counts per run. Pass runId to get one run with its per-step results instead — scenarioId is then not needed. Requires project context.

Required scope: tests:read

Parameter Type Required Description
scenarioId string No Public Id (Guid) of the scenario. Required unless runId is given.
runId string No Public Id (Guid) of a single run. When given, returns that run with its step results.
skip integer No (default 0) Number of runs to skip (for pagination, default 0)
take integer No (default 20) Number of runs to return (default 20, max 100)

list_scenarios

List all test scenarios in the active project. Scenarios are multi-step workflows that chain test cases with variable passing and conditional execution. Requires project context.

Required scope: tests:read

Parameter Type Required Description
skip integer No (default 0) Number of scenarios to skip (for pagination, default 0)
take integer No (default 50) Number of scenarios to return (default 50, max 100)

list_script_snippets

List the project's reusable pre-request and post-response script snippets, with their code and how often each is used. Requires project context.

Required scope: tests:read

Parameter Type Required Description
searchTerm string No Filter by name or description containing this text
skip integer No (default 0) Number of snippets to skip (for pagination, default 0)
take integer No (default 50) Number of snippets to return (default 50, max 100)

list_seeds

List the seeds of the active project — the request sequences that set up and tear down test data. Pass seedId to get one seed with its full step lists and rowVersion. Requires project context.

Required scope: tests:read

Parameter Type Required Description
seedId string No Public Id (Guid) of a single seed. When given, returns that seed with its steps.
skip integer No (default 0) Number of seeds to skip (for pagination, default 0)
take integer No (default 100) Number of seeds to return (default 100, max 100)

list_shared_reports

List the share links that exist for a test run, with their access level and expiry. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testRunId string Yes Public Id (Guid) of the test run

list_snapshots

List the project's data snapshots — recorded resource states that can be restored to return an environment to a known point. Pass snapshotId to get one snapshot with its recorded resources. Requires project context.

Required scope: tests:read

Parameter Type Required Description
snapshotId string No Public Id (Guid) of a single snapshot. When given, returns its recorded resources.
skip integer No (default 0) Number of snapshots to skip (for pagination, default 0)
take integer No (default 100) Number of snapshots to return (default 100, max 100)

list_test_cases

List the test cases of a suite in execution order. Pass testCaseId to get one case in full instead — with its request config, assertions and response extractions — and then testSuiteId is not needed. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string No Public Id (Guid) of the test suite. Required unless testCaseId is given.
testCaseId string No Public Id (Guid) of a single test case. When given, returns that case in full.
skip integer No (default 0) Number of test cases to skip (for pagination, default 0)
take integer No (default 100) Number of test cases to return (default 100, max 100)

list_test_data_sets

List the data sets of a test suite — the tables that drive data-driven runs. The list gives names and row counts; pass dataSetId to get one set including its columns and rows. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string No Public Id (Guid) of the test suite. Required unless dataSetId is given.
dataSetId string No Public Id (Guid) of a single data set. When given, returns that set with its rows.
skip integer No (default 0) Number of data sets to skip (for pagination, default 0)
take integer No (default 100) Number of data sets to return (default 100, max 100)

list_test_folders

List the folders of the active project's test suite tree or scenario tree, flat with parentFolderId per entry. Requires project context.

Required scope: tests:read

Parameter Type Required Description
folderType string No (default "suite") Which tree: 'suite' (default) for test suite folders, 'scenario' for scenario folders

list_test_schedules

List the schedules of a test suite with their cron expression, timezone and next run time. Pass scheduleId to get one schedule instead — testSuiteId is then not needed. Requires project context.

Required scope: tests:read

Parameter Type Required Description
testSuiteId string No Public Id (Guid) of the test suite. Required unless scheduleId is given.
scheduleId string No Public Id (Guid) of a single schedule. When given, returns only that schedule.
skip integer No (default 0) Number of schedules to skip (for pagination, default 0)
take integer No (default 100) Number of schedules to return (default 100, max 100)

list_test_suites

List all test suites in the active project with stats (test case count, auth mode). Requires project context (call set_context first).

Required scope: tests:read

Parameter Type Required Description
skip integer No (default 0) Number of suites to skip (for pagination, default 0)
take integer No (default 50) Number of suites to return (default 50, max 100)

manage_fixture_import

Import an organization fixture into the active project, or remove that import. action: 'import' (needs orgFixtureId; alias optional — the name the project refers to it by), 'remove' (needs importId from list_fixture_imports). Removing an import does not delete the organization fixture. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'import' or 'remove'
orgFixtureId string No Public Id (Guid) of the organization fixture. Required for 'import'.
importId string No Public Id (Guid) of the import. Required for 'remove'.
alias string No Local name for the imported fixture. Omit to keep the fixture's own name.

manage_oauth2_token

Request, refresh or delete an OAuth 2.0 token for an environment. action: 'request' (needs environmentId; for the client_credentials grant this works headless, for authorization_code you must supply an authorizationCode obtained in a browser), 'refresh' (needs tokenId), 'delete' (needs tokenId). Token values are never returned. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'request', 'refresh' or 'delete'
environmentId string No Public Id (Guid) of the environment. Required for 'request'.
tokenId string No Public Id (Guid) of the token. Required for 'refresh' and 'delete'.
tokenName string No Name to store the token under. Only for 'request'.
authorizationCode string No Authorization code from a browser flow. Only for the authorization_code grant.
testSuiteId string No Public Id (Guid) of a test suite whose auth config to use instead of the environment's

manage_org_fixture

Create, edit or delete an organization-wide fixture. action: 'create' (needs name, format and content), 'update_content' (needs fixtureId and content — creates a new version), 'update_metadata' (needs fixtureId; name, description and tags, omitted fields keep their value), 'delete' (needs fixtureId). Content and metadata are two actions because the backend versions the content and leaves the metadata alone. Requires the org:manage-governance permission.

Required scope: org:manage-governance

Parameter Type Required Description
action string Yes What to do: 'create', 'update_content', 'update_metadata' or 'delete'
fixtureId string No Public Id (Guid) of the fixture. Required for every action except 'create'.
name string No Fixture name. Required for 'create'.
description string No Optional description
format string No Content format: 'json', 'csv' or 'yaml'. Required for 'create' and 'update_content'.
content string No The raw fixture content. Required for 'create' and 'update_content'.
tags string No Comma-separated tags

manage_request_header

Add, change, remove or reorder a request header on a test case. action: 'add' (needs name and value), 'update' (needs headerId, name and value — the command replaces both), 'delete' (needs headerId), 'reorder' (needs headerIds as the complete list in the desired order). Get header ids from get_request_config. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'add', 'update', 'delete' or 'reorder'
testCaseId string Yes Public Id (Guid) of the test case
headerId string No Public Id (Guid) of the header. Required for 'update' and 'delete'.
name string No Header name, e.g. 'X-Api-Key'. Required for 'add' and 'update'.
value string No Header value. Required for 'add' and 'update'. May contain {{variable}} placeholders.
isEnabled boolean No (default true) Whether the header is sent. Defaults to true.
headerIds string No Comma-separated header Ids in the desired order. Required for 'reorder'.

manage_script_snippet

Create, update or delete a reusable script snippet in the active project. action: 'create' (needs name and code), 'update' (needs snippetId; omitted fields keep their value), 'delete' (needs snippetId). Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'create', 'update' or 'delete'
snippetId string No Public Id (Guid) of the snippet. Required for 'update' and 'delete'.
name string No Snippet name. Required for 'create'.
description string No Optional description
code string No The JavaScript code of the snippet. Required for 'create'.
tags string No Comma-separated tags for grouping snippets

manage_seed

Update or delete a seed. Use create_seed to make a new one and run_seed to execute one. action: 'update' (omitted fields keep their value, and passing a step list REPLACES that list), 'delete'. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'update' or 'delete'
seedId string Yes Public Id (Guid) of the seed
name string No New name for the seed
description string No New description
preRunSteps string No JSON array of pre-run steps, same shape as create_seed. Replaces the current list.
postRunSteps string No JSON array of post-run steps, same shape as create_seed. Replaces the current list.
stopOnError boolean No Stop the sequence on the first failing step
timeoutSeconds integer No Timeout in seconds for the whole sequence
rowVersion string No Base64 rowVersion from list_seeds, for optimistic concurrency

manage_shared_report

Create, extend or revoke a share link for a test run. action: 'create' (needs testRunId; accessLevel 'team' keeps it inside the organization, 'public' makes the run readable by anyone holding the link), 'extend' (needs sharedReportId and expiresInHours), 'revoke' (needs sharedReportId — the link stops working immediately). Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'create', 'extend' or 'revoke'
testRunId string No Public Id (Guid) of the test run. Required for 'create'.
sharedReportId string No Public Id (Guid) of the share link. Required for 'extend' and 'revoke'.
accessLevel string No (default "team") Who may open the link: 'team' (default) or 'public'. Only for 'create'.
expiresInHours integer No (default 168) How long the link stays valid, in hours. Defaults to 168 (7 days).

manage_test_data_set

Create, update, delete or import a data-driven test data set. action: 'create' (needs testSuiteId, name, columnsJson and rowsJson), 'update' (needs dataSetId; omitted fields keep their value — passing rowsJson REPLACES all rows), 'delete' (needs dataSetId), 'import' (needs testSuiteId, name, columnsJson and rowsJson; with dataSetId and mode 'append' it adds rows to an existing set instead). Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'create', 'update', 'delete' or 'import'
testSuiteId string No Public Id (Guid) of the test suite. Required for 'create' and 'import'.
dataSetId string No Public Id (Guid) of the data set. Required for 'update' and 'delete'; optional target for 'import'.
name string No Data set name. Required for 'create' and 'import'.
description string No Optional description
columnsJson string No JSON array of column names, e.g. ["email","password"]
rowsJson string No JSON array of rows, each row a JSON array of strings in column order, e.g. [["a@b.c","pw1"],["d@e.f","pw2"]]
mode string No (default "replace") For 'import': 'replace' (default) overwrites the rows, 'append' adds to them

manage_test_folder

Create, rename, delete, move or reorder a folder in the test suite tree or the scenario tree. folderType selects the tree — both work identically. action: 'create' (needs name), 'update' (needs folderId; omit name or icon to keep it), 'delete' (needs folderId), 'move' (needs folderId; omit parentFolderId to move to the root), 'reorder' (needs folderIds in the desired order, and parentFolderId to reorder inside a folder rather than at the root). Get ids from list_test_folders. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'create', 'update', 'delete', 'move' or 'reorder'
folderType string No (default "suite") Which tree: 'suite' (default) or 'scenario'
folderId string No Public Id (Guid) of the folder. Required for 'update', 'delete' and 'move'.
name string No Folder name. Required for 'create'.
icon string No Optional icon name for the folder
parentFolderId string No Public Id (Guid) of the parent folder. On 'create' and 'move' omit it for the root level; on 'reorder' it selects which level is being ordered.
folderIds string No Comma-separated folder Ids in the desired order. Required for 'reorder'.

manage_test_schedule

Create, update, delete, enable/disable or immediately run a test suite schedule. action: 'create' (needs testSuiteId, name and cronExpression), 'update' (needs scheduleId; omitted fields keep their value), 'delete' (needs scheduleId), 'toggle' (needs scheduleId and isEnabled), 'trigger' (needs scheduleId — starts a run now without touching the schedule, and returns the run id). cronExpression is standard 5-field cron, e.g. '0 2 * * *' for 02:00 daily. Requires project context.

Required scope: tests:write

Parameter Type Required Description
action string Yes What to do: 'create', 'update', 'delete', 'toggle' or 'trigger'
testSuiteId string No Public Id (Guid) of the test suite. Required for 'create'.
scheduleId string No Public Id (Guid) of the schedule. Required for every action except 'create'.
name string No Schedule name. Required for 'create'.
description string No Optional description
cronExpression string No Cron expression, 5 fields, e.g. '0 2 * * *'. Required for 'create'.
timezone string No IANA timezone for the cron expression, e.g. 'Europe/Berlin'. Defaults to UTC.
environmentId string No Public Id (Guid) of the environment to run against. Omit to use the suite's default.
isEnabled boolean No Whether the schedule runs. Required for 'toggle'; defaults to true on 'create'.

move_test_item_to_folder

Move a test suite or a scenario into a folder, or out of every folder. Omit folderId to move the item back to the root level. Requires project context.

Required scope: tests:write

Parameter Type Required Description
itemType string Yes What is being moved: 'suite' or 'scenario'
itemId string Yes Public Id (Guid) of the test suite or scenario
folderId string No Public Id (Guid) of the target folder. Omit to move the item to the root level.

record_snapshot

E84: Record a data snapshot by running a base seed against an environment and capturing the resources it creates, so state can later be restored. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
name string Yes Name of the snapshot
environmentId string Yes Public ID (GUID) of the environment to run the seed against
baseSeedId string Yes Public ID (GUID) of the base seed to run for capturing resources
description string No Optional description of the snapshot

reorder_response_extractions

Reorder the response extractions of a test case. Provide all extraction IDs in the desired execution order as a comma-separated list. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
orderedExtractionIds string Yes Comma-separated list of all extraction public IDs (GUIDs) in the desired order

reorder_scenario_steps

Reorder the steps of a scenario. Provide all step IDs in the desired execution order as a comma-separated list. Requires project context.

Required scope: tests:write

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario
orderedStepIds string Yes Comma-separated list of all step public IDs (GUIDs) in the desired order

reorder_test_items

Set the display order of test suites within a project (or within one folder), of test cases within a suite, or of assertions within a test case. Send the COMPLETE list of ids for that level in the order you want. itemType 'suite' needs nothing but the ids (add parentFolderId to order inside a folder), 'test_case' needs testSuiteId, 'assertion' needs testCaseId. Requires project context.

Required scope: tests:write

Parameter Type Required Description
itemType string Yes What is being ordered: 'suite', 'test_case' or 'assertion'
itemIds string Yes Comma-separated ids in the desired order — the complete list for that level
testSuiteId string No Public Id (Guid) of the test suite. Required for itemType 'test_case'.
testCaseId string No Public Id (Guid) of the test case. Required for itemType 'assertion'.
parentFolderId string No Public Id (Guid) of the folder whose suites are being ordered. Only for itemType 'suite'.

restore_fixture_version

Roll a project fixture back to an earlier version. This creates a new version holding the old content — nothing in the history is lost. Get version numbers from get_fixture_usage with view 'versions'. Requires project context.

Required scope: tests:write

Parameter Type Required Description
fixtureId string Yes Public Id (Guid) of the fixture
versionNumber integer Yes The version number to restore

restore_snapshot

Restore a data snapshot: run its cleanup steps and re-seed. This CHANGES data in the target environment and cannot be undone. Separate from delete_snapshot because restoring needs tests:execute while deleting the record needs tests:write. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
snapshotId string Yes Public Id (Guid) of the snapshot

run_scenario

Execute a test scenario (multi-step workflow). Steps run sequentially with variable passing between steps. Optionally run against a specific environment. Returns per-step results including pass/fail, extracted variables and skip reasons. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario to execute
environmentId string No Public ID (GUID) of the environment to run against (optional)
persistResults boolean No (default true) Persist results as a scenario run record (default true)
onError string No (default "stop") Error behavior: 'stop' (default) stops on first failure, 'ignore' continues

run_seed

Execute a seed's request sequence. With dryRun the steps are resolved and reported without a single request being sent — do that first against an environment you do not own. phase picks the pre-run sequence (set up data) or the post-run one (tear it down). Separate from manage_seed because running needs tests:execute while editing needs tests:write, and a key may hold one without the other. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
seedId string Yes Public Id (Guid) of the seed
phase string No (default "pre") Which sequence to execute: 'pre' (default) or 'post'
dryRun boolean No (default false) Resolve and report the steps without sending any request. Defaults to false.
environmentId string No Public Id (Guid) of the environment to run against. Omit for the project default.

run_test_case

Execute a single test case. Optionally run against a specific environment. Returns the HTTP response, assertion results and extracted variables. Set debug to run it through the debug path instead, which does not record a test run — use that while iterating on a case so the run history stays meaningful. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case to execute
environmentId string No Public ID (GUID) of the environment to run against (optional)
debug boolean No (default false) Run without recording a test run. Defaults to false.

run_test_suite

Execute all test cases in a test suite. Optionally run against a specific environment and configure iterations, parallelism and error behavior. Returns execution results including pass/fail status, response details and assertion results per test case. Requires project context.

Required scope: tests:execute

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite to execute
environmentId string No Public ID (GUID) of the environment to run against (optional — uses environment variables for URL resolution)
persistResults boolean No (default true) Persist results as a test run record (default true)
iterations integer No (default 1) Number of iterations to run (default 1)
delayMs integer No (default 0) Delay in milliseconds between iterations (default 0)
threads integer No (default 1) Number of parallel threads (default 1, >1 enables performance testing)

set_test_case_request

Set (create or replace) the HTTP request configuration of a test case: method, URL, body, content-type, timeout, headers and optional pre-/post-scripts. This is what makes a test case actually runnable. URL, body and header values may contain '{{VAR}}' references — the runner substitutes them from the environment at execution time. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
method string Yes HTTP method: 'get', 'post', 'put', 'patch', 'delete', 'head', 'options'
url string Yes Request URL (may contain '{{VAR}}' placeholders resolved from the environment)
body string No Optional request body (may contain '{{VAR}}' placeholders)
contentType string No Optional Content-Type header (e.g., 'application/json')
timeoutMs integer No Optional request timeout in milliseconds
headers string No Optional JSON array of headers, e.g. [{"name":"Authorization","value":"Bearer {{token}}","isEnabled":true}]. 'isEnabled' defaults to true. Values may contain '{{VAR}}' references.
preRequestScript string No Optional JavaScript to run before the request (pre-request script)
postResponseScript string No Optional JavaScript to run after the response (post-response script)
followRedirects boolean No (default true) Whether to follow HTTP redirects (default true)
verifySsl boolean No (default true) Whether to verify TLS/SSL certificates (default true)

sync_test_from_spec

Synchronize a linked test case's request configuration (URL, method, body) with the current spec endpoint. The test case must be linked to a spec endpoint via link_endpoint. Use preview mode to see what would change before applying. If this fails with ENDPOINT_MISSING_IN_VERSION, the endpoint no longer exists in the target version (renamed or removed) and no sync can succeed — use link_endpoint to re-point the test case. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case to sync
preview boolean No (default false) Preview changes without applying them (default false)

test_auth_config

Send one request with a given auth configuration and report whether it was accepted, without saving anything. Use it to check credentials before wiring them into an environment. authConfigJson takes the same shape as set_environment_auth. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testUrl string Yes Absolute URL to send the test request to
authConfigJson string Yes JSON auth configuration, e.g. { "type": "bearer", "token": "..." } or { "type": "basic", "username": "...", "password": "..." }
httpMethod string No (default "GET") HTTP method for the test request. Defaults to GET.
environmentId string No Public Id (Guid) of the environment whose variables should be substituted

Remove the link between a test case and its spec endpoint. The request config is left unchanged; only the endpoint binding (and thus contract-testing/drift tracking) is removed. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case

update_assertion

Update an existing assertion on a test case (type, operator, target, expected value, enabled). Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
assertionId string Yes Public ID (GUID) of the assertion to update
type string Yes Assertion type: 'status', 'body', 'header', 'latency', 'jsonPath', 'schemaValidation'
operator string Yes Comparison operator: 'equals', 'notEquals', 'contains', 'notContains', 'regex', 'exists', 'lessThan', 'greaterThan', 'lessThanOrEqual', 'greaterThanOrEqual'
target string No Target field (e.g., header name, JSON path expression). Not needed for 'status'/'body'.
expectedValue string No Expected value to compare against
isEnabled boolean No (default true) Whether the assertion is enabled (default true)

update_fixture_content

E84: Replace a fixture's raw content and format (creates a new fixture version). Pass rowVersion for optimistic concurrency control. Requires project context.

Required scope: tests:write

Parameter Type Required Description
fixtureId string Yes Public ID (GUID) of the fixture to update
contentRaw string Yes New raw fixture content (YAML or JSON source)
format string No (default "yaml") Fixture format: 'yaml' or 'json' (default 'yaml')
rowVersion string No Base64-encoded row version of the fixture (optional, for concurrency control)

update_fixture_metadata

E84: Update a fixture's name, description, tags, and linked schema (content unchanged). Pass rowVersion for optimistic concurrency control. Requires project context.

Required scope: tests:write

Parameter Type Required Description
fixtureId string Yes Public ID (GUID) of the fixture to update
name string Yes New fixture name
description string No Optional description of the fixture
tags string No Comma-separated tags
linkedSchemaId string No Optional public ID (GUID) of a schema to link/validate the fixture against, or omit to clear
rowVersion string No Base64-encoded row version of the fixture (optional, for concurrency control)

update_response_extraction

Update an existing response extraction rule (variable name, source, JSON path, header name). All fields are replaced, mirroring the values you would set with add_response_extraction. Requires project context.

Required scope: tests:write

Parameter Type Required Description
extractionId string Yes Public ID (GUID) of the extraction to update
variableName string Yes Name of the variable to store the extracted value
source string Yes Extraction source: 'body', 'header', or 'statusCode'
jsonPath string No JSON path expression for 'body' source (e.g. '$.id')
headerName string No Header name for 'header' source (e.g. 'Location')

update_scenario

Update a scenario's name, description, and tags. Pass rowVersion for optimistic concurrency control. To edit steps, use add_scenario_step / update_scenario_step / delete_scenario_step / reorder_scenario_steps. Requires project context.

Required scope: tests:write

Parameter Type Required Description
scenarioId string Yes Public ID (GUID) of the scenario to update
name string Yes New name for the scenario
description string No Optional description of the scenario
tags string No Comma-separated tags (e.g., 'smoke,integration,e2e')
rowVersion string No Base64-encoded row version of the scenario (optional, for concurrency control)

update_scenario_step

Update a scenario step: retarget its test case, toggle enabled, change its condition, or retime a wait step. Omit a field to keep its current value. Pass rowVersion for optimistic concurrency control. Requires project context.

Required scope: tests:write

Parameter Type Required Description
stepId string Yes Public ID (GUID) of the scenario step to update
testCaseId string No Public ID (GUID) of the test case to retarget the step to (omit to keep current)
isEnabled boolean No Whether the step is enabled (omit to keep current)
condition string No JSON condition expression that gates whether the step runs (omit to keep current, empty string removes it)
waitDurationMs integer No New wait duration in ms (0–300000), wait steps only (omit to keep current)
rowVersion string No Base64-encoded row version of the step (optional, for concurrency control)

update_test_case

Update the name of an existing test case. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testCaseId string Yes Public ID (GUID) of the test case
name string Yes New name for the test case

update_test_suite

Update a test suite's name, description, tags, and fixture scope. Pass rowVersion for optimistic concurrency control. Requires project context.

Required scope: tests:write

Parameter Type Required Description
testSuiteId string Yes Public ID (GUID) of the test suite to update
name string Yes New name for the test suite
description string No Optional description of the test suite
tags string No Comma-separated tags (e.g., 'smoke,regression,auth')
rowVersion string No Base64-encoded row version of the suite (optional, for concurrency control)
fixtureScope string No E84-025: which fixtures this suite's runs can see, as JSON {"include":["users"],"exclude":["legacy"]} — names are the project's fixture names plus the aliases of imported org fixtures. Omit to leave unchanged; pass an empty string to clear the scope and show all fixtures again.

update_testing_settings

Set the project's testing settings. schemaNullMode changes how every contract assertion in the project treats null against a schema — a project-wide behaviour change, not a per-test one. Requires project context.

Required scope: tests:write

Parameter Type Required Description
schemaNullMode string Yes How contract assertions treat null against a schema. Read the current value from get_testing_settings.