analytics
SpeedCurve CLI for AI Agents
Use the SpeedCurve CLI from KosmoKrator to call SpeedCurve tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.SpeedCurve CLI Setup
SpeedCurve can be configured headlessly with `kosmokrator integrations:configure speedcurve`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure speedcurve --set api_key="$SPEEDCURVE_API_KEY" --enable --read allow --write ask --json
kosmokrator integrations:doctor speedcurve --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_key | SPEEDCURVE_API_KEY | Secret secret | yes | API Key |
url | SPEEDCURVE_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call speedcurve.speedcurve_list_sites '{}' --json kosmo integrations:speedcurve speedcurve_list_sites '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs speedcurve --json
kosmo integrations:docs speedcurve.speedcurve_list_sites --json
kosmo integrations:schema speedcurve.speedcurve_list_sites --json
kosmo integrations:search "SpeedCurve" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
speedcurve.speedcurve_list_sites
List all monitored sites in SpeedCurve. Returns site IDs, names, and URLs that you can use to query test results.
read - Parameters
- none
kosmo integrations:call speedcurve.speedcurve_list_sites '{}' --json kosmo integrations:speedcurve speedcurve_list_sites '{}' --json speedcurve.speedcurve_get_site
Get detailed information about a specific SpeedCurve site, including its URLs, test settings, and latest test results.
read - Parameters
- site_id
kosmo integrations:call speedcurve.speedcurve_get_site '{"site_id":1}' --json kosmo integrations:speedcurve speedcurve_get_site '{"site_id":1}' --json speedcurve.speedcurve_list_tests
List recent synthetic test results from SpeedCurve. Optionally filter by site, browser, or region.
read - Parameters
- site_id, url_id, browser, region, days
kosmo integrations:call speedcurve.speedcurve_list_tests '{"site_id":1,"url_id":1,"browser":"example_browser","region":"example_region","days":1}' --json kosmo integrations:speedcurve speedcurve_list_tests '{"site_id":1,"url_id":1,"browser":"example_browser","region":"example_region","days":1}' --json speedcurve.speedcurve_get_test
Get detailed results for a specific SpeedCurve synthetic test run, including Core Web Vitals, filmstrip data, and waterfall metrics.
read - Parameters
- test_id
kosmo integrations:call speedcurve.speedcurve_get_test '{"test_id":1}' --json kosmo integrations:speedcurve speedcurve_get_test '{"test_id":1}' --json speedcurve.speedcurve_list_deployments
List recent deployments in SpeedCurve and their performance impact. Shows how each deploy affected Core Web Vitals and load times.
read - Parameters
- site_id, limit
kosmo integrations:call speedcurve.speedcurve_list_deployments '{"site_id":1,"limit":1}' --json kosmo integrations:speedcurve speedcurve_list_deployments '{"site_id":1,"limit":1}' --json speedcurve.speedcurve_create_deployment
Register a new deployment in SpeedCurve to trigger synthetic performance tests. Use this when deploying code changes to track their performance impact.
write - Parameters
- site_id, note, detail
kosmo integrations:call speedcurve.speedcurve_create_deployment '{"site_id":1,"note":"example_note","detail":"example_detail"}' --json kosmo integrations:speedcurve speedcurve_create_deployment '{"site_id":1,"note":"example_note","detail":"example_detail"}' --json speedcurve.speedcurve_get_current_user
Get details about the currently authenticated SpeedCurve user. Useful for verifying API credentials and checking account information.
read - Parameters
- none
kosmo integrations:call speedcurve.speedcurve_get_current_user '{}' --json kosmo integrations:speedcurve speedcurve_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
speedcurve.speedcurve_list_sites 0 parameters
kosmo integrations:schema speedcurve.speedcurve_list_sites --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
speedcurve.speedcurve_get_site 1 parameters
kosmo integrations:schema speedcurve.speedcurve_get_site --json | Parameter | Type | Required | Description |
|---|---|---|---|
site_id | integer | yes | The SpeedCurve site ID. |
speedcurve.speedcurve_list_tests 5 parameters
kosmo integrations:schema speedcurve.speedcurve_list_tests --json | Parameter | Type | Required | Description |
|---|---|---|---|
site_id | integer | no | Filter tests by site ID. |
url_id | integer | no | Filter tests by URL ID. |
browser | string | no | Filter by browser (e.g., "Chrome", "Firefox"). |
region | string | no | Filter by region (e.g., "us-east-1", "eu-west-1"). |
days | integer | no | Number of days of test history to return. |
speedcurve.speedcurve_get_test 1 parameters
kosmo integrations:schema speedcurve.speedcurve_get_test --json | Parameter | Type | Required | Description |
|---|---|---|---|
test_id | integer | yes | The SpeedCurve test ID. |
speedcurve.speedcurve_list_deployments 2 parameters
kosmo integrations:schema speedcurve.speedcurve_list_deployments --json | Parameter | Type | Required | Description |
|---|---|---|---|
site_id | integer | no | Filter deployments by site ID. |
limit | integer | no | Maximum number of deployments to return. |
speedcurve.speedcurve_create_deployment 3 parameters
kosmo integrations:schema speedcurve.speedcurve_create_deployment --json | Parameter | Type | Required | Description |
|---|---|---|---|
site_id | integer | yes | The SpeedCurve site ID to deploy to. |
note | string | no | A description or note for this deployment (e.g., "Deploy v2.3.1 — new checkout flow"). |
detail | string | no | Additional details about the deployment, such as a git commit SHA or changelog URL. |
speedcurve.speedcurve_get_current_user 0 parameters
kosmo integrations:schema speedcurve.speedcurve_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.