{
  "service": "runscope",
  "displayName": "Runscope",
  "categories": [
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "runscope_access_token",
      "description": "Runscope API Monitoring personal access token sent as a Bearer token. Generate or view personal access tokens in the BlazeMeter API Monitoring account settings: https://api.runscope.com/applications.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.blazemeter.com/api-monitoring",
  "actions": [
    {
      "id": "runscope.get_account",
      "service": "runscope",
      "name": "get_account",
      "description": "Get details for the authenticated Runscope account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input for getting the authenticated Runscope account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Runscope user identifier."
              },
              "uuid": {
                "type": "string",
                "description": "The Runscope user UUID."
              },
              "email": {
                "type": "string",
                "description": "The Runscope user email address.",
                "format": "email"
              },
              "name": {
                "type": "string",
                "description": "The Runscope user name."
              },
              "created_at": {
                "type": "integer",
                "description": "The Unix timestamp when the account was created."
              },
              "teams": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The team identifier."
                    },
                    "uuid": {
                      "type": "string",
                      "description": "The team UUID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The team name."
                    },
                    "is_paying_team": {
                      "type": "boolean",
                      "description": "Whether this team has a paid plan."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A Runscope team object."
                },
                "description": "Teams associated with the Runscope account."
              }
            },
            "additionalProperties": true,
            "description": "A Runscope account object."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope account response."
      }
    },
    {
      "id": "runscope.get_bucket",
      "service": "runscope",
      "name": "get_bucket",
      "description": "Get details for a Runscope API Monitoring bucket.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucketKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Runscope bucket key from the API Monitoring project."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Runscope bucket."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "bucket": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Runscope bucket object.",
            "default": {
              "type": "boolean",
              "description": "Whether this bucket is the default bucket."
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope bucket response."
      }
    },
    {
      "id": "runscope.get_test",
      "service": "runscope",
      "name": "get_test",
      "description": "Get details for a Runscope API Monitoring test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucketKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Runscope bucket key from the API Monitoring project."
          },
          "testId": {
            "type": "string",
            "description": "The Runscope test UUID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Runscope test."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "test": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Runscope API Monitoring test object."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope test response."
      }
    },
    {
      "id": "runscope.list_buckets",
      "service": "runscope",
      "name": "list_buckets",
      "description": "List Runscope API Monitoring buckets accessible to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of records to skip."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Runscope buckets."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Runscope bucket object.",
              "default": {
                "type": "boolean",
                "description": "Whether this bucket is the default bucket."
              }
            },
            "description": "Buckets returned by Runscope."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope bucket list response."
      }
    },
    {
      "id": "runscope.list_environments",
      "service": "runscope",
      "name": "list_environments",
      "description": "List shared Runscope environments in a bucket.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucketKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Runscope bucket key from the API Monitoring project."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing shared Runscope environments in a bucket."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "environments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The environment UUID."
                },
                "name": {
                  "type": "string",
                  "description": "The environment name."
                },
                "test_id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The owning test UUID, or null for shared environments."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "verify_ssl": {
                  "type": "boolean",
                  "description": "Whether SSL verification is enabled for this environment."
                },
                "preserve_cookies": {
                  "type": "boolean",
                  "description": "Whether Runscope preserves cookies between requests."
                },
                "regions": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One region ID."
                  },
                  "description": "Runscope regions enabled for this environment."
                },
                "initial_variables": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "description": "One initial environment variable value."
                  },
                  "description": "Initial environment variables keyed by variable name."
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "description": "One header value."
                  },
                  "description": "Default headers keyed by header name."
                }
              },
              "additionalProperties": true,
              "description": "A Runscope environment object."
            },
            "description": "Shared environments returned by Runscope."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope shared environment list response."
      }
    },
    {
      "id": "runscope.list_test_results",
      "service": "runscope",
      "name": "list_test_results",
      "description": "List recent Runscope API Monitoring results for a test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucketKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Runscope bucket key from the API Monitoring project."
          },
          "testId": {
            "type": "string",
            "description": "The Runscope test UUID.",
            "format": "uuid"
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "The maximum number of test results to return."
          },
          "before": {
            "type": "number",
            "description": "A Unix timestamp filter accepted by Runscope."
          },
          "since": {
            "type": "number",
            "description": "A Unix timestamp filter accepted by Runscope."
          }
        },
        "additionalProperties": false,
        "required": [
          "bucketKey",
          "testId"
        ],
        "description": "Path and query parameters for listing Runscope test results."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "test_run_id": {
                  "type": "string",
                  "description": "The test run identifier."
                },
                "test_id": {
                  "type": "string",
                  "description": "The test UUID."
                },
                "bucket_key": {
                  "type": "string",
                  "description": "The bucket key where the test resides."
                },
                "result": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "fail"
                  ],
                  "description": "The overall test result."
                },
                "source": {
                  "type": "string",
                  "description": "How the test run was triggered."
                },
                "region": {
                  "type": "string",
                  "description": "The region where the test ran."
                },
                "started_at": {
                  "type": "number",
                  "description": "The Unix timestamp when the test run started."
                },
                "finished_at": {
                  "type": "number",
                  "description": "The Unix timestamp when the test run finished."
                },
                "requests_executed": {
                  "type": "integer",
                  "description": "The number of HTTP requests executed."
                },
                "assertions_defined": {
                  "type": "integer",
                  "description": "The number of assertions defined."
                },
                "assertions_failed": {
                  "type": "integer",
                  "description": "The number of assertions that failed."
                },
                "assertions_passed": {
                  "type": "integer",
                  "description": "The number of assertions that passed."
                },
                "environment_id": {
                  "type": "string",
                  "description": "The environment UUID used for this test run."
                },
                "environment_name": {
                  "type": "string",
                  "description": "The environment name used for this test run."
                },
                "test_name": {
                  "type": "string",
                  "description": "The test name."
                },
                "test_run_url": {
                  "type": "string",
                  "description": "The URL to view this test run.",
                  "format": "uri"
                },
                "run_by": {
                  "type": "string",
                  "description": "The user who triggered the test run."
                }
              },
              "additionalProperties": true,
              "description": "A Runscope test result object."
            },
            "description": "Test results returned by Runscope."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope test result list response."
      }
    },
    {
      "id": "runscope.list_tests",
      "service": "runscope",
      "name": "list_tests",
      "description": "List Runscope API Monitoring tests in a bucket.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bucketKey": {
            "type": "string",
            "minLength": 1,
            "description": "The Runscope bucket key from the API Monitoring project."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of records to skip."
          }
        },
        "additionalProperties": false,
        "required": [
          "bucketKey"
        ],
        "description": "Path and query parameters for listing Runscope tests."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Runscope API Monitoring test object."
            },
            "description": "Tests returned by Runscope."
          },
          "meta": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "The Runscope response status."
              }
            },
            "additionalProperties": true,
            "description": "The Runscope response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Runscope response envelope."
          }
        },
        "additionalProperties": false,
        "description": "Runscope test list response."
      }
    }
  ]
}
