Properties
| Name | Type | Description |
|---|---|---|
| browserName | stringnull | |
| browserHeight | integernull | |
| browserVersion | stringnull | |
| browserWidth | integernull | |
| duration | stringnull | |
| ended | stringnull | |
| errorCode | stringnull | |
| extensionVersion | stringnull | |
| id | string | |
| isAutoRetried | boolean | |
| name | string | |
| notes | stringnull | |
| osName | stringnull | |
| profileId | string | |
| profileName | string | |
| queued | stringnull | |
| runMode | string | * `server` - cloud * `local` - local * `recording` - recording |
| runProfileId | stringnull | |
| screenSizeType | string | * `desktop` - Desktop * `mobile` - Mobile * `custom` - Custom |
| section | string | * `main` - Main * `before_all` - Before all * `after_all` - After all |
| sequence | integernull | |
| started | stringnull | |
| status | string | * `error` - Error * `passed` - Passed * `failed` - Failed * `running` - Running * `auto_retrying` - Auto Retrying * `stopped` - Stopped * `queued` - Queued * `paused` - Paused * `skipped` - Skipped * |
| stepsRuns | string | |
| suiteRunId | stringnull | |
| tags | array | |
| testId | stringnull | |
| triggeredBy | string | * `user` - User * `api` - Api * `webhook` - Webhook * `scheduler` - Scheduler * `github` - Github * `cli` - Cli * `agent` - Agent * `vercel` - Vercel |
| userId | stringnull | |
| webappUrl | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/bugbug-io/json-schema/bugbug-io-v2-test-run-schema.json",
"title": "V2TestRun",
"x-generated": "2026-11-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/bugbug-io-openapi.json#/components/schemas/V2TestRun",
"type": "object",
"properties": {
"browserName": {
"type": [
"string",
"null"
],
"readOnly": true
},
"browserHeight": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"browserVersion": {
"type": [
"string",
"null"
],
"readOnly": true
},
"browserWidth": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"duration": {
"type": [
"string",
"null"
],
"readOnly": true
},
"ended": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"errorCode": {
"type": [
"string",
"null"
],
"readOnly": true
},
"extensionVersion": {
"type": [
"string",
"null"
],
"readOnly": true
},
"id": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"isAutoRetried": {
"type": "boolean",
"readOnly": true
},
"name": {
"type": "string",
"readOnly": true
},
"notes": {
"type": [
"string",
"null"
],
"readOnly": true
},
"osName": {
"type": [
"string",
"null"
],
"readOnly": true
},
"profileId": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"profileName": {
"type": "string",
"readOnly": true
},
"queued": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"runMode": {
"enum": [
"server",
"local",
"recording"
],
"type": "string",
"description": "* `server` - cloud\n* `local` - local\n* `recording` - recording",
"x-spec-enum-id": "396ab9b642f5073e",
"readOnly": true
},
"runProfileId": {
"type": [
"string",
"null"
],
"format": "uuid",
"readOnly": true
},
"screenSizeType": {
"enum": [
"desktop",
"mobile",
"custom"
],
"type": "string",
"description": "* `desktop` - Desktop\n* `mobile` - Mobile\n* `custom` - Custom",
"x-spec-enum-id": "c0cdf94a62475084",
"readOnly": true
},
"section": {
"enum": [
"main",
"before_all",
"after_all"
],
"type": "string",
"description": "* `main` - Main\n* `before_all` - Before all\n* `after_all` - After all",
"x-spec-enum-id": "e59cc6e0718a4fdc",
"readOnly": true
},
"sequence": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"started": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"status": {
"enum": [
"error",
"passed",
"failed",
"running",
"auto_retrying",
"stopped",
"queued",
"paused",
"skipped",
"recording",
"initialized"
],
"type": "string",
"description": "* `error` - Error\n* `passed` - Passed\n* `failed` - Failed\n* `running` - Running\n* `auto_retrying` - Auto Retrying\n* `stopped` - Stopped\n* `queued` - Queued\n* `paused` - Paused\n* `skipped` - Skipped\n* `recording` - Recording\n* `initialized` - Initialized",
"x-spec-enum-id": "d6540c730bc09488",
"readOnly": true
},
"stepsRuns": {
"type": "string",
"readOnly": true
},
"suiteRunId": {
"type": [
"string",
"null"
],
"format": "uuid",
"readOnly": true
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/V2RunTag"
},
"readOnly": true
},
"testId": {
"type": [
"string",
"null"
],
"format": "uuid",
"readOnly": true
},
"triggeredBy": {
"enum": [
"user",
"api",
"webhook",
"scheduler",
"github",
"cli",
"agent",
"vercel"
],
"type": "string",
"description": "* `user` - User\n* `api` - Api\n* `webhook` - Webhook\n* `scheduler` - Scheduler\n* `github` - Github\n* `cli` - Cli\n* `agent` - Agent\n* `vercel` - Vercel",
"x-spec-enum-id": "2ea33822d75ad557",
"readOnly": true
},
"userId": {
"type": [
"string",
"null"
],
"format": "uuid",
"readOnly": true
},
"webappUrl": {
"type": "string",
"readOnly": true
}
},
"required": [
"browserHeight",
"browserName",
"browserVersion",
"browserWidth",
"duration",
"ended",
"errorCode",
"extensionVersion",
"id",
"isAutoRetried",
"name",
"notes",
"osName",
"profileId",
"profileName",
"queued",
"runMode",
"runProfileId",
"screenSizeType",
"section",
"sequence",
"started",
"status",
"stepsRuns",
"suiteRunId",
"tags",
"testId",
"triggeredBy",
"userId",
"webappUrl"
],
"$defs": {
"V2RunTag": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"readOnly": true
},
"color": {
"type": "string",
"readOnly": true
},
"inherited": {
"type": "boolean",
"readOnly": true
}
},
"required": [
"color",
"id",
"inherited",
"name"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/bugbug-io-v2-test-run"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.