NAV Navbar
Home Functional Performance Mock Services API Monitoring
cURL
  • Introduction
  • Accounts
  • Workspaces
  • Projects
  • Tests
  • Multi-Tests
  • Test Runs
  • Test Results
  • Shared Folders
  • Test Scheduler
  • Private Locations
  • Appendix
  • Introduction

    Welcome to the Performance section of the BlazeMeter API reference! This section will cover the APIs used for creating, updating, and running performance tests, as well as getting the test results, handling shared folders, scheduling tests, and creating private locations to run those tests.

    This API reference uses the following conventions for your convenience:

    Overview

    Your Account provides access to different levels of the API:

    The following figure illustrates the relationship between the levels.

    Basics

    Request Format

    All requests to the API are sent over HTTPS and use the following base URL:

    https://a.blazemeter.com/api/v4

    Response Format

    {
      "limit": ...,
      "skip": ...,
      "total": ...,
      "hidden": ...,
      "api_version": ...,
      "error": {...} or null,
      "result": {...} or [...]
    }
    

    Responses are returned as JSON data in the format shown to the right. A description of the attributes can be found below:

    Attributes

    Reading the Attribute Tables

    Below is a list of the various tags that are present in the attribute tables and what they represent:

    Attribute Tag Description

    required

    This indicates that this attribute is required for any POST requests

    read-only

    This indicates that this attribute is not edittable (either through POST, PATCH, or PUT)

    Result List Only

    Indicates that this attribute appears for APIs that return lists

    Multi Test Only

    Indicates that this attribute is used for multi test or collection object only

    Test Only

    Indicates that this attribute is used for test object only

    Shared Type Only

    Indicates that this attribute is only available to Shared private location type

    Legacy Only

    Indicates that this attribute is only available for legacy BlazeMeter users

    Exclusive

    Indicates that this attribute cannot be used in conjunction with another Exclusive attribute

    Authorization Using Basic Authentication

    Authorization

    curl 'https://a.blazemeter.com/api/v4/user' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
      "api_version": 4,
      "error": null,
      "result": {
        "id": 123456,
        "email": "my.name@my_email.com",
        "access": 1522676762,
        "login": 1521724222,
        "firstName": "my",
        "lastName": "name",
        "timezone": 0,
        "enabled": true,
        "roles": [
          "user",
          "new-billing",
          "authenticated"
        ]
        }
      }
    }
    

    API Explorer: /user

    To use the BlazeMeter API, pass your BlazeMeter API key using Basic Authentication (Basic Auth) credentials. These credentials contain a Key ID and a Secret Key:

    id:secret

    For example: f817e22f1526b048799f75da:7641251982b983cfd92b5a25fa97cd3ee9e21920f21d8b14cd705831826935723f3033f0

    All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail. In the code sample, replace 'api_key_id:api_key_secret' with your credentials.

    Create the API Key

    Use the linked BlazeMeter article to create your API key.

    Accounts

    This section goes over how to handle account administration (i.e. changing user roles, enabling/disabling users, etc.).

    To run these APIs, you will need the accountId for the account you are wanting to handle the administration, and your user will need to have account admin access to run these APIs.

    Add User to Account

    Add User to Account

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/invitations' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"invitations":[{"inviteeEmail":"myName@myDomain.com","attachAutomatically":true,"accountRoles":["standard"],"workspacesId":[123456],"workspacesRoles":["tester"]}]}'
    

    API Explorer: /accounts/{accountId}/invitations

    To add a user, you need the accountId of the account you want to add the user to and use an API key that has account admin access. For the sample code on the right, accountId 123456 has added user myName@myDomain.com to the account automatically (skipping the invitation link process). To add a user to your account, replace the accountId 123456 with the accountId of your account, the workspaceId attribute with the workspaceId of your workspace. This user will be given the account role of Standard and the workspace role of Tester.

    Add User to Account Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Add User to Account Add User to Account POST Body (JSON)

    {
      "invitations": [
        {
          "inviteeEmail": "myName@myDomain.com",
          "attachAutomatically": true,
          "accountRoles": [
            "standard"
          ],
          "workspacesId": [
            123456
          ],
          "workspacesRoles": [
            "tester"
          ]
        }
      ]
    }
    

    Attributes

    Add User to Account Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": "5dc096abb7103a3c3f284b15",
                "inviteeEmail": "myName@myDomain.com",
                "token": "E0SC2x7U54bn",
                "accountRoles": [
                    "standard"
                ],
                "workspacesRoles": [
                    "tester"
                ],
                "attachAutomatically": true,
                "created": 1572902571,
                "updated": 1572902571,
                "accountId": 123456,
                "inviteeUserId": 234567,
                "invitedById": 123456,
                "workspacesId": [
                    123456
                ],
                "accountName": "My Account",
                "acceptUrl": "https://a.blazemeter.com/api/v4/accounts/123456/invitations/5dc096abb7103a3c3f284b15/accept/E0SC2x7U54bn",
                "rejectUrl": "https://a.blazemeter.com/api/v4/accounts/123456/invitations/5dc096abb7103a3c3f284b15/reject/E0SC2x7U54bn",
                "invitingEmail": "adminUser@myDomain.com",
                "invitingName": "Admin User"
            }
        ],
        "request_id": "5dc096ab2c16d"
    }
    

    Attributes

    List Account Invitations

    List Account Invitations

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/invitations' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /accounts/{accountId}/invitations

    To list the account invitations, you need the accountId of the account you want to get the list of invitations and use an API key that has account admin access. For the sample code on the right, a list of invitations for accountId 123456 is provided. To get a list of invitations for your account, replace the accountId 123456 with the accountId of your account.

    Add User to Account Response Attributes

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 1,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [{
            "id": "5eea89603e7ad67f5d35cbf7",
            "inviteeEmail": "travis.lloyd+test@broadcom.com",
            "token": "4p8M0gseEpHr",
            "accountRoles": [
                "standard"
            ],
            "workspacesRoles": [
                "tester"
            ],
            "attachAutomatically": false,
            "created": 1592428896,
            "updated": 1592428896,
            "accountName": "Travis's Account",
            "acceptUrl": "https://a.blazemeter.com/api/v4/accounts/130010/invitations/5eea89603e7ad67f5d35cbf7/accept/4p8M0gseEpHr",
            "rejectUrl": "https://a.blazemeter.com/api/v4/accounts/130010/invitations/5eea89603e7ad67f5d35cbf7/reject/4p8M0gseEpHr",
            "invitingEmail": "travis.lloyd@broadcom.com",
            "invitingName": "Travis Lloyd",
            "workspaceNames": [
                "Default workspace"
            ]
        }],
        "request_id": "5eea8978ea87b"
    }
    

    Attributes

    Account User List

    Account User List

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/users' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /accounts/{accountId}/users

    To return a list of the account users, an accountId is required. The sample code returns a list of users within accountId of 123456. Use the actual ID value for the account to return the list of the users in your account.

    Account User List Parameters

    Parameters


    Also see: Pagination

    Account User List Response Attributes

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 123456,
                "email": "owner@myDomain.com",
                "displayName": "Owner Name",
                "firstName": "Owner",
                "lastName": "Name",
                "login": 1573145246,
                "access": 1573227166,
                "roles": [
                    "admin",
                    "owner"
                ],
                "enabled": true,
                "lastAccess": 1573227166
            },
            {
                "id": 234567,
                "email": "standard@myDomain.com",
                "displayName": "Standard Name",
                "firstName": "Standard",
                "lastName": "Name",
                "login": 1506347921,
                "access": 1520965347,
                "roles": [
                    "standard"
                ],
                "enabled": false,
                "lastAccess": 1520965347,
                "type": "account"
            }
        ],
        "request_id": "5dc58b956e81b"
    }
    

    Attributes

    Update Account User

    Update Account User

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/users/123456' \
        -X PUT \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"roles":["user_manager"],"enabled": false}'
    

    API Explorer: /accounts/{accountId}/users/{userId}

    To change a user's account role or disable or enable a user, an accountId and userId are required. The sample code changes the userId of 123456 account role within accountId of 123456 to user_manager and disables the user in the account. Use the actual ID value for the account and user you are wanting to change.

    Update Account User Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Update Account User Update Account User PUT Body (JSON)

    {
      "roles": [
        "user_manager"
        ],
      "enabled": false
    }
    

    Attributes

    Update Account User Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "roles": [
                "user_manager"
            ],
            "enabled": false,
            "lastAccess": 1573229467,
            "type": "account",
            "displayName": "My Name",
            "login": 1573145246,
            "email": "my.name@domain.com"
        },
        "request_id": "5dc5939bd8286"
    }
    

    For a breakdown of the response attributes, see the Add User to Account Response Attributes section.

    Account Engine Utilization Report

    Account Engine Utilization Report

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/utilization-report' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /accounts/{accountId}/utilization-report

    To the engine utilizataion report for your account, you need the accountId of the account to get the engine utilizataion report and use an API key that has account admin access. For the sample code on the right, a the engine utilizataion report for accountId 123456 is provided. To get the engine utilizataion report for your account, replace the accountId 123456 with the accountId of your account.

    Account Engine Utilization Report Response Attributes

    Response 200 OK

    {
      "api_version": 4,
      "error": null,
      "result": {
        "workspaces": [
          {
            "id": 123456,
            "name": "Default workspace"
          }
        ],
        "locations": {
          "us-west1-a": {
            "id": "us-west1-a",
            "name": "US West (Oregon, Google)",
            "engines": 1
          },
          "harbor-5b0323b3c648be3b4c7b23c8": {
            "id": "harbor-5b0323b3c648be3b4c7b23c8",
            "name": "Example Private Location",
            "engines": 1
          },
          "us-east1-b": {
            "id": "us-east1-b",
            "name": "US East (South Carolina, Google)",
            "engines": 1
          }
        }
      },
      "request_id": "5eeb989011d5f"
    }
    

    Attributes

    Terminate Masters in Account

    curl 'https://a.blazemeter.com/api/v4/accounts/123456/terminate-masters' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"dryRun": false}'
    

    API Explorer: /accounts/{accountId}/terminate-masters

    To terminate all running masters in an account, you need the accountId of the account and account admin access. For the sample code on the right, we are terminating all the running masters in accountId 123456. To terminate all the masters in your account, replace the accountId 123456 with the accountId of your account.

    Terminate Masters in Account Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Terminate Masters in Account Terminate Masters in Account POST Body (JSON)

    {
      "dryRun": false
    }
    

    Attributes

    Terminate Masters in Account Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": [
            21509126,
            21509125
        ],
        "request_id": "5dc5a94bcc138"
    }
    

    Attributes

    Workspaces

    This section goes over how to handle workspace administration (i.e. changing user roles, enabling/disabling users, etc.) for your BlazeMeter workspace.

    To run these APIs, you will need the workspaceId for the workspace you are wanting to handle the administration, and your user will need to have workspace manager access to run these APIs.

    The Workspace Object

    The Workspace Object

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "name": "Default workspace",
            "userId": 123456,
            "created": 1488987561,
            "updated": 1573503519,
            "enabled": true,
            "dedicatedIpsEnabled": true,
            "privateLocationsEnabled": true,
            "owner": {
                "id": 123456,
                "email": "my.user@myDomain.com",
                "displayName": "My User"
            },
            "membersCount": 7,
            "allowance": {
                "amount": 17678,
                "type": "credits"
            },
            "accountId": 123456,
            "locations": [
                {
                    "id": "harbor-5591335d8588531f5cde3a04",
                    "title": "Sandbox",
                    "name": "Sandbox",
                    "provider": "Sandbox",
                    "limits": {
                        "threadsPerEngine": 20,
                        "concurrency": 20,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": true,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-east4-a",
                    "title": "US East (Virginia, Google)",
                    "name": "US East (Virginia)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-east1-b",
                    "title": "US East (South Carolina, Google)",
                    "name": "US East (South Carolina)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-west1-a",
                    "title": "US West (Oregon, Google)",
                    "name": "US West (Oregon)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-central1-a",
                    "title": "US Central (Iowa, Google)",
                    "name": "US Central (Iowa)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "northamerica-northeast1-a",
                    "title": "Canada East (Montreal, Google)",
                    "name": "Canada East (Montreal)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "europe-west2-a",
                    "title": "EU West (London, Google)",
                    "name": "EU West (London)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "europe-west3-a",
                    "title": "EU West (Frankfurt, Google)",
                    "name": "EU West (Frankfurt)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "europe-west1-b",
                    "title": "EU West (Belgium, Google)",
                    "name": "EU West (Belgium)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "europe-west4-b",
                    "title": "EU West (Netherlands, Google)",
                    "name": "EU West (Netherlands)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "asia-east1-a",
                    "title": "Asia East (Taiwan, Google)",
                    "name": "Asia East (Taiwan)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "asia-northeast1-a",
                    "title": "Asia Northeast (Japan, Google)",
                    "name": "Asia Northeast (Japan)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "asia-southeast1-a",
                    "title": "Asia Southeast (Singapore, Google)",
                    "name": "Asia Southeast (Singapore)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "asia-south1-a",
                    "title": "Asia South (Mumbai, Google)",
                    "name": "Asia South (Mumbai)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "australia-southeast1-a",
                    "title": "Australia (Sydney, Google)",
                    "name": "Australia (Sydney)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "southamerica-east1-a",
                    "title": "Brazil (Sao Paulo, Google)",
                    "name": "Brazil (Sao Paulo)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "asia-northeast2-a",
                    "title": "Japan (Osaka, Google)",
                    "name": "Japan (Osaka)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-west2-a",
                    "title": "US West (California, Google)",
                    "name": "US West (California)",
                    "provider": "Google Cloud Platform",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-east-1",
                    "title": "US East (Virginia, AWS)",
                    "name": "US East (Virginia)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-east-2",
                    "title": "US East (Ohio, AWS)",
                    "name": "US East (Ohio)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-west-1",
                    "title": "US West (N.California, AWS)",
                    "name": "US West (N.California)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "us-west-2",
                    "title": "US West (Oregon, AWS)",
                    "name": "US West (Oregon)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ca-central-1",
                    "title": "Canada (Central, AWS)",
                    "name": "Canada (Central)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "eu-west-1",
                    "title": "EU West (Ireland, AWS)",
                    "name": "EU West (Ireland)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "eu-west-2",
                    "title": "EU West (London, AWS)",
                    "name": "EU West (London)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "eu-west-3",
                    "title": "EU West (Paris, AWS)",
                    "name": "EU West (Paris)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "eu-central-1",
                    "title": "EU Central (Frankfurt, AWS)",
                    "name": "EU Central (Frankfurt)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ap-northeast-1",
                    "title": "Asia Pacific (Tokyo, AWS)",
                    "name": "Asia Pacific (Tokyo)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ap-south-1",
                    "title": "Asia Pacific (Mumbai, AWS)",
                    "name": "Asia Pacific (Mumbai)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ap-northeast-2",
                    "title": "Asia Pacific (Seoul, AWS)",
                    "name": "Asia Pacific (Seoul)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ap-southeast-1",
                    "title": "Asia Pacific (Singapore, AWS)",
                    "name": "Asia Pacific (Singapore)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "ap-southeast-2",
                    "title": "Australia (Sydney, AWS)",
                    "name": "Australia (Sydney)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "sa-east-1",
                    "title": "South America (Sao Paulo, AWS)",
                    "name": "South America (Sao Paulo)",
                    "provider": "Amazon Web Services",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-east-us-1",
                    "title": "US East (Virginia, Azure)",
                    "name": "US East (Virginia)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-east-us-2",
                    "title": "US East 2 (Virginia, Azure)",
                    "name": "US East 2 (Virginia)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-west-us-1",
                    "title": "US West (California, Azure)",
                    "name": "US West (California)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-west-us-2",
                    "title": "US West 2 (Washington, Azure)",
                    "name": "US West 2 (US West 2)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-us-west-central",
                    "title": "US West Central (Wyoming, Azure)",
                    "name": "US West Central (US West Central)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-central-us-1",
                    "title": "US Central (Iowa, Azure)",
                    "name": "US Central (Iowa)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-north-central-us-1",
                    "title": "US North Central (Illinois, Azure)",
                    "name": "US North Central (Illinois)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-south-central-us-1",
                    "title": "US South Central (Texas, Azure)",
                    "name": "US South Central (Texas)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-east-ca",
                    "title": "Canada East (Quebec City, Azure)",
                    "name": "Canada East (Quebec City)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-central-ca",
                    "title": "Canada Central (Toronto, Azure)",
                    "name": "Canada Central (Toronto)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-west-europe-1",
                    "title": "EU West (Netherlands, Azure)",
                    "name": "EU West (Netherlands)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-north-europe-1",
                    "title": "EU North (Ireland, Azure)",
                    "name": "EU North (Ireland)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-eu-west-3",
                    "title": "UK West (Cardiff, Azure)",
                    "name": "UK West (Cardiff)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-eu-west-2",
                    "title": "UK South (London, Azure)",
                    "name": "UK South (London)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-japan-east-1",
                    "title": "Japan East (Tokyo, Azure)",
                    "name": "Japan East (Tokyo, Saitama)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-japan-west-1",
                    "title": "Japan West (Osaka, Azure)",
                    "name": "Japan West (Osaka)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-ap-northeast-1",
                    "title": "Korea Central (Seoul, Azure)",
                    "name": "Korea Central (Seoul)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-ap-northeast-2",
                    "title": "Korea South (Busan, Azure)",
                    "name": "Korea South (Busan)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-east-asia-1",
                    "title": "East Asia (Hong Kong, Azure)",
                    "name": "East Asia (Hong Kong)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-southeast-asia-1",
                    "title": "Southeast Asia (Singapore, Azure)",
                    "name": "Southeast Asia (Singapore)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-central-asia-1",
                    "title": "Central India (Pune, Azure)",
                    "name": "Central India (Pune)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-central-asia-2",
                    "title": "West India (Mumbai, Azure)",
                    "name": "West India (Mumbai)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-central-asia-3",
                    "title": "South India (Chennai, Azure)",
                    "name": "South India (Chennai)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-east-au-1",
                    "title": "Australia East (New South Wales, Azure)",
                    "name": "Australia East (New South Wales)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-southeast-au-1",
                    "title": "Australia Southeast (Victoria, Azure)",
                    "name": "Australia Southeast (Victoria)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "azure-brazil-south-1",
                    "title": "Brazil South (Sao Paulo, Azure)",
                    "name": "Brazil South (Sao Paulo)",
                    "provider": "Microsoft Azure",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 500000,
                        "engines": 1000,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-58d3b97ff132adc0347b23c6",
                    "title": "Functional Testing Default Location",
                    "name": "Functional Testing Default Location",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-59464ffd67f3bf63cb7b23c9",
                    "title": "US East (S. Carolina) - Functional Test",
                    "name": "US East (S. Carolina) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-59465fcde4d6a240d97b23c6",
                    "title": "US West (Los Angeles) - Functional Test",
                    "name": "US West (Los Angeles) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-594662d6e6e960aedb7b23c7",
                    "title": "US West (Oregon) - Functional Test",
                    "name": "US West (Oregon) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5946677fe4d6a21adb7b23c8",
                    "title": "Canada (Montreal) - Functional Test",
                    "name": "Canada (Montreal) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-59466cb1e4d6a296e37b23c8",
                    "title": "EU West (Belgium) - Functional Test",
                    "name": "EU West (Belgium) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-59466f1b67f3bfebe27b23c7",
                    "title": "EU West (Frankfurt) - Functional Test",
                    "name": "EU West (Frankfurt) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5946708a65e00138e57b23c6",
                    "title": "EU West (London) - Functional Test",
                    "name": "EU West (London) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-59467342e4d6a205e67b23c6",
                    "title": "Asia Pacific (Singapore) - Functional Test",
                    "name": "Asia Pacific (Singapore) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5946756fe4d6a204e37b23c6",
                    "title": "Australia (Sydney) - Functional Test",
                    "name": "Australia (Sydney) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5946770be6e960e5e57b23cf",
                    "title": "Asia Pacific (Seoul) - Functional Test",
                    "name": "Asia Pacific (Seoul) - Functional Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": true,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5b0323b3c648be3b4c7b23c8",
                    "title": "Example Private Location",
                    "name": "Example Private Location",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5b0f166208e9cb973d7b23c8",
                    "title": "Recreate Issues",
                    "name": "Recreate Issues",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5b77157469770195257b23c6",
                    "title": "Staging Env ONLY",
                    "name": "Staging Env ONLY",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5b86c7f5e86da28c337b23c6",
                    "title": "Customer Reproduction",
                    "name": "Customer Reproduction",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5b87fb556b8abfea7d7b23ca",
                    "title": "Console-Engine Communication",
                    "name": "Console-Engine Communication",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5c8973ed0568ed07f368e1f7",
                    "title": "CI-Test",
                    "name": "CI-Test",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5c94ea930b63ac5fb64ab073",
                    "title": "Kubernetes Instance",
                    "name": "Kubernetes Instance",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d23ad18d6baf85cdc41e686",
                    "title": "Keybank Kube Test",
                    "name": "Keybank Kube Test",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2cecc61391a8f318703bd5",
                    "title": "New K8s",
                    "name": "New K8s",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": false,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e4f9ef54f63a700650266",
                    "title": "argaerg",
                    "name": "argaerg",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": false,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5d2e4fbb611274a61b066a93",
                    "title": "10+ Agents",
                    "name": "10+ Agents",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e50105b444da11c733e24",
                    "title": "aergaesrgsegrt",
                    "name": "aergaesrgsegrt",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e5019265d90a75c668184",
                    "title": "fjhm,ghj,ghk,g,",
                    "name": "fjhm,ghj,ghk,g,",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e501faef4bda5292a90e3",
                    "title": ",fhj,ghjk,ghj,",
                    "name": ",fhj,ghjk,ghj,",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e502649f49db05b1b127b",
                    "title": "sdfghsdrygthsdrgyt",
                    "name": "sdfghsdrygthsdrgyt",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5d2e502d5b444d9e20588a14",
                    "title": "gnthmfthnmghm",
                    "name": "gnthmfthnmghm",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 1000,
                        "concurrency": 1000,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": true,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5e0e68b9568b27689176f3b4",
                    "title": "Shared",
                    "name": "Shared",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": true,
                        "functional": false,
                        "grid": true,
                        "serviceMock": true
                    }
                },
                {
                    "id": "harbor-5e7e5a9d28320500d25dc3f3",
                    "title": "Docker 13.1 :(",
                    "name": "Docker 13.1 :(",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5e866d5f63d06209a46e9425",
                    "title": "GUI Functional Location",
                    "name": "GUI Functional Location",
                    "provider": "Private Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5ab3c64ec8589f914c7b25db",
                    "title": "US East (Virginia) - Functional GUI Test",
                    "name": "US East (Virginia) - Functional GUI Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5d25f94f9950ce73cd105f53",
                    "title": "EU West (London) - Functional GUI Test",
                    "name": "EU West (London) - Functional GUI Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                },
                {
                    "id": "harbor-5d25f95f206f10730f21f1b4",
                    "title": "US West (Oregon) - Functional GUI Test",
                    "name": "US West (Oregon) - Functional GUI Test",
                    "provider": "Public Locations",
                    "limits": {
                        "threadsPerEngine": 300,
                        "concurrency": 300,
                        "engines": 0,
                        "duration": 712
                    },
                    "capabilities": {
                        "dedicatedIps": false,
                        "isPrivileged": true
                    },
                    "sandbox": false,
                    "purposes": {
                        "load": false,
                        "functional": false,
                        "grid": true,
                        "serviceMock": false
                    }
                }
            ],
            "activeMember": {
                "id": 123456,
                "email": "my.user@myDomain.com",
                "displayName": "My User",
                "roles": [
                    "manager"
                ],
                "enabled": true,
                "access": 1592422761
            }
        },
        "request_id": "5eea716988414"
    }
    

    Attributes

    Create a Workspace

    Create a Workspace

    curl 'https://a.blazemeter.com/api/v4/workspaces/' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"dedicatedIpsEnabled": true, "enabled": true, "name": "New Workspace", "privateLocationsEnabled": true, "accountId": 123456}'
    

    API Explorer: /workspaces

    To create a workspace:

    1. Create the workspace object with a POST to the workspaces endpoint (see sample code).
    2. Capture the workspaceId returned as id from the response.

    Create a Workspace Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Create a Project Create a Project POST Body (JSON)

    {
      "dedicatedIpsEnabled": true,
      "enabled": true,
      "name": "New Workspace",
      "privateLocationsEnabled": true,
      "accountId": 123456
    }
    

    Attributes

    Create a Workspace Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "name": "V4 Create Test Through API",
            "userId": 123456,
            "description": "A description",
            "created": 1488987563,
            "updated": 1488987563,
            "workspaceId": 123456,
            "testsCount": 388
        }
    }
    

    See The Workspace Object for the details on the response attributes.

    Workspaces List

    Workspaces List

    curl 'https://a.blazemeter.com/api/v4/workspaces?accountId=123456' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /workspaces

    To return a list of the workspaces, an accountId is required. The sample code returns a list of workspaces within accountId of 123456. Use the actual ID value for the account to return the list of the workspaces in your account.

    Workspace List Parameters

    Parameters


    Also see: Pagination and Sorting

    Workspaces List Response Attributes

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 234567,
                "name": "Another Workspace",
                "userId": 123456,
                "created": 1544563474,
                "updated": 1544563474,
                "enabled": true,
                "dedicatedIpsEnabled": true,
                "privateLocationsEnabled": true,
                "owner": {
                    "id": 123456,
                    "email": "my.user@myDomain.com",
                    "displayName": "My User"
                },
                "membersCount": 1,
                "allowance": {
                    "amount": 17568,
                    "type": "credits"
                },
                "accountId": 123456
            },
            {
                "id": 123456,
                "name": "Default workspace",
                "userId": 123456,
                "created": 1488987561,
                "updated": 1572904019,
                "enabled": true,
                "dedicatedIpsEnabled": true,
                "privateLocationsEnabled": true,
                "owner": {
                    "id": 123456,
                    "email": "my.user@myDomain.com",
                    "displayName": "My User"
                },
                "membersCount": 6,
                "allowance": {
                    "amount": 17568,
                    "type": "credits"
                },
                "accountId": 123456
            }
        ],
        "request_id": "5dc5bb21cda8d"
    }
    

    To see a breakdown of the attributes, please see The Workspace Object section.

    Add User to Workspace

    Add User to Workspace

    curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"usersIds":[352749],"roles": ["manager"]}'
    

    API Explorer: /workspaces/{workspaceId}/users

    To add a user to a workspace, you need the workspaceId of the workspace you want to add the user to and use an API key that has account admin access or a workspace manager role. For the sample code on the right, workspaceId 123456 has added user myName@myDomain.com to the workspace with the workspace manager role.

    Add User to Workspace Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Add User to Workspace Add User to Workspace POST Body (JSON)

    {
        "usersIds": [
            352749
        ],
        "roles": [
            "manager"
        ]
    }
    

    Attributes

    Add User to Workspace Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 123456,
                "roles": [
                    "manager"
                ],
                "enabled": true,
                "lastAccess": 1573503678,
                "type": "workspace",
                "memberId": {
                    "$oid": "5dc9c2be4b5cab1c82345bb3"
                },
                "displayName": "Standard Manager",
                "firstName": "Standard",
                "lastName": "Manager",
                "login": 1570322423,
                "email": "myName@myDomain.com",
                "access": 1573503678
            }
        ],
        "request_id": "5dc9c2be0ae5a"
    }
    

    Attributes

    Workspace User List

    Workspace User List

    curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /workspaces/{workspaceId}/users

    To return a list of the workspace users, a workspaceId is required. The sample code returns a list of workspace users within workspaceId of 123456. Use the actual ID value for the workspace to return the list of the workspace users in your workspace.

    Workspace User List Parameters

    Parameters


    Also see: Pagination

    Workspace User List Response Attributes

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 123456,
                "email": "adminUser@myDomain.com",
                "displayName": "Admin User",
                "firstName": "Admin",
                "lastName": "User",
                "login": 1573488679,
                "access": 1573501903,
                "roles": [
                    "manager"
                ],
                "enabled": true,
                "lastAccess": 1573501903
            },
            {
                "id": 234567,
                "email": "standardUser@myDomain.com",
                "displayName": "Standard User",
                "firstName": "Standard",
                "lastName": "User",
                "login": 1506347921,
                "access": 1516906397,
                "roles": [
                    "tester"
                ],
                "enabled": false,
                "lastAccess": 1516906397,
                "type": "workspace"
            }
        ],
        "request_id": "5dc9bdef0a561"
    }
    

    Attributes

    Update Workspace User

    Update Workspace User

    curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users/123456' \
        -X PUT \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"roles":["viewer"],"enabled": false}'
    

    API Explorer: /workspaces/{workspaceId}/users/{userId}

    To change a user's workspace role and disable or enable an user in the workspace, a workspaceId and an userId are required. The sample code changes the workspace role of userId of 123456 within workspaceId of 123456 to viewer and disables the user. Use the actual ID value for the workspace and user you are wanting to change.

    Update Workspace User Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Update Workspace User Update Workspace User PUT Body (JSON)

    {
      "roles": [
        "viewer"
        ],
      "enabled": false
    }
    

    Attributes

    Update Workspace User Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "roles": [
                "viewer"
            ],
            "enabled": false,
            "lastAccess": 1573506574,
            "type": "workspace",
            "displayName": "Viewer User",
            "login": 1562944843,
            "email": "viwerUser@myDomain.com"
        },
        "request_id": "5dc9ce0e3076d"
    }
    

    For a breakdown of the response attributes, see the Add User to Workspace Response Attributes section.

    Terminate Masters in Workspace

    Terminate Masters in Workspace

    
    curl 'https://a.blazemeter.com/api/v4/workspaces/123456/terminate-masters' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"dryRun": false}'
    

    API Explorer: /workspaces/{workspaceId}/terminate-masters

    To terminate all running masters in a workspace, you need the workspaceId of the workspace. For the sample code on the right, we are terminating all the running masters in workspaceId 123456. To terminate all the masters in your workspace, replace the workspaceId 123456 with the workspaceId of your workspace.

    Terminate Masters in Workspace Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Terminate Masters in Workspace Terminate Masters in Workspace POST Body (JSON)

    {
      "dryRun": false
    }
    

    Attributes

    Terminate Masters in Workspace Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": [
            21509126,
            21509125
        ],
        "request_id": "5dc5a94bcc138"
    }
    

    Attributes

    Projects

    This section goes over how to handle project administration (i.e. creating a project, deleting a project, etc.) for your BlazeMeter project.

    To run many of these APIs, you will need the projectId for the project you are wanting to handle.

    The Project Object

    The Project Object

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "name": "Default project",
            "userId": 123456,
            "description": null,
            "created": 1488987563,
            "updated": 1488987563,
            "workspaceId": 123456,
            "testsCount": 417
        },
        "request_id": "5eea8ecd9eace"
    }
    

    Attributes

    Create a Project

    Create a Project

    curl 'https://a.blazemeter.com/api/v4/projects' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"name": "V4 Create Test Through API", "description": "A description", "workspaceId": 123456}'
    

    API Explorer: /projects

    To create a project:

    1. Create the project object with a POST to the projects endpoint (see sample code).
    2. Capture the projectId returned as id from the response.

    Create a Project Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Create a Project Create a Project POST Body (JSON)

    {
        "name": "V4 Create Test Through API",
        "description": "A description",
        "workspaceId": 123456
    }
    

    Attributes

    Create a Project Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "name": "V4 Create Test Through API",
            "userId": 123456,
            "description": "A description",
            "created": 1488987563,
            "updated": 1488987563,
            "workspaceId": 123456,
            "testsCount": 388
        }
    }
    

    See The Project Object for the details on the response attributes.

    Projects List

    Projects List

    curl 'https://a.blazemeter.com/api/v4/projects?workspaceId=123456' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /projects

    To return a list of the projects, a workspaceId or an accountId is required. The sample code returns a list of projects within workspaceId of 123456. Use the actual ID value for the workspace to return the list of the projects in your workspace.

    Projects List Parameters

    Parameters


    Also see: Pagination and Sorting

    Projects List Response Attributes

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 234567,
                "name": "New Project",
                "userId": 234567,
                "description": "Tests using new project",
                "created": 1489672823,
                "updated": 1489672823,
                "workspaceId": 123456,
                "testsCount": 126
            },
            {
                "id": 123456,
                "name": "Default project",
                "userId": 123456,
                "description": null,
                "created": 1488987563,
                "updated": 1488987563,
                "workspaceId": 123456,
                "testsCount": 388
            }
        ],
        "request_id": "5dc9d8bd366b4"
    }
    

    See The Project Object for the details on the response attributes.

    Project Details

    Project Details

    curl 'https://a.blazemeter.com/api/v4/projects/123456' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /projects/{projectId}

    To return the details of a project, a projectId is required. The sample code returns the details of the project with projectId of 123456. Use the actual ID value for the project to return the detail of your project.

    Project Details Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 167798,
            "name": "Default project",
            "userId": 344260,
            "description": null,
            "created": 1488987563,
            "updated": 1488987563,
            "workspaceId": 123429
        },
        "request_id": "5eea991e547ca"
    }
    

    See The Project Object for the details on the response attributes.

    Update a Project

    Update a Project

    curl 'https://a.blazemeter.com/api/v4/projects/123456' \
        -X PATCH \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"name":"New Test Name For API"}'
    

    API Explorer: /projects/{projectId}

    To update a project, use PATCH to change the provided configuration for a given project (you need to know the projectId). The sample code updates a test with an ID of 123456 (the 123456 is contained in the URL) with a new test name New Test Name For API, a new description of This is my description, and a new workspaceId of 234567.

    If you do not know the projectId of the project to update, use List Projects to return a list of your created projects.

    Update a Project Request Attributes

    Update a Project Update a Project Sample PATCH Body (JSON)

    {
        "name": "New Test Name For API",
        "description": "This is my description",
        "workspaceId": 234567
    }
    

    Attributes

    Update a Project Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 123456,
            "name": "New Test Name For API",
            "userId": 123456,
            "description": "This is my description",
            "created": 1488987563,
            "updated": 1488987563,
            "workspaceId": 234567,
            "testsCount": 388
        }
    }
    

    See The Project Object for the details on the response attributes.

    Delete a Project

    Delete a Project

    curl 'https://a.blazemeter.com/api/v4/projects/123456' \
        -X DELETE \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /projects/{projectId}

    To delete a project, DELETE its ID (you need to know the projectId). The sample code deletes a project with an ID of 123456. Use the projectId of the actual project to delete in place of the 123456.

    If you do not know the ID of the project to delete, use the List Projects section to return a list of your created projects.

    Delete a Project Parameters

    Parameters

    Terminate Masters in Projects

    Terminate Masters in Projects

    curl 'https://a.blazemeter.com/api/v4/projects/123456/terminate-masters' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"dryRun": false}'
    

    API Explorer: /projects/{projectId}/terminate-masters

    To terminate all running masters in a project, you need the projectId of the project. For the sample code on the right, we are terminating all the running masters in projectId 123456. To terminate all the masters in your project, replace the projectId 123456 with the projectId of your project.

    Terminate Masters in Project Request Attributes

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Terminate Masters in Project Terminate Masters in Project POST Body (JSON)

    {
      "dryRun": false
    }
    

    Attributes

    Terminate Masters in Project Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": [
            21509126,
            21509125
        ],
        "request_id": "5dc5a94bcc138"
    }
    

    Attributes

    Tests

    When you create a test, you are creating a test object configured with specific parameters.

    Once you have created a test and have uploaded any required files, you can start the test, which will create a master for control and reporting.

    You will also need the location id to point your test configuration to the correct location(s) you want your test to run in.

    As we are heavily integrated with Taurus, the test override configurations will display similarly to the Taurus execution section. If you are familiar with the YAML or JSON formatting of these configuration files, you can easily translate that knowledge to our API configurations.

    Create a Test

    API Explorer: /tests

    To create a test:

    1. Create the test object with a POST to the test endpoint (see sample code).
    2. Capture the testId returned as id from the response.
    3. Upload test assets (such as scripts, data files or YAML Taurus configuration files) by using the testId and the code explained in the Upload or Update Asset Files section.

    See Update a Test for more information.

    Minimum Parameters for Test Creation

    The following parameters are the base parameters required to create a test. See the Test Attributes for a complete list of parameters.

    Test Creation Request Attributes (minimum)

    Create a Test Minimum Configuration Sample

    
    curl 'https://a.blazemeter.com/api/v4/tests' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"name": "V4 Create Test Through API", "configuration": {"type": "taurus", "filename": "DemoTest.jmx"}}'
    

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Create a Test Minimum Configuration Sample POST Body(JSON)

    {
        "name": "Minimum_Required_Configuration_Sample",
        "configuration": {
            "type": "taurus",
            "filename": "DemoTest.jmx",
            "scriptType": "jmeter"
        }
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 6650368,
            "name": "Minimum_Required_Configuration_Sample",
            "isNewTest": true,
            "userId": 344260,
            "created": 1551391783,
            "updated": 1551391783,
            "creatorClientId": "api",
            "overrideExecutions": [],
            "shouldSendReportEmail": true,
            "projectId": 169410,
            "lastUpdatedById": 344260,
            "configuration": {
                "type": "taurus",
                "executionType": "taurusCloud",
                "filename": "DemoTest.jmx",
                "scriptType": "jmeter"
            }
        }
    }
    

    Attributes

    Upload or Update Asset Files

    Upload or Update Asset Files

    curl 'https://a.blazemeter.com/api/v4/tests/6654357/files' \
        -X POST \
        -F 'file=@/my/path/to/MyTest.jmx' \
        --user 'api_key_id:api_key_secret'
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 6654357,
            "isNewTest": true,
            "name": "Typical Configuration Sample",
            "userId": 344260,
            "creatorClientId": "api",
            "overrideExecutions": [
                {
                    "executor": "jmeter",
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "concurrency": 20,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "steps": 0
                }
            ],
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario"
                }
            ],
            "shouldSendReportEmail": true,
            "created": 1551635668,
            "updated": true,
            "configuration": {
                "type": "taurus",
                "executionType": "taurusCloud",
                "filename": "MyTest.jmx",
                "scriptType": "jmeter"
            }
        }
    }
    

    API Explorer: /tests/{testId}/files

    To upload a file asset to a test, POST the file to the testId (you need to know the testId of the created test). Use the following template for the file path and name:

    curl -X POST -F 'file=@path to file/file.ext' ...

    The sample code uploads a file (@/my/path/to/MyTest.jmx) to a test with an ID of 6654357. Replace @/my/path/to/MyText.jmx with the actual path and file name and 6654357 with your testId.

    To update the contents of an uploaded file, repeat the same operation (upload the updated file using the same file name).

    File Naming Requirements

    Make sure your file names:

    For example: The file name my_file_no_4.csv – is good. The file name m$ file& – is bad.

    Limitations on File Content

    BlazeMeter cannot read files containing non-ASCII characters. You must remove all non-ASCII characters from your files before uploading and starting a test.

    File Size

    BlazeMeter has a file size limit of 50 MB per file that can be uploaded. You can upload multiple files of up to 50 MB each, as needed.

    Impact of Uploaded Files on Start Time

    The number and size of uploaded test file assets impacts the start time of the test:

    Delete Asset Files

    Delete a File

    curl 'https://a.blazemeter.com/api/v4/tests/6654357/delete-file' \
        -X POST
        -H "Content-Type: application/json" \
        --user 'api_key_id:api_key_secret' \
        -d '{"fileName":"MyTest.jmx"}'
    

    Delete a File Delete a File Sample POST Body (JSON)

    {
        "fileName": "MyTest.jmx"
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": true
    }
    

    API Explorer: /tests/{testId}/delete-file

    To delete an uploaded file from a created test, you need to know the testId and the filename. The sample code deletes the file (MyTest.jmx) from the test with an ID of 6654357. Replace MyTest.jmx with the actual file name and 6654357 with your testId.

    Update a Test

    Update a Test

    curl 'https://a.blazemeter.com/api/v4/tests/6654357' \
        -X PATCH \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"name":"New Test Name For API"}'
    

    Update a Test Update a Test Sample PATCH Body (JSON)

    {
        "name": "New Test Name For API"
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 6654357,
            "isNewTest": true,
            "name": "New Test Name For API",
            "userId": 344260,
            "creatorClientId": "api",
            "overrideExecutions": [
                {
                    "executor": "jmeter",
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "concurrency": 20,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "steps": 0
                }
            ],
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6654357"
                }
            ],
            "shouldSendReportEmail": true,
            "created": 1551635668,
            "updated": 1551717656,
            "projectId": 167798,
            "lastUpdatedById": 344260,
            "configuration": {
                "type": "taurus",
                "executionType": "taurusCloud",
                "filename": "MyTest.jmx",
                "scriptType": "jmeter"
            }
        },
        "test": {
            "id": 6654357,
            "isNewTest": true,
            "name": "New Test Name For API",
            "userId": 344260,
            "creatorClientId": "api",
            "overrideExecutions": [
                {
                    "executor": "jmeter",
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "concurrency": 20,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "steps": 0
                }
            ],
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6654357"
                }
            ],
            "shouldSendReportEmail": true,
            "created": 1551635668,
            "updated": 1551717656,
            "projectId": 167798,
            "lastUpdatedById": 344260,
            "configuration": {
                "type": "taurus",
                "executionType": "taurusCloud",
                "filename": "MyTest.jmx",
                "scriptType": "jmeter"
            }
        }
    }
    

    API Explorer: /tests/{testId}

    To update a test, use PATCH to change the provided configuration for a given test (you need to know the testId). The sample code updates a test with an ID of 6654357 (the 6654357 is contained in the URL) with a new test name New Test Name For API. The sample code updates the test created in the Create a Test section.

    If you do not know the testId of the test to update, use List Tests to return a list of your created tests.

    See the Test Object for parameters that you can modify.

    List Tests

    List Tests

    
    curl 'https://a.blazemeter.com/api/v4/tests?projectId=123429&workspaceId=167798&type=taurus' \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 450,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 6654357,
                "name": "New Test Name For API Documentation",
                "isNewTest": true,
                "userId": 344260,
                "created": 1551635668,
                "updated": 1551717656,
                "creatorClientId": "api",
                "overrideExecutions": [
                    {
                        "executor": "jmeter",
                        "holdFor": "19m",
                        "rampUp": "1m",
                        "concurrency": 20,
                        "locations": {
                            "us-east-1": 20
                        },
                        "locationsPercents": {
                            "us-east-1": 100
                        },
                        "steps": 0
                    }
                ],
                "executions": [
                    {
                        "concurrency": 20,
                        "holdFor": "19m",
                        "rampUp": "1m",
                        "steps": 0,
                        "locations": {
                            "us-east-1": 20
                        },
                        "locationsPercents": {
                            "us-east-1": 100
                        },
                        "executor": "jmeter",
                        "scenario": "default-scenario-6654357"
                    }
                ],
                "shouldSendReportEmail": true,
                "projectId": 167798,
                "lastUpdatedById": 344260,
                "configuration": {
                    "type": "taurus",
                    "executionType": "taurusCloud",
                    "filename": "MyTest.jmx",
                    "scriptType": "jmeter"
                }
            }
        ]
    }
    

    API Explorer: /tests

    To return a list of created tests, a projectId or a workspaceId and a type attribute is required. The sample code returns a list for items with a projectId of 167798 and a workspaceId of 123429 and a type of functionalApi. Use the actual ID values for the project or workspace and one of the type values (should use taurus (performance tests)) to return the list of its tests.. Use the actual ID values for the project or workspace to return the list of its tests.

    You can return a list specifying either a projectId, a workspaceId, or both and a type. The returned list contains each test's testId (shows up as id in the response) and configuration.

    Also see: Pagination and Sorting

    Delete a Test

    Delete a Test

    curl 'https://a.blazemeter.com/api/v4/tests/99' \
        -X DELETE \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /tests/{testId}

    To delete a test, DELETE its ID (you need to know the testId). The sample code deletes a test with an ID of 99. Use the testId of the actual test to delete in place of the 99.

    If you do not know the ID of the test to delete, use the List Tests section to return a list of your created tests.

    Response codes associated with deleting a test include 204 (if the test was successfully deleted) and 404 (if the testId does not exist).

    Multi-Tests

    When you create a multi test, you are creating a multi-test and collection object configured with specific parameters.

    Once you have created a multi test, added tests to the multi test, and have uploaded any required data files, you can start the test, which will create a master for control and reporting.

    You will also need the location id to point your test configuration to the correct location(s) you want each test in the multi test to run.

    Create a Multi Test

    Create a Multi Test

    curl 'https://a.blazemeter.com/api/v4/multi-tests' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"collectionType": "multiV4","name": "Minimum Configuration","projectId": 167798}'
    

    The following JSON sample provides a more readable version of the content contained in the above curl example. This example represents the attributes and values contained in the -d flag of the curl example.

    Create a Multi Test Create a Multi Test Sample POST Body (JSON)

    {
      "collectionType": "multiV4",
      "name": "My Multi Test",
      "projectId": 167798
    }
    

    API Explorer: /multi-tests

    To create a multi test:

    1. Create the multi-test object with a POST to the test endpoint (see sample code).
    2. Capture the collectionId returned as id from the response.
    3. Add tests to multi test by using the collectionId, which is explained in the Add Tests to Multi Test section.
    4. Edit the test configurations for individual test, which is explained in the Edit Tests in Multi Test section.
    5. Upload data files by using the collectionId and the code explained in the Upload or Update Data Files section.

    See Update a Multi Test for more information.

    Multi Test Creation Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Multi Test",
            "collectionType": "multiV4",
            "userId": 344260,
            "created": 1552063283,
            "updated": 1552063283,
            "creatorClientId": "api",
            "shouldSendReportEmail": true,
            "projectId": 167798,
            "filesToSplit": [],
            "dataFiles": []
        }
    }
    

    The following parameters are the base parameters required to create a multi test. See the Multi Test Attributes for a complete list of parameters.

    Attributes

    Add Tests to Multi Test

    Add Tests to Multi Test

    curl 'https://a.blazemeter.com/api/v4/collections/10027459/add-tests-executions' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '["6426953", "6490190"]'
    

    API Explorer /collections/{collectionId}/add-tests-executions

    To add tests to a multi test, you need to provide a list of testIds to be added. The sample code to the right is adding 2 tests (testId 6426953 and 6490190) to the multi test with collectionId of 10027459. Replace the testIds for each test you want to include (as strings) and replace collectionId 10027459 with the collectionId of your multi test.

    Add Tests to Multi Test Request Attributes

    Create a Multi Test Add Tests to Multi Test Sample POST Body (JSON)

    [
        "6426953",
        "6490190"
    ]
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Multi Test",
            "description": null,
            "collectionType": "multiV4",
            "userId": 344260,
            "items": [],
            "oldVersionId": null,
            "lastRunTime": null,
            "draftId": null,
            "filesToSplit": [],
            "dataFiles": [],
            "creatorClientId": "api",
            "testsForExecutions": [
                {
                    "testId": 6426953,
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6426953,
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ]
                },
                {
                    "testId": 6490190,
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6490190,
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ]
                }
            ],
            "migratedFromTestCollectionId": null,
            "migratedToTestId": null,
            "v4MigratedDate": null,
            "underMigration": null,
            "shouldSendReportEmail": true,
            "created": 1552063283,
            "updated": 1552068365,
            "note": null,
            "projectId": 167798,
            "lastUpdatedById": null,
            "kpiTrackingData": null,
            "tests": [
                {
                    "id": 6426953,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "New Dummy Test V4 2",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1542289535,
                    "updated": 1552060217,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "Dummy.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                },
                {
                    "id": 6490190,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "Parallel Controller Script V4",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1545324446,
                    "updated": 1552060219,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "DummyParallelControllerGenerateParent.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                }
            ],
            "masters": []
        }
    }
    

    Attributes

    Edit Tests in Multi Test

    Edit Tests in Multi Test

    curl 'https://a.blazemeter.com/api/v4/collections/10027459/override-tests-executions' \
        -X PUT \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"index":0,"overrideExecutions":[{"concurrency":10,"executor":"jmeter","holdFor":"19m","locations":{"us-east-1":10},"locationsPercents":{"us-east-1":100},"rampUp":"1m","steps":0,"locationsWeighted":null}]}'
    

    API Explorer /collections/{collectionId}/override-tests-executions

    To edit a test in a multi test, you need to provide the index of the test you want to change and setting the overrideExecutions values to the desired values. You will need to know where in the list of tests the test you want to edit resides in using either the Add Tests to Multi Test response or List Multi Tests.

    The sample code to the right is changing the number of users for the first test in the multi test with collectionId of 10027459. Replace the values for each attribute in the test you want to change and replace collectionId 10027459 with the collectionId of your multi test.

    Edit Tests in Multi Test Request Attributes

    Edit Tests in Multi Test Edit Tests in Multi Test Sample POST Body (JSON)

    {
      "index": 0,
      "overrideExecutions": [
        {
          "concurrency": 10,
          "executor": "jmeter",
          "holdFor": "19m",
          "locations": {
            "us-east-1": 10
          },
          "locationsPercents": {
            "us-east-1": 100
          },
          "rampUp": "1m",
          "steps": 0
        }
      ]
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Multi Test",
            "description": null,
            "collectionType": "multiV4",
            "userId": 344260,
            "items": [],
            "oldVersionId": null,
            "lastRunTime": null,
            "draftId": null,
            "filesToSplit": [],
            "dataFiles": [],
            "creatorClientId": "api",
            "testsForExecutions": [
                {
                    "testId": 6426953,
                    "executions": [
                        {
                            "concurrency": 10,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6426953,
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 10,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0,
                            "locationsWeighted": null
                        }
                    ]
                },
                {
                    "testId": 6490190,
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6490190,
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ]
                }
            ],
            "migratedFromTestCollectionId": null,
            "migratedToTestId": null,
            "v4MigratedDate": null,
            "underMigration": null,
            "shouldSendReportEmail": true,
            "created": 1552063283,
            "updated": 1552077214,
            "note": null,
            "projectId": 167798,
            "lastUpdatedById": null,
            "kpiTrackingData": null,
            "tests": [
                {
                    "id": 6426953,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "New Dummy Test V4 2",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1542289535,
                    "updated": 1552060217,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "Dummy.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                },
                {
                    "id": 6490190,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "Parallel Controller Script V4",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1545324446,
                    "updated": 1552060219,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "DummyParallelControllerGenerateParent.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                }
            ],
            "masters": []
        }
    }
    

    For a full list of the overrideExecutions that are available, see the Test Object Attributes section and view all the available attributes for overrideExecutions.

    Attributes

    Delete a Test in Multi Test

    Delete a Test in Multi Test

    curl 'https://a.blazemeter.com/api/v4/collections/10027459/remove-tests-executions' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"index": 1}'
    

    API Explorer /collections/{collectionId}/remove-tests-executions

    To remove a test from a multi test, you need to provide the index value of the test you want to remove. In the example to the right, the index value provided was 1, which references the second test in the multi test with the collectionId of 10027459, is deleted from the multi test.

    Delete a Test in Multi Test Attributes

    Create a Multi Test Delete a Test in Multi Test Sample POST Body (JSON)

    {
      "index": 1
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Multi Test",
            "description": null,
            "collectionType": "multiV4",
            "userId": 344260,
            "items": [],
            "oldVersionId": null,
            "lastRunTime": null,
            "draftId": null,
            "filesToSplit": [],
            "dataFiles": [],
            "creatorClientId": "api",
            "testsForExecutions": [
                {
                    "testId": 6426953,
                    "executions": [
                        {
                            "concurrency": 10,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6426953,
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 10,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0,
                            "locationsWeighted": null
                        }
                    ]
                }
            ],
            "migratedFromTestCollectionId": null,
            "migratedToTestId": null,
            "v4MigratedDate": null,
            "underMigration": null,
            "shouldSendReportEmail": true,
            "created": 1552063283,
            "updated": 1552081344,
            "note": null,
            "projectId": 167798,
            "lastUpdatedById": null,
            "kpiTrackingData": null,
            "tests": [
                {
                    "id": 6426953,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "New Dummy Test V4 2",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1542289535,
                    "updated": 1552060217,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "Dummy.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                }
            ],
            "masters": []
        }
    }
    

    Attributes

    Upload or Update Data Files

    To upload or update an asset file, first get a signed URL, and then use it to upload the file.

    If you are a private cloud user, please see this link for the steps for uploading data files to a multi test.

    Get Signed URL

    Upload or Update Data Files Get Signed URL

    curl 'https://a.blazemeter.com/api/v4/collections/10027459/s3/sign?fileName=colors.csv' \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": "https://blazemeter.s3.amazonaws.com/users/344260/collections/10027459/data/colors.csv?x-amz-acl=private&x-amz-server-side-encryption=AES256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190308%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190308T215448Z&X-Amz-SignedHeaders=host%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Expires=1200&X-Amz-Signature=dd007f7bc743928d9ea71e980e40569771d40a1277ecd53cffe672f1526d9e22"
    }
    

    API Explorer: /collections/{collectionId}/s3/sign

    First, use the collectionId and fileName to get a signed URL, which will later be used to upload the specified file to the test. The sample code returns a URL for a collectionId of 10027459 and a fileName of colors.csv. Replace colors.csv with the actual file name, and 10027459 with your collectionId.

    Upload File to Signed URL

    Upload or Update Data Files Upload File to Signed URL

    curl 'https://blazemeter.s3.amazonaws.com/users/344260/collections/10027459/data/colors.csv?x-amz-acl=private&x-amz-server-side-encryption=AES256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190308%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190308T215448Z&X-Amz-SignedHeaders=host%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Expires=1200&X-Amz-Signature=dd007f7bc743928d9ea71e980e40569771d40a1277ecd53cffe672f1526d9e22' \
        -X PUT \
        -H 'Content-Type: application/json' \
        -F 'file=@/my/path/to/colors.csv'   
    

    Response 200 OK

    Once you have obtained the signed URL (from the result of Get Signed URL section), construct a PUT request with the file as your body. Use the following template for the file path and name:

    'file=@*path to file*/*file*.*ext*'

    In the example to the right, replace @/my/path/to/colors.csv with the actual path and file name.

    To update the contents of an uploaded file, repeat the same two-step operation (GET signed url, PUT the file in the signed url given). Be sure to upload the updated file using the same file name.

    Data File Requirements

    The file naming requirements, limitations on file content, file size and impact of uploaded files on start time remain the same as the single test.

    Delete Data Files

    Delete Data Files

    curl 'https://a.blazemeter.com/api/v4/collections/10027459/delete-file' \
        -X POST \
        -H 'Content-Type: application/json'
        --user 'api_key_id:api_key_secret' \
        -d '{"fileName":"colors.csv"}'
    

    Delete Data Files Delete Data Files Sample POST Body (JSON)

    {
      "fileName": "colors.csv"
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": true
    }
    

    API Explorer: /collections/{collectionId}/delete-file

    To delete a data file from a multi test, you need to send the fileName of the file you want to remove from the multi test. In the sample code to the right, we are wanting to delete the colors.csv file, so the fileName value needs to match colors.csv. This will then delete the colors.csv file from collectionId 10027459.

    You should set the collectionId with your multi test's ID and the fileName colors.csv should be replaced with a file that exists in your multi test.

    Delete Data Files Attributes

    Attributes

    Update a Multi Test

    Update a Multi Test

    curl 'https://a.blazemeter.com/api/v4/collections/10027459' \
        -X PUT \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"description": "This is an update."}'
    

    Update a Multi Test Update a Multi Test Sample PUT Body (JSON)

    {
      "description": "This is an update."
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Multi Test",
            "description": "This is an update.",
            "collectionType": "multiV4",
            "userId": 344260,
            "items": [],
            "oldVersionId": null,
            "lastRunTime": null,
            "draftId": null,
            "filesToSplit": [],
            "dataFiles": [],
            "creatorClientId": "api",
            "testsForExecutions": [
                {
                    "testId": 6426953,
                    "executions": [
                        {
                            "concurrency": 10,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6426953,
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 10,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 10
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0,
                            "locationsWeighted": null
                        }
                    ]
                },
                {
                    "testId": 6490190,
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "testId": 6490190,
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ]
                }
            ],
            "migratedFromTestCollectionId": null,
            "migratedToTestId": null,
            "v4MigratedDate": null,
            "underMigration": null,
            "shouldSendReportEmail": true,
            "created": 1552063283,
            "updated": 1552084407,
            "note": null,
            "projectId": 167798,
            "lastUpdatedById": null,
            "kpiTrackingData": null,
            "tests": [
                {
                    "id": 6426953,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "New Dummy Test V4 2",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1542289535,
                    "updated": 1552060217,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "Dummy.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                },
                {
                    "id": 6490190,
                    "isNewTest": true,
                    "lastRunTime": 1552060161,
                    "name": "Parallel Controller Script V4",
                    "userId": 344260,
                    "creatorClientId": "gui",
                    "overrideExecutions": [
                        {
                            "concurrency": 20,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "rampUp": "1m",
                            "steps": 0
                        }
                    ],
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 20
                            },
                            "locationsPercents": {
                                "us-east-1": 100
                            },
                            "executor": "jmeter",
                            "scenario": "default-scenario-6490190"
                        }
                    ],
                    "shouldSendReportEmail": false,
                    "created": 1545324446,
                    "updated": 1552060219,
                    "configuration": {
                        "type": "taurus",
                        "canControlRampup": false,
                        "targetThreads": 500,
                        "executionType": "taurusCloud",
                        "scriptType": "jmeter",
                        "threads": 500,
                        "filename": "DummyParallelControllerGenerateParent.jmx",
                        "testMode": "",
                        "plugins": {
                            "jmeter": {
                                "version": "auto"
                            },
                            "thresholds": {
                                "thresholds": [],
                                "ignoreRampup": false,
                                "slidingWindow": false
                            }
                        }
                    },
                    "fileErrors": []
                }
            ],
            "masters": []
        }
    }
    

    API Explorer: /collections/{collectionId}

    To update a multi test, use PUT to change the provided configuration for a given test (you need to know the collectionId). The sample code updates a multi test with an ID of 10027459 (the 10027459 is contained in the URL) with a new description, This is an update.. The sample code updates the test created in the Create a Multi Test section.

    If you do not know the collectionId of the test to update, use List Multi Tests to return a list of your created tests.

    See the Multi Test Object for all parameters that you can modify.

    List Multi Tests

    List Multi Tests

    
    curl 'https://a.blazemeter.com/api/v4/multi-tests?projectId=123429&workspaceId=167798' \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 103,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 10027459,
                "name": "My Multi Test",
                "collectionType": "multiV4",
                "userId": 344260,
                "items": [],
                "created": 1552063283,
                "updated": 1552084407,
                "creatorClientId": "api",
                "testsForExecutions": [
                    {
                        "testId": 6426953,
                        "executions": [
                            {
                                "concurrency": 10,
                                "holdFor": "19m",
                                "rampUp": "1m",
                                "steps": 0,
                                "locations": {
                                    "us-east-1": 10
                                },
                                "locationsPercents": {
                                    "us-east-1": 100
                                },
                                "executor": "jmeter",
                                "testId": 6426953,
                                "scenario": "default-scenario-6426953"
                            }
                        ],
                        "overrideExecutions": [
                            {
                                "concurrency": 10,
                                "executor": "jmeter",
                                "holdFor": "19m",
                                "locations": {
                                    "us-east-1": 10
                                },
                                "locationsPercents": {
                                    "us-east-1": 100
                                },
                                "rampUp": "1m",
                                "steps": 0,
                                "locationsWeighted": null
                            }
                        ]
                    },
                    {
                        "testId": 6490190,
                        "executions": [
                            {
                                "concurrency": 20,
                                "holdFor": "19m",
                                "rampUp": "1m",
                                "steps": 0,
                                "locations": {
                                    "us-east-1": 20
                                },
                                "locationsPercents": {
                                    "us-east-1": 100
                                },
                                "executor": "jmeter",
                                "testId": 6490190,
                                "scenario": "default-scenario-6490190"
                            }
                        ],
                        "overrideExecutions": [
                            {
                                "concurrency": 20,
                                "executor": "jmeter",
                                "holdFor": "19m",
                                "locations": {
                                    "us-east-1": 20
                                },
                                "locationsPercents": {
                                    "us-east-1": 100
                                },
                                "rampUp": "1m",
                                "steps": 0
                            }
                        ]
                    }
                ],
                "shouldSendReportEmail": true,
                "projectId": 167798,
                "filesToSplit": [],
                "dataFiles": []
            }
        ]
    }
    

    API Explorer: /multi-tests

    To return a list of created multi tests, a projectId or a workspaceId is required. The sample code returns a list for items with a projectId of 167798 and a workspaceId of 123429. Use the actual ID values for the project or workspace to return the list of its multi tests.

    You can return a list specifying either a projectId, a workspaceId, or both. The returned list contains each test's collectionId (shows up as id in the response) and configuration.

    Also see: Pagination and Sorting

    Delete a Multi Test

    Delete a Multi Test

    curl 'https://a.blazemeter.com/api/v4/multi-tests/99' \
        -X DELETE \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /multi-tests/{collectionId}

    To delete a multi test, DELETE its ID (you need to know the collectionId). The sample code deletes a test with an ID of 99. Use the collectionId of the actual test to delete in place of the 99.

    If you do not know the ID of the test to delete, use the List Multi Tests section to return a list of your created tests.

    Response codes associated with deleting a test include 204 (if the test was successfully deleted) and 404 (if the collectionId does not exist).

    Test Runs

    When you start a test, a master (or test report) will be created using a unique masterId for that test run. The masters endpoints provide control, status, and results for all test runs.

    A single master will reference the results for a single test or multi test.

    Start a Test

    Start a Test

    curl 'https://a.blazemeter.com/api/v4/tests/6606270/start' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 202 Accepted

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 19083531,
            "name": "V4 Remote Control Test",
            "userId": 344260,
            "publicToken": null,
            "ended": null,
            "lastUpdate": null,
            "delayedStartReady": false,
            "runnerUserId": 344260,
            "charges": [],
            "usage": null,
            "maxUsers": null,
            "type": null,
            "passed": null,
            "canControlRampup": null,
            "targetThreads": null,
            "parallelTestsInWorkspace": 1,
            "parallelTestsInAccount": 1,
            "isSandbox": null,
            "isPrivateData": false,
            "executionMode": null,
            "creatorClientId": "gui",
            "executorClientId": "api",
            "importedAt": null,
            "secondsPerLabelDoc": 60,
            "taurusRemoteControlProperties": null,
            "labelsCollectionSuffix": "_17_12",
            "locations": [
                "us-east-1"
            ],
            "scenariosMapping": [
                {
                    "id": "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7",
                    "name": "default-scenario-6606270",
                    "test": null,
                    "isEndUserExperience": false
                }
            ],
            "isDebugRun": false,
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "throughput": 5,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6606270"
                }
            ],
            "concurrency": 20,
            "useV4Pipeline": true,
            "terminatedAt": null,
            "shutdownAt": null,
            "jupyterToken": null,
            "jupyterHeartbeat": null,
            "jupyterHost": null,
            "jupyterPort": null,
            "jupyterNotebook": null,
            "v4IndexerCollection": "{\"execution\":[1],\"execution:1\":[\"r-v4-5c7d64f8c95cf\"],\"session:1\":[\"r-v4-5c7d64f8c95cf\"],\"location:1\":[\"us-east-1\"]}",
            "buildId": null,
            "isSelenium": false,
            "isExternal": null,
            "rpsCompatible": true,
            "remoteControlCompatible": true,
            "hasMonitoringData": null,
            "shouldSendReportEmail": false,
            "hasDaggerData": false,
            "kinesisStream": "prod-grn_v4pipeline_input",
            "properties": [
                {
                    "pairs": [
                        {
                            "key": "SampleName",
                            "value": "MySampler1"
                        }
                    ],
                    "testId": 6606270,
                    "locations": [
                        "us-east-1"
                    ],
                    "scenarios": [
                        "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                    ]
                },
                {
                    "pairs": [
                        {
                            "key": "blazemeter.throughput",
                            "value": 5
                        }
                    ],
                    "testId": 6606270,
                    "locations": [
                        "us-east-1"
                    ],
                    "scenarios": [
                        "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                    ]
                }
            ],
            "created": 1551721720,
            "updated": 1551721720,
            "note": null,
            "testCollectionId": null,
            "testId": 6606270,
            "projectId": 317114,
            "scheduleHistoryRecordId": null,
            "jupyterShipId": null,
            "sessionsId": [
                "r-v4-5c7d64f8c95cf"
            ],
            "functionalSummary": null,
            "thresholds": [
                {
                    "thresholds": [
                        {
                            "field": "responseTime.avg",
                            "label": "ALL",
                            "op": "gt",
                            "stopTestOnViolation": false,
                            "value": "1000",
                            "isEmpty": false
                        }
                    ],
                    "ignoreRampup": false,
                    "ignoreRampupTime": null,
                    "slidingWindow": false,
                    "testId": 6606270
                }
            ]
        }
    }
    

    API Explorer: /tests/{testId}/start

    To start a preconfigured load test, you need to know the testId of a created and configured test. The sample code executes a test with a testId of 6606270. Use the testId of the actual test to start in place of the 6606270.

    If you do not know the ID of the test to start, use List Tests to return a list of your created tests.

    Start a Multi Test

    Start a Multi Test

    curl 'https://a.blazemeter.com/api/v4/multi-tests/10027449/start?delayedStart=true' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 202 Accepted

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 19106360,
            "name": "March_08_9:49 AM - Multi Test",
            "userId": 344260,
            "publicToken": null,
            "ended": null,
            "lastUpdate": null,
            "delayedStartReady": false,
            "runnerUserId": 344260,
            "charges": [],
            "usage": null,
            "maxUsers": null,
            "type": null,
            "passed": null,
            "canControlRampup": null,
            "targetThreads": null,
            "parallelTestsInWorkspace": 1,
            "parallelTestsInAccount": 1,
            "isSandbox": null,
            "isPrivateData": false,
            "executionMode": null,
            "creatorClientId": "gui",
            "executorClientId": "gui",
            "importedAt": null,
            "secondsPerLabelDoc": 60,
            "taurusRemoteControlProperties": null,
            "labelsCollectionSuffix": "_17_12",
            "locations": [
                "us-east-1"
            ],
            "scenariosMapping": [
                {
                    "id": "f7cebdaa474a27fc93dcff0fd3d97bd116c1f867a6f17639f0fc197eec1f4e5a",
                    "name": "default-scenario-6426953",
                    "test": "New Dummy Test V4 2",
                    "isEndUserExperience": false
                },
                {
                    "id": "420248ab89308dba84fc4c15c70f537cdfc938ff4dbe1dd83a7bfe2be32d2a1a",
                    "name": "default-scenario-6490190",
                    "test": "Parallel Controller Script V4",
                    "isEndUserExperience": false
                }
            ],
            "isDebugRun": false,
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "testId": 6426953,
                    "scenario": "default-scenario-6426953"
                },
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "testId": 6490190,
                    "scenario": "default-scenario-6490190"
                }
            ],
            "concurrency": 40,
            "useV4Pipeline": true,
            "terminatedAt": null,
            "shutdownAt": null,
            "jupyterToken": null,
            "jupyterHeartbeat": null,
            "jupyterHost": null,
            "jupyterPort": null,
            "jupyterNotebook": null,
            "v4IndexerCollection": "{\"execution\":[1],\"execution:1\":[\"r-v4-5c828f01e093c\",\"r-v4-5c828f01e6d6d\"],\"session:1\":[\"r-v4-5c828f01e093c\",\"r-v4-5c828f01e6d6d\"],\"location:1\":[\"us-east-1\"]}",
            "buildId": null,
            "isSelenium": false,
            "isExternal": null,
            "rpsCompatible": false,
            "remoteControlCompatible": false,
            "hasMonitoringData": null,
            "shouldSendReportEmail": true,
            "hasDaggerData": false,
            "kinesisStream": "prod-grn_v4pipeline_input",
            "properties": null,
            "created": 1552060161,
            "updated": 1552060161,
            "note": null,
            "testCollectionId": 10027449,
            "testId": null,
            "projectId": 167798,
            "scheduleHistoryRecordId": null,
            "jupyterShipId": null,
            "sessionsId": [
                "r-v4-5c828f01e093c",
                "r-v4-5c828f01e6d6d"
            ],
            "functionalSummary": null,
            "thresholds": [
                {
                    "thresholds": [],
                    "ignoreRampup": false,
                    "ignoreRampupTime": null,
                    "slidingWindow": false,
                    "testId": 6426953
                },
                {
                    "thresholds": [],
                    "ignoreRampup": false,
                    "ignoreRampupTime": null,
                    "slidingWindow": false,
                    "testId": 6490190
                }
            ]
        }
    }
    

    API Explorer: /multi-tests/{collectionId}/start

    To start a preconfigured load test, you need to know the collectionId of a created and configured test. The sample code executes a test with a collectionId of 10027449. Use the collectionId of the actual test to start in place of the 10027449.

    If you do not know the ID of the test to start, use List Multi Tests to return a list of your created tests.

    Stop a Test Run

    You can stop the execution of tests launched by the Start a Test command using the test's masterId and the stop API command (preferred method) or the terminate API command.

    Stop

    Stop an Active Test

    curl 'https://a.blazemeter.com/api/v4/masters/17439354/stop' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 202 Accepted

    {
      "api_version": 4,
      "error": null,
      "result": [
        {
          "session_id": "r-v4-5abc8b5ad54bb",
          "result": "stopping"
        }
      ]
    }
    

    API Explorer: /masters/{masterId}/stop

    To stop the active master (or test report) of a given test execution gracefully (by signaling to JMeter to close the session), POST the masterId to the stop command (you need to know the masterId of the active session to stop). All test files will be archived and uploaded to the Logs report. The sample code stops the master with a masterId of 17439354. Use the actual masterId in place of 17439354.

    Terminate

    Terminate Servers Running a Master

    curl 'https://a.blazemeter.com/api/v4/masters/17439305/terminate' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 202 Accepted

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "sessions_ids": [
                    "r-v4-5c7d84e668624"
                ],
                "result": "Terminating"
            }
        ]
    }
    

    API Explorer: /masters/{masterId}/terminate

    To terminate a master (or test report), POST the masterId to the terminate command (you need to know the masterId of the running test). There will be no archiving or uploading of test files to the Log report (all test files will be lost). The sample code stops the master with a masterId of 17439305. Use the actual masterId in place of the 17439305.

    Stop All Masters of a Test

    Stop All Masters of a Test

    curl 'https://a.blazemeter.com/api/v4/tests/5993730/stop' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 202 Accepted

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "session_id": "r-v4-5c7d8a611c7df",
                "result": "Stopping"
            },
            {
                "session_id": "r-v4-5c7d8a55a745e",
                "result": "Stopping"
            }
        ]
    }
    

    API Explorer: /tests/{testId}/stop

    To stop all active masters of a test, POST the testId to the /tests/{testId}/stop API. The sample code stops all tests with a testId of 5993730. Use the testId of the actual test to stop in place of the 5993730.

    To find the testId, you can either use the UI (see Get the testId) or the response from the test creation call (see Create a Test).

    Track Status of a Test

    Real-time Test Status

    curl 'https://a.blazemeter.com/api/v4/masters/19084189/status?level=DEBUG' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}/status

    To obtain the present status of a test run, use its masterId and the status endpoint. This endpoint returns the real-time status of a test during its start, run, and stopping phases. Use the endpoint without any parameters (other than authentication) to return a list of all events of INFO status 200 and above. The sample code returns the status of a test run with the masterId of 17462719. Use the actual masterId in place of the 17462719.

    Status Parameters

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 19084189,
            "progress": 140,
            "status": "ENDED",
            "jmeterLogSummary": [],
            "jmeterLogTypeSummary": [],
            "sessions": [
                {
                    "id": "r-v4-5c7d8a611c7df",
                    "name": "V4 Remote Control Test",
                    "fileName": "DummyJmeterProperties.jmx",
                    "status": "ENDED",
                    "progress": 140,
                    "readyStatus": {
                        "servers": [
                            {
                                "server_id": "i-014cf2c99194988ad",
                                "server_type": "console"
                            }
                        ],
                        "plannedServersCount": 1,
                        "isDelayedStart": false
                    },
                    "locationId": "us-east-1",
                    "dedicatedIpsEnabled": null,
                    "overrideLocationId": null
                }
            ],
            "isDataAvailable": true,
            "events": [
                {
                    "t": 1551732071,
                    "from": -6,
                    "source": "system",
                    "message": "Terminate command sent",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551732071,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to TAURUS_IMAGE_DONE (136)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551732071,
                    "from": 0,
                    "source": "system",
                    "message": "Status changed to ENDED (140)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551732068,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to TAURUS_BZT_DONE (135)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551732057,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to TERMINATING (130)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551732052,
                    "from": 344260,
                    "source": "user",
                    "message": "Sending stop command by llotr01@ca.com",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731424,
                    "from": null,
                    "source": "system",
                    "message": "Status changed to DATA_RECEIVED (100)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731417,
                    "from": null,
                    "source": "system",
                    "message": "Status changed to DATA_RECEIVED (100)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731398,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to TAURUS_ENGINE_INIT (71)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731398,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to TAURUS_ENGINE_READY (90)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731382,
                    "from": -6,
                    "source": "system",
                    "message": "Jetlag: starting",
                    "level": "DEBUG",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731381,
                    "from": -6,
                    "source": "system",
                    "message": "Jetpack: version 4.2.0",
                    "level": "DEBUG",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731381,
                    "from": -6,
                    "source": "system",
                    "message": "Jetlag: version 1.8.0",
                    "level": "DEBUG",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731381,
                    "from": -6,
                    "source": "system",
                    "message": "Jetpack: starting",
                    "level": "DEBUG",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731362,
                    "from": -6,
                    "source": "system",
                    "message": "Status changed to INIT_SCRIPT (50)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                },
                {
                    "t": 1551731298,
                    "from": 0,
                    "source": "system",
                    "message": "Status changed to CREATE (5)",
                    "level": "INFO",
                    "session_id": "r-v4-5c7d8a611c7df"
                }
            ]
        }
    }
    

    Parameters

    Test Results

    Retrieve test results using the masters endpoint. The following topics provide information on using the API to retrieve high level overviews, gather summary results, request statistics, error statistics, threshold statistics, time-series data, custom time-series data and retrieving logs.

    High Level Masters Overview

    Get High Level Masters Overview

    curl 'https://a.blazemeter.com/api/v4/masters/19084189' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}

    The high-level summary includes the following data:

    The pass/failure status of the master is represented as a boolean value ("true" for pass, "false" for fail) that follows the key "passed". The sample code below shows a "passed" master of a test. If no failure criteria were specified, the entire key/value pair would simply be omitted from the response, and the Pass/Fail status displayed in the UI would say "Not Set". To learn more about how to set failure criteria, visit the article Test Failure Criteria. For a more detailed breakdown of Test Failure Criteria, check out the threshold statistics section.

    In the response, the start and end times are returned in UNIX Epoch Time. Visit this Epoch and Unix Timestamp Converter Tool to convert between the timestamp and human readable dates.

    The sample code retrieves data for a masterId of 19084189. Use the actual masterId in place of 19084189.

    High Level Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 19084189,
            "name": "V4 Remote Control Test",
            "userId": 344260,
            "ended": 1551732071,
            "delayedStartReady": false,
            "runnerUserId": 344260,
            "charges": [],
            "maxUsers": 20,
            "created": 1551731296,
            "updated": 1551732072,
            "passed": true,
            "parallelTestsInWorkspace": 2,
            "parallelTestsInAccount": 2,
            "isPrivateData": false,
            "creatorClientId": "gui",
            "executorClientId": "gui",
            "secondsPerLabelDoc": 60,
            "labelsCollectionSuffix": "_17_12",
            "isDebugRun": false,
            "locations": [
                "us-east-1"
            ],
            "scenariosMapping": [
                {
                    "id": "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7",
                    "name": "default-scenario-6606270",
                    "test": null,
                    "isEndUserExperience": false
                }
            ],
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "throughput": 5,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6606270"
                }
            ],
            "useV4Pipeline": true,
            "isSelenium": false,
            "hasMonitoringData": true,
            "rpsCompatible": true,
            "remoteControlCompatible": true,
            "hasDaggerData": true,
            "properties": [
                {
                    "pairs": [
                        {
                            "key": "SampleName",
                            "value": "MySampler1"
                        }
                    ],
                    "testId": 6606270,
                    "locations": [
                        "us-east-1"
                    ],
                    "scenarios": [
                        "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                    ]
                },
                {
                    "pairs": [
                        {
                            "key": "blazemeter.throughput",
                            "value": 5
                        }
                    ],
                    "testId": 6606270,
                    "locations": [
                        "us-east-1"
                    ],
                    "scenarios": [
                        "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                    ]
                }
            ],
            "testId": 6606270,
            "projectId": 317114,
            "sessionsId": [
                "r-v4-5c7d8a611c7df"
            ],
            "thumbnailUrl": null,
            "hasErrorsPerInterval": true,
            "sessions": [
                "r-v4-5c7d8a611c7df"
            ],
            "detailedSessions": [
                {
                    "id": "r-v4-5c7d8a611c7df",
                    "name": "V4 Remote Control Test",
                    "location": "us-east-1"
                }
            ],
            "labels": [
                {
                    "id": "ALL",
                    "name": "ALL",
                    "sessions": [
                        "r-v4-5c7d8a611c7df"
                    ]
                },
                {
                    "id": "MySampler1",
                    "name": "MySampler1",
                    "sessions": [
                        "r-v4-5c7d8a611c7df"
                    ]
                }
            ],
            "jetpackLabels": [
                {
                    "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                    "name": "ALL"
                },
                {
                    "id": "cc0a52c051d11eb28fc5713d6bab6445d4f55ab714d894d963acaa926e200b0a",
                    "name": "MySampler1"
                }
            ],
            "shouldUseDaggerReport": true
        }
    }
    

    Parameters


    See Master Object for a detailed breakdown of the master object.

    List All Test Runs

    Return All Test Runs (Every masterId) for a testId

    curl 'https://a.blazemeter.com/api/v4/masters?testId=6606270' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 7,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 19083531,
                "name": "V4 Remote Control Test",
                "userId": 344260,
                "ended": 1551721953,
                "delayedStartReady": false,
                "runnerUserId": 344260,
                "charges": [],
                "maxUsers": 20,
                "created": 1551721720,
                "updated": 1551721954,
                "passed": true,
                "parallelTestsInWorkspace": 1,
                "parallelTestsInAccount": 1,
                "isPrivateData": false,
                "creatorClientId": "gui",
                "executorClientId": "api",
                "secondsPerLabelDoc": 60,
                "labelsCollectionSuffix": "_17_12",
                "isDebugRun": false,
                "locations": [
                    "us-east-1"
                ],
                "scenariosMapping": [
                    {
                        "id": "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7",
                        "name": "default-scenario-6606270",
                        "test": null,
                        "isEndUserExperience": false
                    }
                ],
                "executions": [
                    {
                        "concurrency": 20,
                        "holdFor": "19m",
                        "rampUp": "1m",
                        "steps": 0,
                        "throughput": 5,
                        "locations": {
                            "us-east-1": 20
                        },
                        "locationsPercents": {
                            "us-east-1": 100
                        },
                        "executor": "jmeter",
                        "scenario": "default-scenario-6606270"
                    }
                ],
                "useV4Pipeline": true,
                "shutdownAt": 1551721933,
                "isSelenium": false,
                "hasMonitoringData": true,
                "rpsCompatible": true,
                "remoteControlCompatible": true,
                "hasDaggerData": true,
                "properties": [
                    {
                        "pairs": [
                            {
                                "key": "SampleName",
                                "value": "MySampler1"
                            }
                        ],
                        "testId": 6606270,
                        "locations": [
                            "us-east-1"
                        ],
                        "scenarios": [
                            "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                        ]
                    },
                    {
                        "pairs": [
                            {
                                "key": "blazemeter.throughput",
                                "value": 5
                            }
                        ],
                        "testId": 6606270,
                        "locations": [
                            "us-east-1"
                        ],
                        "scenarios": [
                            "7955907f886baf352a5dd51d04f91b5c209e9af71fb2f035a785614601f3ffd7"
                        ]
                    }
                ],
                "testId": 6606270,
                "projectId": 317114,
                "sessionsId": [
                    "r-v4-5c7d64f8c95cf"
                ]
            },
    
            ...
        ]
    }
    

    API Explorer: /masters

    To obtain a list of all test runs (containing every masterId for a test), use the testId and the /masters endpoint. The sample code returns tests with a testId of 6606270. Use the actual testId in place of the 6606270. The response shown includes one masterId ("id": 19083531). Any additional runs of the testId (every masterId) will also be returned in the response.

    Add a Public Token

    Add a Public Token

    curl 'https://a.blazemeter.com/api/v4/masters/12345678/public-token' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"publicToken":null}'
    

    API Explorer: /masters/{masterId}/public-token

    To create a public token for a given master, you need to know the masterId of a givne master. The sample code creates a public token with a masterId of 12345678. Use the masterId of the actual master you want to add the public token to in place of 12345678.

    Add a Public Token Request Attributes

    Add a Public Token Add a Public Token POST Body (JSON)

    {
        "publicToken": null
    }
    

    Attributes

    Add a Public Token Response Attributes

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "publicToken": "RUSd9VYDPnIW5SmBWDkqRXeovQ5U0XFtwGCLNikkxgELMGSafl",
            "new": false
        },
        "request_id": "5ef2054733d53"
    }
    

    Attributes

    Delete a Public Token

    Delete a Test

    curl 'https://a.blazemeter.com/api/v4/masters/12345678/public-token' \
        -X DELETE \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /masters/{masterId}/public-token

    To delete a public token from a master, you need to know the masterId that is using the public token. The sample code deletes a public token for a master with an ID of 12345678. Use the masterId of the actual test to delete in place of the 12345678.

    Summary Statistics

    Get Summary Statistics

    curl 'https://a.blazemeter.com/api/v4/masters/19088784/reports/default/summary' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}/reports/{reportId}/summary

    To get high level summary statistics, use the masterId and /masters/{masterId}/reports/default/summary endpoint. The sample code returns summary stats for the masterId of 19088784. Use the masterId of the actual test run in place of 19088784.

    The response contains an array that contains the full summary of the master.

    All time values are in milliseconds (ms) and times provided are in Epoch Time.

    Summary Statistics Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "summary": [
                {
                    "avg": 125.41050552890562,
                    "bytes": 30524070,
                    "concurrency": 60,
                    "duration": 1200,
                    "failed": 93395,
                    "first": 1551801914,
                    "histogram": {
                        "mean": 83
                    },
                    "hits": 246613,
                    "id": "ALL",
                    "last": 1551803114,
                    "lb": "ALL",
                    "tp90": 110,
                    "min": 50,
                    "max": 647
                }
            ],
            "jmeterLogSummary": [],
            "jmeterLogTypeSummary": [],
            "maxUsers": 60
        }
    }
    

    Attributes

    Request Statistics

    Get Request Stats Data

    curl 'https://a.blazemeter.com/api/v4/masters/19084376/reports/aggregatereport/data' \
        --user 'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}/reports/{reportId}/data

    To get high level ("labelName": "ALL") and per label statistics, use the masterId and /masters/{masterId}/reports/aggregatereport/data endpoint. The sample code returns stats for each request with a masterId of 19084376. Use the masterId of the actual test run in place of 19084376.

    The response contains an array of objects, one for each request (label) and its corresponding data.

    All time values are in milliseconds (ms).

    Request Statistics Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "avgBytes": 3.9289999999999998,
                "avgLatency": 0,
                "avgResponseTime": 607.20296093084858,
                "avgThroughput": 17.647746243739565,
                "duration": 1198,
                "errorsCount": 0,
                "errorsRate": 0,
                "geoMeanResponseTime": null,
                "hasLabelPassedThresholds": null,
                "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                "labelName": "bzm - Parallel Controller Dummy",
                "90line": 611,
                "95line": 611,
                "99line": 611,
                "maxResponseTime": 619,
                "medianResponseTime": 611,
                "minResponseTime": 600,
                "samples": 21142,
                "stDev": 2.7349000955906688,
                "concurrency": 20
            },
            {
                "avgBytes": 7.5170000000000003,
                "avgLatency": 16.561672462217466,
                "avgResponseTime": 282.59748227898888,
                "avgThroughput": 49.888240200166805,
                "duration": 1199,
                "errorsCount": 0,
                "errorsRate": 0,
                "geoMeanResponseTime": null,
                "hasLabelPassedThresholds": null,
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "labelName": "ALL",
                "90line": 611,
                "95line": 611,
                "99line": 611,
                "maxResponseTime": 619,
                "medianResponseTime": 108,
                "minResponseTime": 100,
                "samples": 59816,
                "stDev": 240.23588800646482,
                "concurrency": 40
            },
            {
                "avgBytes": 3.5939999999999999,
                "avgLatency": 25.615478098981228,
                "avgResponseTime": 105.14469669545431,
                "avgThroughput": 32.28213689482471,
                "duration": 1198,
                "errorsCount": 0,
                "errorsRate": 0,
                "geoMeanResponseTime": null,
                "hasLabelPassedThresholds": null,
                "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                "labelName": "Dummy Sample",
                "90line": 110,
                "95line": 110,
                "99line": 111,
                "maxResponseTime": 117,
                "medianResponseTime": 105,
                "minResponseTime": 100,
                "samples": 38674,
                "stDev": 3.1836156424647122,
                "concurrency": 20
            }
        ]
    }
    

    Attributes

    Error Statistics

    Get Error Statistics

    
    curl 'https://a.blazemeter.com/api/v4/masters/19602031/reports/errorsreport/data' \
        --user  'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}/reports/{reportId}/data

    To get statistics for HTTP errors and failed assertions, use the masterId and the /masters/{masterId}/reports/errorsreport/data endpoint. Aggregated statistics are kept for HTTP errors, failed assertions, and failed embedded resources (embedded resources that returned non-200). Errors are HTTP status codes other than 200; however, if a request with status code 200 is still being displayed as an error, visit the article "Why are my HTTP 200 OK counted as errors?" to find out why.

    The sample code returns statistics for items with a masterId of 19602031. Use the actual masterId in place of 19602031.

    Error Statistics Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "labelId": "3b6d1bf098957debc57a9e6fc732460ebc922e77571812dda2edb21ea0c80492",
                "errors": [],
                "assertions": [],
                "failedEmbeddedResources": [
                    {
                        "rc": "502",
                        "rm": "Bad Gateway",
                        "count": 1
                    }
                ],
                "urls": [
                    {
                        "url": "https://unpkg.com/video.js/dist/video-js.css",
                        "count": 1
                    }
                ],
                "name": "HTTP Request",
                "_id": "HTTP Request"
            },
            {
                "labelId": "945d56310dfa9763fee02e16874f50997d5e4ae6162e187e9ee80e50e6b7da15",
                "errors": [],
                "assertions": [
                    {
                        "name": "Response Assertion",
                        "failureMessage": "Response messaged did not contain \"Dummy\".",
                        "failures": 642
                    }
                ],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Dummy Sample Again",
                "_id": "Dummy Sample Again"
            },
            {
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "errors": [
                    {
                        "rc": "401",
                        "m": "Unauthorized",
                        "count": 32
                    },
                    {
                        "rc": "500",
                        "m": "Internal Server Error",
                        "count": 644
                    },
                    {
                        "rc": "",
                        "m": "Number of samples in transaction : 3, number of failing samples : 1",
                        "count": 32
                    },
                    {
                        "rc": "401",
                        "m": "Number of samples in transaction : 3, number of failing samples : 1",
                        "count": 32
                    },
                    {
                        "rc": "404",
                        "m": "NOT FOUND",
                        "count": 643
                    }
                ],
                "assertions": [
                    {
                        "name": "Response Assertion",
                        "failureMessage": "Response code did not contain a 200.",
                        "failures": 643
                    },
                    {
                        "name": "Response Assertion",
                        "failureMessage": "Response messaged did not contain \"Dummy\".",
                        "failures": 642
                    }
                ],
                "failedEmbeddedResources": [
                    {
                        "rc": "502",
                        "rm": "Bad Gateway",
                        "count": 1
                    }
                ],
                "urls": [
                    {
                        "url": "https://unpkg.com/video.js/dist/video-js.css",
                        "count": 1
                    }
                ],
                "name": "ALL",
                "_id": "ALL"
            },
            {
                "labelId": "bf3c7ccb0a030c41fc714c6527397e95c1dc25cb4cb733d595c7a6b73f69b7b0",
                "errors": [
                    {
                        "rc": "401",
                        "m": "Unauthorized",
                        "count": 32
                    }
                ],
                "assertions": [],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Dummy Transaction 3",
                "_id": "Dummy Transaction 3"
            },
            {
                "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                "errors": [
                    {
                        "rc": "500",
                        "m": "Internal Server Error",
                        "count": 644
                    },
                    {
                        "rc": "404",
                        "m": "NOT FOUND",
                        "count": 643
                    }
                ],
                "assertions": [
                    {
                        "name": "Response Assertion",
                        "failureMessage": "Response code did not contain a 200.",
                        "failures": 643
                    }
                ],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Dummy Sample",
                "_id": "Dummy Sample"
            },
            {
                "labelId": "38e581ab346d07c61d6b397b4f9e8900702394fad1ea53cda48ef55406abd26",
                "errors": [
                    {
                        "rc": "401",
                        "m": "Number of samples in transaction : 3, number of failing samples : 1",
                        "count": 32
                    }
                ],
                "assertions": [],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Transaction Controller 2",
                "_id": "Transaction Controller 2"
            },
            {
                "labelId": "56c57ad0f920b342b61c12749fccc72d3840e6c9335f1e516ac9cf4a9ba51111",
                "errors": [
                    {
                        "rc": "",
                        "m": "Number of samples in transaction : 3, number of failing samples : 1",
                        "count": 33
                    }
                ],
                "assertions": [],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Transaction Controller",
                "_id": "Transaction Controller"
            }
        ],
        "request_id": "5ced9f9fd4a6d"
    }
    

    Attributes

    Thresholds Statistics

    Get Threshold Statistics

    curl 'https://a.blazemeter.com/api/v4/masters/19602216/reports/thresholds' \
        --user  'api_key_id:api_key_secret'
    

    API Explorer: /masters/{masterId}/reports/{reportId}

    To get statistics for test failure criteria you set, use the masterId and the /masters/{masterId}/reports/thresholds endpoint. You will find all the details of which criteria you set passed or failed and where (if any) those violations occurred.

    The sample code returns threshold statistics for items with a masterId of 19602216. Use the actual masterId in place of 19602216. Also, to find out which labelId goes with a specific label, you will need to use the APIs in either the High Level Masters Overview or Request Statistics sections.

    Threshold Statistics Response Attributes

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "hash": "thresholds",
            "name": "Thresholds",
            "type": "Thresholds",
            "source": "Thresholds",
            "id": "thresholds",
            "master_id": 19602216,
            "dataUrl": "https://a.blazemeter.com/api/latest/masters/19602216/reports/thresholds/data",
            "data": [
                {
                    "id": "5ceda469b72dc531292b8804",
                    "field": "responseTime.percentile.90",
                    "ignoreRampupTime": 60,
                    "labelId": "aa66bf0097386e72c10315745ffed811ae2707b6d48b2fd05df9510615c71158",
                    "op": "gt",
                    "range": 60,
                    "stopTestOnViolation": false,
                    "success": true,
                    "threshold": 500,
                    "created": 1559077993,
                    "updated": 1559077993,
                    "masterId": 19602216,
                    "testId": 6650476,
                    "violations": []
                },
                {
                    "id": "5ceda469b72dc531292b8805",
                    "field": "responseTime.percentile.90",
                    "ignoreRampupTime": 60,
                    "labelId": "f5d6402c5aacbfa32134a0ad31fcc6de5300a9b3966264350bd462b19305ecbb",
                    "op": "gt",
                    "range": 60,
                    "stopTestOnViolation": false,
                    "success": false,
                    "threshold": 1000,
                    "created": 1559077993,
                    "updated": 1559078296,
                    "masterId": 19602216,
                    "testId": 6650476,
                    "violations": [
                        {
                            "from": 1559079012,
                            "to": 1559079072,
                            "value": 1967
                        },
                        {
                            "from": 1559079002,
                            "to": 1559079062,
                            "value": 1967
                        },
                        {
                            "from": 1559078992,
                            "to": 1559079052,
                            "value": 1967
                        },
                        {
                            "from": 1559078982,
                            "to": 1559079042,
                            "value": 1959
                        },
                        {
                            "from": 1559078982,
                            "to": 1559079042,
                            "value": 1959
                        },
                        {
                            "from": 1559078972,
                            "to": 1559079032,
                            "value": 1959
                        },
                        ...
                    ]
                },
                {
                    "id": "5ceda469b72dc531292b8806",
                    "field": "responseTime.percentile.90",
                    "ignoreRampupTime": 60,
                    "labelId": "883ced7ab4e8aecee91719becdbdb09916b34dcc1a5ba78a1c3453d4a2eb3006",
                    "op": "gt",
                    "range": 60,
                    "stopTestOnViolation": false,
                    "success": false,
                    "threshold": 4500,
                    "created": 1559077993,
                    "updated": 1559078296,
                    "masterId": 19602216,
                    "testId": 6650476,
                    "violations": [
                        {
                            "from": 1559079012,
                            "to": 1559079072,
                            "value": 4959
                        },
                        {
                            "from": 1559079002,
                            "to": 1559079062,
                            "value": 4959
                        },
                        {
                            "from": 1559078993,
                            "to": 1559079050,
                            "value": 4959
                        },
                        {
                            "from": 1559078983,
                            "to": 1559079041,
                            "value": 4959
                        },
                        {
                            "from": 1559078983,
                            "to": 1559079041,
                            "value": 4959
                        },
                        ...
                    ]
                },
                {
                    "id": "5ceda469b72dc531292b8807",
                    "field": "responseTime.percentile.90",
                    "ignoreRampupTime": 60,
                    "labelId": "9ed35d26cbb13b431002a72d1614138bbf2ec35afa0c834f82f2898372ed3b33",
                    "op": "gt",
                    "range": 60,
                    "stopTestOnViolation": false,
                    "success": false,
                    "threshold": 1000,
                    "created": 1559077993,
                    "updated": 1559078296,
                    "masterId": 19602216,
                    "testId": 6650476,
                    "violations": [
                        {
                            "from": 1559079013,
                            "to": 1559079072,
                            "value": 1095
                        },
                        {
                            "from": 1559079003,
                            "to": 1559079062,
                            "value": 1095
                        },
                        {
                            "from": 1559078993,
                            "to": 1559079052,
                            "value": 1095
                        },
                        {
                            "from": 1559078983,
                            "to": 1559079042,
                            "value": 1095
                        },
                        {
                            "from": 1559078983,
                            "to": 1559079042,
                            "value": 1095
                        },
                        {
                            "from": 1559078972,
                            "to": 1559079030,
                            "value": 1087
                        },
                        {
                            "from": 1559078962,
                            "to": 1559079022,
                            "value": 1087
                        },
                        {
                            "from": 1559078952,
                            "to": 1559079011,
                            "value": 1087
                        },
                        ...
                    ]
                }
            ]
        },
        "request_id": "5ceda99113e15"
    }
    

    Attributes

    Time-Series Data

    To draw graphs of key performance indicators (KPIs), first determine which KPIs are available and then retrieve the details for each KPI.

    Determine Available KPIs

    Determine Available KPIs

    curl 'https://a.blazemeter.com/api/v4/masters/19088784/reports/timeline/kpis' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "name": "March_04_3:11 PM - Multi Test",
            "id": 19088784,
            "children": [
                {
                    "id": "Virtual Users",
                    "name": "Virtual Users",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/na/avg",
                                    "name": "Users",
                                    "yAxis": "users",
                                    "fillOpacity": 0.10000000000000001,
                                    "type": "area",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/na/avg",
                                    "name": "Users",
                                    "yAxis": "users",
                                    "fillOpacity": 0.10000000000000001,
                                    "type": "area",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/na/avg",
                                    "name": "Users",
                                    "yAxis": "users",
                                    "fillOpacity": 0.10000000000000001,
                                    "type": "area",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/na/avg",
                                    "name": "Users",
                                    "yAxis": "users",
                                    "fillOpacity": 0.10000000000000001,
                                    "type": "area",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/na/avg",
                                    "name": "Users",
                                    "yAxis": "users",
                                    "fillOpacity": 0.10000000000000001,
                                    "type": "area",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Hits",
                    "name": "Hits",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/n/avg",
                                    "name": "Hit/s Total",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/n/avg",
                                    "name": "Hit/s Total",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/n/avg",
                                    "name": "Hit/s Total",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/n/avg",
                                    "name": "Hit/s Total",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/n/avg",
                                    "name": "Hit/s Total",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Errors",
                    "name": "Errors",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/ec/avg",
                                    "name": "Hit/s Errors",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/ec/avg",
                                    "name": "Hit/s Errors",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/ec/avg",
                                    "name": "Hit/s Errors",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/ec/avg",
                                    "name": "Hit/s Errors",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/ec/avg",
                                    "name": "Hit/s Errors",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Response Time",
                    "name": "Response Time",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/t",
                                    "name": "Response Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg",
                                        "min",
                                        "max",
                                        "pec50",
                                        "pec90",
                                        "pec95",
                                        "pec99"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/t",
                                    "name": "Response Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg",
                                        "min",
                                        "max",
                                        "pec50",
                                        "pec90",
                                        "pec95",
                                        "pec99"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/t",
                                    "name": "Response Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg",
                                        "min",
                                        "max",
                                        "pec50",
                                        "pec90",
                                        "pec95",
                                        "pec99"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/t",
                                    "name": "Response Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg",
                                        "min",
                                        "max",
                                        "pec50",
                                        "pec90",
                                        "pec95",
                                        "pec99"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/t",
                                    "name": "Response Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg",
                                        "min",
                                        "max",
                                        "pec50",
                                        "pec90",
                                        "pec95",
                                        "pec99"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Latency Time",
                    "name": "Latency Time",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/lt",
                                    "name": "Latency Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/lt",
                                    "name": "Latency Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/lt",
                                    "name": "Latency Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/lt",
                                    "name": "Latency Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/lt",
                                    "name": "Latency Time",
                                    "yAxis": "time",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Bytes",
                    "name": "Bytes",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/by",
                                    "name": "Bytes/s",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/by",
                                    "name": "Bytes/s",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/by",
                                    "name": "Bytes/s",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/by",
                                    "name": "Bytes/s",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name"<