NAV Navbar
Home Performance Mock Services API Monitoring
cURL
  • Introduction
  • Test Configurations (Tests)
  • Multi Test Configurations (Multi-Tests)
  • Test Runs (Master)
  • 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.

    Overview

    Your Account provides access to different levels of the API:

    The following figure illustrates the relationship between the levels.

    Authorization Using Basic Authentication

    Authorization

    curl 'https://a.blazemeter.com/api/v4/user' \
        -H 'Content-Type: application/json' \
        --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.

    Test Configurations (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 will 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 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"
            }
        }
    }
    

    Attribute Description
    name

    string

    The test name.

    required

    type

    string

    The test type. For example, taurus

    required

    filename

    string

    The name of the file (i.e. JMeter script, Taurus YAML configuration file, etc) that will be used in the test. For example, BlazeDemoTest.jmx. Note: You must also upload the file - see Upload or Update Asset Files.

    required

    scriptType

    string

    The script types available. Includes:
    apiritif
    gatling
    grinder
    jmeter
    locust
    nose
    pbench
    pytest
    robot
    selenium
    siege
    taurus

    required

    Typical Configuration

    Create a Test Typical 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 '{"overrideExecutions": [{"executor": "jmeter", "holdFor": "19m", "rampUp": "1m", "concurrency": 20, "locations": {"us-east-1": 20}, "locationsPercents": {"us-east-1": 100},"steps": 0 }], "isNewTest": true, "name": "Typical Configuration Sample", "projectId": 167798, "configuration": {"type": "taurus", "filename": "MyTest.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 Typical Configuration Sample POST Body (JSON)

    {
        "overrideExecutions": [
        {
            "executor": "jmeter",
            "holdFor": "19m",
            "rampUp": "1m",
            "concurrency": 20,
            "locations": {
                "us-east-1": 20
            },
            "locationsPercents": {
                "us-east-1": 100
            },
            "steps": 0
        }
        ],
        "isNewTest": true,
        "name": "Typical Configuration Sample",
        "projectId": 167798,
        "configuration": {
            "type": "taurus",
            "filename": "MyTest.jmx",
            "scriptType": "jmeter"
        }
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 6650391,
            "name": "Typical Configuration Sample",
            "isNewTest": true,
            "userId": 344260,
            "created": 1551393212,
            "updated": 1551393213,
            "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,
            "projectId": 167798,
            "lastUpdatedById": 344260,
            "configuration": {
                "type": "taurus",
                "executionType": "taurusCloud",
                "filename": "MyTest.jmx",
                "scriptType": "jmeter"
            }
        }
    }
    

    The sample code to the right shows a typical test configuration, that includes additional parameters not found in the minimum configuration. To view an exhaustive list of all attributes and their descriptions, visit Test Object Attributes under the Appendix.

    It is important to note that the typical test configuration requires that you specify a location Id in the overridesExecutions section. To get a list of location Ids, visit the link at the top of this section for the location Id list.

    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: A file name: my_file_no_4.csv – is good. A 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' \
        -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 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 tests.

    You can return a list specifying either a projectId, a workspaceId, or both. 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 Test Configurations (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
    }
    

    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": []
        }
    }
    

    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

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

    Attribute Description
    collectionType

    string

    The type of multi test. Always will be multiV4

    required

    name

    string

    The name of multi test

    required

    projectId

    integer

    The projectId the multi test will be added to

    required

    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"]'
    

    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": []
        }
    }
    

    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 Attributes

    Attribute Description
    testId

    string array

    List of testIds to be added to test. testId MUST all be in the same projectId

    required

    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}]}'
    

    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": []
        }
    }
    

    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 Attributes

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

    Attribute Description
    index

    integer

    Denotes which test will be updated. For example, 0 will reference the first test attached to the multi test

    required

    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus
    executor

    string

    The script type you are running (similar to executor in Taurus). Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege
    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus). Values can be provided in m (minutes) only.
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the number of users you want to run on that location. Use this OR locationsPercents data, not both.
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the percentage of users you want to run on that location. Use this OR locations data, not both.
    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus). Values can be provided in m (minutes) only.
    steps

    integer

    The number of rampup steps (same as steps in Taurus). This can be empty

    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}'
    

    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": []
        }
    }
    

    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

    Attribute Description
    index

    integer

    Denotes which test will be updated. For example, 0 will reference the first test attached to the multi test

    required

    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

    Attribute Description
    fileName

    string

    Denotes which file to delete

    required

    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 (Master)

    When you start a test, a master (or test report) will be created uses a unique masterId for that test run. The masters endpoints provide control, status, and results for all test runs. To obtain the masterId (required when using these endpoints), capture the id in the response from the Start a Test API. Alternatively, you can obtain a list of all masterIds for a test using the List All Test Runs API.

    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.

    List All Test Runs

    Return All Test Runs (Every masterId) for a testId

    curl 'https://a.blazemeter.com/api/v4/masters?testId=6606270' \
        -H 'Content-Type: application/json' \
        --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.

    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' \
        -H 'Accept: application/json' \
        --user 'api_key_id:api_key_secret'
    

    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"
                }
            ]
        }
    }
    

    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 Attributes

    level

    integer

    Optional event level to return. Set to:
    100 DEBUG
    200 INFO (default)
    250 NOTICE
    300 WARNING
    400 ERROR
    500 CRITICAL
    550 ALERT
    600 EMERGENCY
    events

    boolean

    Include complete list of events for the event level (and above). Set to true (default) or false

    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 Overview

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

    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
        }
    }
    

    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 Aliases

    Attribute Description
    passed

    boolean

    Check for whether a test "passed" or "failed"
    maxUsers

    integer

    Maximum concurrency reached
    locations

    array

    List of location IDs where the test was run
    scenariosMapping

    array

    List of scenarios in test run. Contains a scenarioIds for each scenario (found in the id attribute).
    testId

    integer

    The testId of the test run


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

    Summary Statistics

    Get Summary Stats Data

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

    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
        }
    }
    

    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 Aliases

    avg

    float

    Average Response Time
    bytes

    integer

    Average Bandwidth
    concurrency

    integer

    Maximum Concurrent Users
    duration

    integer

    Duration of Test Run
    failed

    integer

    Total Number of Errors
    first

    integer

    Timestamp (Epoch Time) of First Sample
    hits

    integer

    Average Hits/Sec
    last

    integer

    Timestamp (Epoch Time) of Last Sample
    lb

    string

    Will always get the results from "ALL" label (which contains the data for all requests and responses).
    tp90

    integer

    Max response time for 90% of samples
    min

    integer

    Minimum Response Time
    max

    integer

    Max Response Time
    maxUsers

    integer

    The maximum concurrency the test reached.

    Request Statistics

    Get Request Stats Data

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

    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
            }
        ]
    }
    

    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 Parameters

    Attribute Description
    passed

    boolean

    Check for whether a test "passed" or "failed"
    maxUsers

    integer

    Maximum concurrency reached
    locations

    string

    List of location IDs where the test was run
    scenariosMapping

    string

    List of scenarios in test run. Contains scenarioIds for each scenario.
    testId The testId of the test run

    Request Statistics Aliases

    Attribute Description
    avgBytes

    float

    Average Bandwidth
    avgLatency

    float

    Average Latency
    avgResponseTime

    float

    Average Response Time
    avgThroughput

    float

    Average Hits/s
    duration

    integer

    Duration of test in seconds
    errorsCount

    integer

    Total Number of Errors
    errorsRate

    float

    Error Percentage
    geoMeanResponseTime

    float

    Geometric Mean Response Time
    labelId

    string

    The labelId for this label
    labelName

    string

    Name of the label
    90line

    integer

    Max Response Time for 90% of samples
    95line

    integer

    Max Response Time for 95% of samples
    99line

    integer

    Max Response Time for 99% of samples
    maxResponseTime

    integer

    Maximum Response Time
    medianResponseTime

    integer

    Maximum Response Time for 50% of samples
    minResponseTime

    integer

    Minimum Response Time
    samples

    integer

    Number of Samples
    stDev

    float

    Standard Deviation (a measure of variation) of the sample elapsed time.
    conncurrency

    integer

    Maximum Concurrent Users

    Error Statistics

    Get Error Statistics

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

    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"
    }
    

    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 Aliases

    Attribute Description
    labelId

    string

    The labelId of the label
    rc

    string

    Response code (can be an empty string)
    m

    string

    Response message returned
    count

    integer

    Number of errors generated with this response code and message
    name

    string

    Assertion name (from JMeter script)
    failureMessage

    string

    Assertion failure message (from JMeter script)
    failures

    integer

    Number of failures generated with this assertion name and message
    rc

    string

    Response code (can be an empty string)
    m

    string

    Response message returned
    count

    integer

    Number of errors generated with this response code and message
    url

    string

    URL that generated an error
    count

    string

    Number of errors the URL generated an error
    name

    string

    Name of label that generated the errors
    _id

    string

    Name of label that generated the errors

    Thresholds Statistics

    Get Error Statistics

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

    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"
    }
    

    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 Aliases

    Attribute Description
    master_id

    integer

    The masterId of the report
    id

    string

    The identifier of a failure criteria/threshold
    field

    string

    The KPI being checked (i.e. Response time of 90th percentile)
    ignoreRampupTime

    integer

    If the "Ignore Rampup Time" option is turned on, this value will match the ramp-up time of the test in seconds
    labelId

    string

    This will be the labelId of the label being checked
    op

    string

    The comparator of this criteria. Includes: eq (equal), gt (greater than), lt (less than), ne (not equal)
    range

    integer

    This will be -1 if the "1-minute sliding window" is turned off. If "sliding window" is turned on, this will be 60.
    stopTestOnViolation

    boolean

    Denotes whether the test will stop upon violation of this criteria
    success

    boolean

    Denotes whether the failure criteria passed or failed
    created

    integer

    The time the criteria was created. Denoted in UNIX Epoch Time
    updated

    integer

    The time the criteria was updated. Denoted in UNIX Epoch Time
    masterId

    integer

    The masterId of the test run
    testId

    integer

    The testId of the test run
    from

    integer

    Start time of the 1 minute window where a violation occurred. Denoted in UNIX Epoch Time
    to

    integer

    End time of the 1 minute windo where a violation occurred. Denoted in UNIX Epoch Time
    value

    integer

    The value that was measured (i.e. 90th percentile response time in ms)

    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' \
        -H 'Accept: application/json' \
        --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": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/by",
                                    "name": "Bytes/s",
                                    "availableStatistics": [
                                        "avg"
                                    ],
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "Response Codes",
                    "name": "Response Codes",
                    "children": [
                        {
                            "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                            "name": "ALL",
                            "children": [
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/rc/200",
                                    "name": "200",
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                },
                                {
                                    "id": "label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/rc/404",
                                    "name": "404",
                                    "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7"
                                }
                            ]
                        },
                        {
                            "id": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58",
                            "name": "bzm - Parallel Controller Dummy",
                            "children": [
                                {
                                    "id": "label/17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58/rc/200",
                                    "name": "200",
                                    "labelId": "17477542f8114333b731b111206fa6a2cb560645f62f48b74e7a2768d933cb58"
                                }
                            ]
                        },
                        {
                            "id": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5",
                            "name": "Dummy Sample",
                            "children": [
                                {
                                    "id": "label/6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5/rc/200",
                                    "name": "200",
                                    "labelId": "6cd7cac6b9903c94dbea09b9973066d5f36c6e1de2cd06c91c853afcd56faff5"
                                }
                            ]
                        },
                        {
                            "id": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                            "name": "Dummy Sample Error",
                            "children": [
                                {
                                    "id": "label/4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e/rc/404",
                                    "name": "404",
                                    "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e"
                                }
                            ]
                        },
                        {
                            "id": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201",
                            "name": "Dummy Sample Success",
                            "children": [
                                {
                                    "id": "label/6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201/rc/200",
                                    "name": "200",
                                    "labelId": "6b7fa6973e0e41304cd0343664ab1def48ed9e12b2989dfd18b123d14c5b1201"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    }
    

    API Explorer: /masters/{masterId}/reports/timeline/kpis

    To retrieve a list containing available key performance indicators (KPIs), use the masterId and the /masters/{masterId}/reports/timeline/kpis endpoint. The sample code returns available KPIs for a masterId of 19088784. Use the masterId of the actual test run in place of the 19088784.

    The response starts with a result that contains the test name. Under that are nested children, starting with the available KPIs (for example, Virtual Users, Hits, Errors, and so on). Within each child is another nested set of children listing the labels available.

    Within the children listing, you will find an id for each label. This is the labelId of the label and will be needed for querying a specific label in Retrieve Time-Series Details.

    Retrieve Time-Series Details

    Retrieve Time-Series Details for 60 Second Intervals

    curl 'https://a.blazemeter.com/api/v4/masters/19088784/kpi-values?id=label%2Fb5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7%2Fna%2Favg&interval=60' \
        -H 'Accept: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "labelName": "ALL",
                "label": "ALL",
                "kpis": [
                    {
                        "n": 4050,
                        "na": 49,
                        "ts": 1551801900,
                        "t_min": 50,
                        "t_max": 647,
                        "t_avg": 124.12148148148148,
                        "t_pec50": 83,
                        "t_pec90": 109,
                        "t_pec95": 611,
                        "t_pec99": 611,
                        "lt_avg": 23.630123456790123,
                        "by_avg": 123.48592592592593,
                        "n_avg": 67.5,
                        "ct_avg": 2.7385185185185184,
                        "ec_avg": 25.583333333333332,
                        "ec": 1535
                    },
                    {
                        "n": 12385,
                        "na": 60,
                        "ts": 1551801960,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.49882922890593,
                        "t_pec50": 84,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.442551473556723,
                        "by_avg": 123.75696406943884,
                        "n_avg": 206.41666666666666,
                        "ct_avg": 2.7489705288655633,
                        "ec_avg": 78.13333333333334,
                        "ec": 4688
                    },
                    {
                        "n": 12627,
                        "na": 60,
                        "ts": 1551802020,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.60932921517383,
                        "t_pec50": 84,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.288429555713947,
                        "by_avg": 123.7776193870278,
                        "n_avg": 210.44999999999999,
                        "ct_avg": 2.7457828462817773,
                        "ec_avg": 79.716666666666669,
                        "ec": 4783
                    },
                    {
                        "n": 12645,
                        "na": 60,
                        "ts": 1551802080,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.34045077105576,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.288177145116649,
                        "by_avg": 123.76370106761566,
                        "n_avg": 210.75,
                        "ct_avg": 2.7379201265322264,
                        "ec_avg": 79.799999999999997,
                        "ec": 4788
                    },
                    {
                        "n": 12658,
                        "na": 60,
                        "ts": 1551802140,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.13690946437036,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.211802812450625,
                        "by_avg": 123.75367356612419,
                        "n_avg": 210.96666666666667,
                        "ct_avg": 2.754147574656344,
                        "ec_avg": 79.966666666666669,
                        "ec": 4798
                    },
                    {
                        "n": 12678,
                        "na": 60,
                        "ts": 1551802200,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 124.95070200347058,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.404716832307933,
                        "by_avg": 123.74727875059158,
                        "n_avg": 211.30000000000001,
                        "ct_avg": 2.7487774096860704,
                        "ec_avg": 80.083333333333329,
                        "ec": 4805
                    },
                    {
                        "n": 12644,
                        "na": 60,
                        "ts": 1551802260,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.45460297374248,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.288516292312558,
                        "by_avg": 123.77348940208795,
                        "n_avg": 210.73333333333332,
                        "ct_avg": 2.7444637772856693,
                        "ec_avg": 79.799999999999997,
                        "ec": 4788
                    },
                    {
                        "n": 12633,
                        "na": 60,
                        "ts": 1551802320,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.50542230665717,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.31647273015119,
                        "by_avg": 123.77297554025172,
                        "n_avg": 210.55000000000001,
                        "ct_avg": 2.7417082244914113,
                        "ec_avg": 79.733333333333334,
                        "ec": 4784
                    },
                    {
                        "n": 12654,
                        "na": 60,
                        "ts": 1551802380,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.33783783783784,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.344792160581633,
                        "by_avg": 123.76576576576576,
                        "n_avg": 210.90000000000001,
                        "ct_avg": 2.7485380116959064,
                        "ec_avg": 79.916666666666671,
                        "ec": 4795
                    },
                    {
                        "n": 12639,
                        "na": 60,
                        "ts": 1551802440,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.45035208481684,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.416488646253658,
                        "by_avg": 123.77735580346547,
                        "n_avg": 210.65000000000001,
                        "ct_avg": 2.7456286098583749,
                        "ec_avg": 79.75,
                        "ec": 4785
                    },
                    {
                        "n": 12672,
                        "na": 60,
                        "ts": 1551802500,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 124.9704071969697,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.343039772727273,
                        "by_avg": 123.73390151515152,
                        "n_avg": 211.19999999999999,
                        "ct_avg": 2.7489741161616164,
                        "ec_avg": 80.066666666666663,
                        "ec": 4804
                    },
                    {
                        "n": 12633,
                        "na": 60,
                        "ts": 1551802560,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.55608327396502,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.327159027942688,
                        "by_avg": 123.78199952505344,
                        "n_avg": 210.55000000000001,
                        "ct_avg": 2.7436080107654557,
                        "ec_avg": 79.733333333333334,
                        "ec": 4784
                    },
                    {
                        "n": 12620,
                        "na": 60,
                        "ts": 1551802620,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.67812995245642,
                        "t_pec50": 84,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.339619651347068,
                        "by_avg": 123.78304278922346,
                        "n_avg": 210.33333333333334,
                        "ct_avg": 2.739540412044374,
                        "ec_avg": 79.63333333333334,
                        "ec": 4778
                    },
                    {
                        "n": 12635,
                        "na": 60,
                        "ts": 1551802680,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.55425405619312,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.330035615354173,
                        "by_avg": 123.78947368421052,
                        "n_avg": 210.58333333333334,
                        "ct_avg": 2.73597150771666,
                        "ec_avg": 79.683333333333337,
                        "ec": 4781
                    },
                    {
                        "n": 12647,
                        "na": 60,
                        "ts": 1551802740,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.38491341820195,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.281252470941727,
                        "by_avg": 123.77117102870245,
                        "n_avg": 210.78333333333333,
                        "ct_avg": 2.7409662370522652,
                        "ec_avg": 79.833333333333329,
                        "ec": 4790
                    },
                    {
                        "n": 12629,
                        "na": 60,
                        "ts": 1551802800,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.57803468208093,
                        "t_pec50": 84,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.519043471375404,
                        "by_avg": 123.77607094781851,
                        "n_avg": 210.48333333333332,
                        "ct_avg": 2.7231768152664504,
                        "ec_avg": 79.700000000000003,
                        "ec": 4782
                    },
                    {
                        "n": 12645,
                        "na": 60,
                        "ts": 1551802860,
                        "t_min": 50,
                        "t_max": 615,
                        "t_avg": 125.40395413206801,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.432344800316329,
                        "by_avg": 123.77271648873072,
                        "n_avg": 210.75,
                        "ct_avg": 2.7523131672597865,
                        "ec_avg": 79.849999999999994,
                        "ec": 4791
                    },
                    {
                        "n": 12658,
                        "na": 60,
                        "ts": 1551802920,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.13722547005847,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.154210775793963,
                        "by_avg": 123.75367356612419,
                        "n_avg": 210.96666666666667,
                        "ct_avg": 2.7559646073629325,
                        "ec_avg": 79.933333333333337,
                        "ec": 4796
                    },
                    {
                        "n": 12642,
                        "na": 60,
                        "ts": 1551802980,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.38071507672836,
                        "t_pec50": 84,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.273849074513528,
                        "by_avg": 123.75700047460845,
                        "n_avg": 210.69999999999999,
                        "ct_avg": 2.7387280493592785,
                        "ec_avg": 79.816666666666663,
                        "ec": 4789
                    },
                    {
                        "n": 12653,
                        "na": 60,
                        "ts": 1551803040,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 125.43183434758555,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.41602781948945,
                        "by_avg": 123.78455702205011,
                        "n_avg": 210.88333333333333,
                        "ct_avg": 2.7469374851813799,
                        "ec_avg": 79.849999999999994,
                        "ec": 4791
                    },
                    {
                        "n": 2566,
                        "na": 60,
                        "ts": 1551803100,
                        "t_min": 50,
                        "t_max": 611,
                        "t_avg": 129.64068589243959,
                        "t_pec50": 83,
                        "t_pec90": 110,
                        "t_pec95": 607,
                        "t_pec99": 611,
                        "lt_avg": 23.415042868277474,
                        "by_avg": 124.70693686671864,
                        "n_avg": 42.766666666666666,
                        "ct_avg": 2.7127825409197195,
                        "ec_avg": 16,
                        "ec": 960
                    }
                ],
                "requestedKpi": "na"
            }
        ]
    }
    

    API Explorer: /masters/{masterId}/kpi-values

    To retrieve time-series details, use the masterId, the KPI values, and the /masters/{masterId}/kpi-values endpoint with the following query parameters. The sample code returns time-series details for a masterId of 19088784 for the determined available KPI label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/na/avg. Use the actual masterId in place of the 19088784 and the determined KPI in place of the label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/na/avg. See the KPI Values Query Parameters for more details on how to setup the parameters for this API.

    The response starts with a result that contains the label Id and Name, at minimum. Under that is an array of objects, listing the KPI values in intervals of one second at minimum. No matter which metric is requested, the response will always display n, na, and ts. ts is the timestamp, in seconds, given in UNIX Epoch time. Visit this Epoch and Unix Timestamp Converter Tool to convert between the timestamp and human readable dates.

    KPI Values Query Parameters

    Attribute Description
    id

    string

    This parameter is a concatenation (see Concatenation for ID)

    Required

    interval

    integer

    The granularity (in seconds) of aggregation. Default is 1 second, which can generate a very large data set, so consider using a larger interval. The only supported granularities are 1, 10, and 60 seconds.

    Required

    Concatenation for ID

    For this parameter, you need to build the parameter label/labelId/kpi/statistic:

    For example: id=label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/na/avg Response Code 200 Example: id=label/b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7/rc/200

    This must be url-encoded for it to run. The / is %2F when url-encoded, so the following example is how it would look when included in the API: id=label%2Fb5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7%2Fna%2Favg

    Legend for KPIs

    Attribute Description Supported Statistics
    n Hits avg
    na Active Users avg
    ec Errors (error count) avg
    t Response time avg, min, max, pec50, pec90, pec95, pec99
    lt Latency avg
    by Bytes avg
    rc Response code xxx

    Legend for Statistics

    Attribute Description Supported KPIs
    avg Average n, na, ec, t, lt, by
    min Minimum t
    max Maximum t
    pec50 Median t
    pec90 90% Max Response t
    pec95 95% Max Response t
    pec99 99% Max Response t
    xxx Response Code xxx rc

    Inject Custom Time Series Data

    Inject Custom Time Series Data

    curl 'https://a.blazemeter.com/api/v4/data/timeseries' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{
        "intervals": [
            {
                "_id": {
                    "masterId": 19088772,
                    "metricPath": "Lion King|Simba",
                    "ts": 1518429953
                },
                "kpis": [
                    {
                        "value": 300,
                        "ts": 1518429953
                    }
                ],
                "profileName": "Movies"
            },
            {
                "_id": {
                    "masterId": 19088772,
                    "metricPath": "Lion King|Mufasa",
                    "ts": 1518429953
                },
                "kpis": [
                    {
                        "value": 200,
                        "ts": 1518429953
                    }
                ],
                "profileName": "Movies"
            },
            {
                "_id": {
                    "masterId": 19088772,
                    "metricPath": "The Little Mermaid|Ariel",
                    "ts": 1518429953
                },
                "kpis": [
                    {
                        "value": 743,
                        "ts": 1518429953
                    }
                ],
                "profileName": "Movies"
            },
            {
                "_id": {
                    "masterId": 19088772,
                    "metricPath": "The Little Mermaid|Ursula",
                    "ts": 1518429953
                },
                "kpis": [
                    {
                        "value": 40,
                        "ts": 1518429953
                    }
                ],
                "profileName": "Movies"
            }
        ]
    }'
    

    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 Sample POST (JSON)

    {
      "intervals": [
        {
          "_id": {
            "masterId": 19088772,
            "metricPath": "Lion King|Simba",
            "ts": 1518429953
          },
          "kpis": [
            {
              "value": 300,
              "ts": 1518429953
            }
          ],
          "profileName": "Movies"
        },
        {
          "_id": {
            "masterId": 19088772,
            "metricPath": "Lion King|Mufasa",
            "ts": 1518429953
          },
          "kpis": [
            {
              "value": 200,
              "ts": 1518429953
            }
          ],
          "profileName": "Movies"
        },
        {
          "_id": {
            "masterId": 19088772,
            "metricPath": "The Little Mermaid|Ariel",
            "ts": 1518429953
          },
          "kpis": [
            {
              "value": 743,
              "ts": 1518429953
            }
          ],
          "profileName": "Movies"
        },
        {
          "_id": {
            "masterId": 19088772,
            "metricPath": "The Little Mermaid|Ursula",
            "ts": 1518429953
          },
          "kpis": [
            {
              "value": 40,
              "ts": 1518429953
            }
          ],
          "profileName": "Movies"
        }
      ]
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            [
                {
                    "_id": {
                        "masterId": 19088772,
                        "metricPath": "Lion King|Simba",
                        "ts": 1518429953
                    },
                    "kpis": [
                        {
                            "value": 300,
                            "ts": 1518429953
                        }
                    ],
                    "profileName": "Movies"
                },
                {
                    "_id": {
                        "masterId": 19088772,
                        "metricPath": "Lion King|Mufasa",
                        "ts": 1518429953
                    },
                    "kpis": [
                        {
                            "value": 200,
                            "ts": 1518429953
                        }
                    ],
                    "profileName": "Movies"
                },
                {
                    "_id": {
                        "masterId": 19088772,
                        "metricPath": "The Little Mermaid|Ariel",
                        "ts": 1518429953
                    },
                    "kpis": [
                        {
                            "value": 743,
                            "ts": 1518429953
                        }
                    ],
                    "profileName": "Movies"
                },
                {
                    "_id": {
                        "masterId": 19088772,
                        "metricPath": "The Little Mermaid|Ursula",
                        "ts": 1518429953
                    },
                    "kpis": [
                        {
                            "value": 40,
                            "ts": 1518429953
                        }
                    ],
                    "profileName": "Movies"
                }
            ]
        ]
    }
    

    API Explorer: /data/timeseries

    You can inject your own time-series data into the test results in real time or after the test. Once injected, the data will appear in the Timeline Report in the BlazeMeter UI and be available for retrieval via the API just like any other time-series data in the test results.

    The example provided adds new KPIs Lion King|Simba, Lion King|Mufasa, The Little Mermaid|Ariel, and The Little Mermaid|Ursula to the masterId of 19088772 under the profileName of Movies.

    The kpis array only contains a single data point for each KPI above, but you can add as many of these as necessary to add that data to your Timeline Report (up to 1 second intervals). The same is true for the meterPath values (as it is in the intervals array), as you can add as many of these as you need. When using this API, replace the masterId of 19088772 with your id, the metricPath values with the ones that describe the KPI data you are passing, and the profileName of Movies to your preferred name.

    Inject Custom Time Series Data Attributes

    masterId

    integer

    The masterId you want to inject the KPI date into. As for now, we only support same master for all the intervals (one master for request)

    required

    metricPath

    string

    The path in the profile tree, separated by pipes (|), for example: title_1|title_2|title_3

    required

    ts

    int

    The timestamp of the metric (in Epoch Time)

    required

    value

    integer

    Value of KPI

    required

    ts

    integer

    Timestamp of the KPI (in Epoch Time)

    required

    profileName

    string

    Name of the profile to associate the KPI value with

    required

    Retrieve Logs

    Retrieve Logs

    curl 'https://a.blazemeter.com/api/v4/sessions/r-v4-5c7e9d133be89/reports/logs' \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "hash": "logs",
            "name": "Logs",
            "type": "Logs",
            "source": "",
            "id": "logs",
            "session_id": "r-v4-5c7e9d133be89",
            "dataUrl": "https://a.blazemeter.com/api/latest/sessions/r-v4-5c7e9d133be89/reports/logs/data",
            "data": [
                {
                    "title": "admin-artifacts",
                    "filename": "admin-artifacts.zip",
                    "dataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/admin-artifacts.zip?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=fe1386edf6ce933304af4d2851bf4293d1f6c81220bef22eece941623859650d",
                    "tailDataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/admin-artifacts.zip.tail.bz?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=f1c74bf1f8db03fdbde8651001e1e10287ffb450a570b1b8f668b4635f6fbbd1"
                },
                {
                    "title": "artifacts",
                    "filename": "artifacts.zip",
                    "dataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/artifacts.zip?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=56defdf61a9e123bc0968b6b57f29bd0237aaf7140e07b71058cbc53e5d15f00",
                    "tailDataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/artifacts.zip.tail.bz?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=3f47a4f3c77187c0b8f265ad6d934d6b2a3cca0a4bc14fda8c21bfc6caf625c2"
                },
                {
                    "title": "bzt",
                    "filename": "bzt.log",
                    "dataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/bzt.log?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=43859e2fa571ae6c14b7f0eae6c8b6ef84c86447a01851fce0356d693f483d14",
                    "tailDataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/bzt.log.tail.bz?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=a56caec2b4de9b1df87d0fb404ae94925fe2c1b302e7971772cb461b93895fb4"
                },
                {
                    "title": "cloud-launcher",
                    "filename": "cloud-launcher.log",
                    "dataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/cloud-launcher.log?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=6bdd5b679dfb15a3c665cf1a8c157885e3c727e7fd94e47ef451724d4d2a1473",
                    "tailDataUrl": false
                },
                {
                    "title": "jmeter",
                    "filename": "jmeter.log",
                    "dataUrl": "https://blazemeter.s3.amazonaws.com/masters/19088772/sessions/r-v4-5c7e9d133be89/jmeter.log?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T142513Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=d4ec7917fa93356e3225cc3a9200425b1cad79edccfab587a69f488d0776713c",
                    "tailDataUrl": false
                }
            ],
            "location": "us-east-1",
            "locationId": "us-east-1",
            "overrideLocationId": null
        }
    }
    

    API Explorer: /sessions/{sessionId}/reports/{reportId}

    To get high level summary statistics, use the sessionId and /sessions/{sessionId}/reports/logs endpoint. The sample code returns the logs created for the sessionId of r-v4-5c7e9d133be89. Use the sessionId of the actual test run in place of r-v4-5c7e9d133be89.

    The response contains an array that contains the full list of files genearated by the session.

    Retrieve Logs Attributes

    filename

    string

    The filename of the file
    dataUrl

    string

    The link to the file. This link remains active for 20 minutes
    location

    string

    The location id the session was run in

    Test Results Advanced Settings

    For the Summary Statistics, Requests Statistics, Error Statistics, Threshold Statistics and Time-Series Data you have options to narrow down the view of data to 1 or more scenarios, 1 or more locations, and/or a time range.

    Test Results By Scenario

    Get Request Stats Data By Scenario

    curl 'https://a.blazemeter.com/api/v4/masters/19084376/reports/aggregatereport/data?scenarios[]=f7cebdaa474a27fc93dcff0fd3d97bd116c1f867a6f17639f0fc197eec1f4e5a' \
        -H 'Accept: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "avgBytes": 3.5939999999999999,
                "avgLatency": 25.615478098981228,
                "avgResponseTime": 105.14469669545431,
                "avgThroughput": 32.28213689482471,
                "duration": 1198,
                "errorsCount": 0,
                "errorsRate": 0,
                "geoMeanResponseTime": null,
                "hasLabelPassedThresholds": null,
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "labelName": "ALL",
                "90line": 110,
                "95line": 110,
                "99line": 111,
                "maxResponseTime": 117,
                "medianResponseTime": 105,
                "minResponseTime": 100,
                "samples": 38674,
                "stDev": 3.1836156424647122,
                "concurrency": 20
            },
            {
                "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
            }
        ]
    }
    

    To narrow down the data based on a given scenario, you will want to include the scenarios[] parameter for the scenario (or scenarios) you are interested in. This will require you to gather the scenarioId by using the High Level Overview API (you will need a masterId) or from Start a Test API response (you will need a testId).

    Test Results by Location

    Get Request Stats Data by Location

    curl 'https://a.blazemeter.com/api/v4/masters/19084376/reports/aggregatereport/data?locations[]=us-east-1' \
        -H 'Accept: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "avgBytes": 3.5939999999999999,
                "avgLatency": 25.615478098981228,
                "avgResponseTime": 105.14469669545431,
                "avgThroughput": 32.28213689482471,
                "duration": 1198,
                "errorsCount": 0,
                "errorsRate": 0,
                "geoMeanResponseTime": null,
                "hasLabelPassedThresholds": null,
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "labelName": "ALL",
                "90line": 110,
                "95line": 110,
                "99line": 111,
                "maxResponseTime": 117,
                "medianResponseTime": 105,
                "minResponseTime": 100,
                "samples": 38674,
                "stDev": 3.1836156424647122,
                "concurrency": 20
            },
            {
                "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
            }
        ]
    }
    

    To narrow down the data based on a given location, you will want to include the locations[] parameter for the location (or locations) you are interested in. This will require you to gather the location Id by using the High Level Overview API (you will need a masterId) or from Start a Test API response (which requires a testId).

    Test Results by Time Range

    Get Request Stats Data by Time Range

    curl 'https://a.blazemeter.com/api/v4/masters/19084376/reports/aggregatereport/data?from=1551801954&to=1551802158' \
        -H 'Accept: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": [
            {
                "labelId": "4aea54d655e1ea0a0120da7e43da365c7581482cceaa0ad4c53574e14ecbc39e",
                "errors": [
                    {
                        "rc": "404",
                        "m": "NOT FOUND",
                        "count": 19057
                    }
                ],
                "assertions": [],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "Dummy Sample Error",
                "_id": "Dummy Sample Error"
            },
            {
                "labelId": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                "errors": [
                    {
                        "rc": "404",
                        "m": "NOT FOUND",
                        "count": 19057
                    }
                ],
                "assertions": [],
                "failedEmbeddedResources": [],
                "urls": [],
                "name": "ALL",
                "_id": "ALL"
            }
        ]
    }
    

    To narrow down the data based on a given time range, you will want to include the to and from parameters for the time range (using Epoch time) you are interested in. This will require you to know get the start and stop times (in Epoch) by using the Summary Statistics API (you will need a masterId).

    Shared Folders

    If you have files that are used across multiple tests, then using shared folders will reduce the need to re-upload files every time. For more informaiton on what shared folders are and when to use them, you can visit the Uploading Files and Shared Folders for more information.

    List Shared Folders

    List Shared Folders

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

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 12,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": "5b7dc9c6c7dc9739167b23c8",
                "name": "ApiTest",
                "created": 1534970310,
                "workspaceId": 123429
            },
            {
                "id": "58e29fd7ca293bbb5c05776f",
                "name": "Data",
                "created": 1491247063,
                "workspaceId": 123429
            },
            {
                "id": "5b44cdc346f49fcf707b23cb",
                "name": "IncludeController",
                "created": 1531235779,
                "workspaceId": 123429
            },
            {
                "id": "5af99e54014f377771e48270",
                "name": "JAR_Files",
                "created": 1526308436,
                "workspaceId": 123429
            },
            {
                "id": "5aba6168e2c1af58757b251b",
                "name": "Selenium",
                "created": 1522164072,
                "workspaceId": 123429
            },
            {
                "id": "594bfc8f67f3bf98257b23ce",
                "name": "TCMS_Data",
                "created": 1498152079,
                "workspaceId": 123429
            },
            {
                "id": "5af06f1d014f371f2b7b23c7",
                "name": "TaurusV4",
                "created": 1525706525,
                "workspaceId": 123429
            },
            {
                "id": "58e29fceaf1098fb3e185c11",
                "name": "Test",
                "created": 1491247054,
                "workspaceId": 123429
            },
            {
                "id": "5a023e063d71f4060b214518",
                "name": "TestAPI",
                "created": 1510096390,
                "workspaceId": 123429
            },
            {
                "id": "5b96c41fad67294528f03df8",
                "name": "TestDeleteFiles",
                "created": 1536607263,
                "workspaceId": 123429
            }
        ]
    }
    

    API Explorer: /folders

    To get the folderId you will need to the workspaceId for where the shared folder is held. The example code on the right returns the list of the first 10 folders in workspace 123429. The id in the response contains the folderId of the shared folder, which you will need to upload files to a shared folder.

    See the Pagination and Sorting sections for more details on seeing more (or less) results and sort your results.

    List Shared Folders Attributes

    Attribute Description
    id

    string

    The folderId for the shared folder
    name

    string

    The name of the shared folder
    created

    integer

    Time (in Epoch Time) the shared folder was created
    workspaceId

    integer

    The workspaceId the shared folder is associated to

    Upload or Update Files to Shared Folder

    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 for Folder

    Upload or Update Files to Shared Folder Get Signed URL for Folder

    curl 'https://a.blazemeter.com/api/v4/folders/5b7dc9c6c7dc9739167b23c8/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/organizations/123429/shared/ApiTest/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%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T154412Z&X-Amz-SignedHeaders=host%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Expires=1200&X-Amz-Signature=f48f6fdb85d8d928709b5d6193ba452c20684f14da2a89bee7b00f9854224a70"
    }
    

    API Explorer: folders/{folderId}/s3/sign

    First, use the folderId 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 folderId of 5b7dc9c6c7dc9739167b23c8 and a fileName of colors.csv. Replace colors.csv with the actual file name, and 5b7dc9c6c7dc9739167b23c8 with your folderId.

    Upload File to Signed URL for Folder

    Upload or Update Files to Shared Folder Upload File to Signed URL for Folder

    curl 'https://blazemeter.s3.amazonaws.com/organizations/123429/shared/ApiTest/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%2F20190309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190309T154412Z&X-Amz-SignedHeaders=host%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Expires=1200&X-Amz-Signature=f48f6fdb85d8d928709b5d6193ba452c20684f14da2a89bee7b00f9854224a70' \
        -X PUT \
        -F 'file=@/my/path/to/colors.csv'
    
    

    Response 200 OK

    Once you have obtained the signed URL (in result above), 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 to signed url given). Be sure to upload the updated file using the same file name.

    Shared Folder 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 Folder Asset Files

    Delete a File

    curl 'https://a.blazemeter.com/api/v4/folders/5b96c41fad67294528f03df8/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: /folders/{folderId}/delete-file

    To delete an uploaded file from a shared folder, you need to know the folderId and the filename. The sample code deletes the file (MyTest.jmx) from the shared folder with an ID of 5b96c41fad67294528f03df8. Replace MyTest.jmx with the actual file name and 5b96c41fad67294528f03df8 with your folderId.

    Test Scheduler

    The test scheduler API will allow you to assign a cron schedule to your test to have it run on a schedule. You can read more about this feature in this article.

    Create a Schedule

    You can find the information for creating a schedule for a test and multi test.

    Create a Schedule for Test

    Create a Schedule Create a Schedule for Test

    curl 'https://a.blazemeter.com/api/v4/schedules'\
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"cron":"0 0 * * 1-5","testId":6658400}'
    

    Create a Schedule Create a Schedule for Test Sample POST Body (JSON)

    {
        "cron": "0 0 * * 1-5",
        "testId": 6658400
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5c83e5610bd29075e16b2794",
            "cron": "0 0 * * 1-5",
            "nextRun": 1552262400,
            "enabled": true,
            "type": "testRun",
            "created": 1552147809,
            "updated": 1552147809,
            "testId": 6658400,
            "createdById": 344260
        }
    }
    

    API Explorer: /schedules

    To schedule a test, you need the testId of the test you want to run on a schedule and build a cron string for the desired run schedule. For the sample code on the right, testId 6658400 has been scheduled with the cron schedule of 0 0 * * 1-5 (this schedule will run at midnight every Monday-Friday). To schedule your test, replace the testId 6658400 with the testId of your test and the cron attribute with your desired cron schedule.

    Create a Schedule for Multi Test

    Create a Schedule Create a Schedule for Multi Test

    curl https://a.blazemeter.com/api/v4/schedules \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"cron":"0 0 * * 1-5","testCollectionId":10027459}'
    

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

    {
        "cron": "0 0 * * 1-5",
        "testCollectionId": 10027459
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5c83ec4a7b12f573685c5f36",
            "cron": "0 0 * * 1-5",
            "nextRun": 1552262400,
            "enabled": true,
            "type": "testRun",
            "created": 1552149578,
            "updated": 1552149578,
            "testCollectionId": 10027459,
            "createdById": 344260
        }
    }
    

    API Explorer: /schedules

    To schedule a test, you need the collectionId of the test you want to run on a schedule and build a cron string for the desired run schedule. For the sample code on the right, collectionId 10027459 has been scheduled with the cron schedule of 0 0 * * 1-5 (this schedule will run at midnight every Monday-Friday). To schedule your test, replace the collectionId 10027459 with the collectionId of your test and the cron attribute with your desired cron schedule.

    Create a Schedule Request Attributes

    Attribute Description
    cron

    string

    The cron schedule you want to use for the test

    required

    testId

    integer

    The testId of the test

    required

    Test Only

    testCollectionId

    integer

    The collectionId of the multi test

    required

    Multi Test Only

    Create a Schedule Response Attributes

    Attribute Description
    id

    string

    The scheduleId for the created schedule
    cron

    string

    The cron schedule you want to use for the test

    required

    nextRun

    integer

    The time (in Epoch Time) of the next test run

    read-Only

    enabled

    boolean

    Denotes if the schedule is active
    type

    integer

    Type of schedule

    read-Only

    created

    integer

    Time (in Epoch Time) the schedule was created

    read-Only

    updated

    integer

    The time (in Epoch Time) was updated

    read-Only

    testId

    integer

    The testId of the test

    required

    Test Only

    testCollectionId

    integer

    The collectionId of the multi test

    required

    Multi Test Only

    createdById

    integer

    The userId of the user that created the schedule

    read-Only

    Update Schedule

    Update Schedule

    curl 'https://a.blazemeter.com/api/v4/schedules/5c83e5610bd29075e16b2794' \
      -X PATCH \
      -H 'Content-Type: application/json' \
      --user 'api_key_id:api_key_secret' \
      -d '{"enabled":false}'
    

    Update Schedule Update Schedule Sample PATCH Body (JSON)

    {
      "enabled": false
    }
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5c83e5610bd29075e16b2794",
            "cron": "0 0 * * 1-5",
            "nextRun": 1552262400,
            "enabled": false,
            "type": "testRun",
            "created": 1552147809,
            "updated": 1552150058,
            "testId": 6658400,
            "createdById": 344260,
            "lastUpdatedById": 344260
        }
    }
    

    API Explorer: /schedules/{scheduleId}

    To update a schedule, use PATCH to change the provided configuration for a given schedule (you need to know the scheduleId). The sample code updates a schedule with an ID of 5c83e5610bd29075e16b2794 to not run by setting enabled to false. The sample code updates the schedule created in the Create a Schedule for Test section.

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

    See the Schedule Attributes for parameters that you can modify.

    List Schedules

    List Schedules

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

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": "5c83e5610bd29075e16b2794",
                "cron": "0 0 * * 1-5",
                "nextRun": 1552262400,
                "enabled": false,
                "type": "testRun",
                "created": 1552147809,
                "updated": 1552150058,
                "testId": 6658400,
                "createdById": 344260,
                "lastUpdatedById": 344260
            },
            {
                "id": "5c83ec4a7b12f573685c5f36",
                "cron": "0 0 * * 1-5",
                "nextRun": 1552262400,
                "enabled": true,
                "type": "testRun",
                "created": 1552149578,
                "updated": 1552149578,
                "testCollectionId": 10027459,
                "createdById": 344260
            }
        ]
    }
    

    API Explorer: /schedules

    To return a list of test schedules, a projectId, a workspaceId, a collectionId, OR a testId is required. The sample code returns a list for items with a workspaceId of 123429. Use the actual ID values for the project, workspace, collection, or test to return the list of test schedules.

    You can return a list specifying either a projectId, a workspaceId, a collectionId, a testId, or any combination of the workspace, project, and either testId or collectionId. The returned list contains each test schedule's scheduleId (shows up as id in the response) and configuration.

    See the Pagination and Sorting sections for more information on seeing more (or less) results and sorting the results.

    List Test Schedule History

    List Test Schedule History

    curl 'https://a.blazemeter.com/api/v4/schedules/history?testId=6658400' \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 1,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": "5c83f8919fee716a488b4567",
                "runAt": 1552152723,
                "success": true,
                "name": "My New Test",
                "scheduleId": "5c83f8840bd290041e05351d",
                "scheduleType": "testRun",
                "scheduleCronExpression": "32 17 * * 6",
                "projectId": 167798,
                "workspaceId": 123429,
                "accountId": 130010,
                "testId": 6658400,
                "masterId": 19110371,
                "created": 1552152721,
                "updated": 1552152723
            }
        ]
    }
    

    API Explorer: /schedules/history

    To return a list of test schedules, a projectId, a workspaceId, a collectionId, a testId, OR a scheduleId is required. The sample code returns a list for schedule history for a testId of 6658400. Use the actual ID values for the project, workspace, collection, test, or schedule to return the history of your schedules.

    You can return a schedule history specifying either a projectId, a workspaceId, a collectionId, a testId, or any combination of the workspace, project, and either testId or collectionId or scheduleId. The returned list contains the schedule history of the test runs that meet the parameters provided.

    See the Pagination and Sorting sections for more information on seeing more (or less) results and sorting the results.

    Delete a Schedule

    Delete a Schedule

    curl 'https://a.blazemeter.com/api/v4/schedules/5c83f8667ffbc232772ad363' \
        -X DELETE \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /schedules/{scheduleId}

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

    If you do not know the ID of the schedule to delete, use the List Schedules 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 scheduleId does not exist).

    Private Locations

    When you create a private location, you are creating a private-location object configured with specific parameters. You can read more about what private locations are in this article.

    Once you have created a private location, you will get a harborId, the unique identifier for a private location, and this private location can contain multiple agents (represented by shipIds).

    You will need the workspaceId(s) for your workspace (or workspaces) and the accountId as it is required as part of the creation process.

    You will also need to make sure that you have account admin access for the API Key that you use, as they are the only users that can create and change private locations.

    Create a Private Location

    Create a Private Location

    curl 'https://a.blazemeter.com/api/v4/private-locations' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"consoleXms":1024,"consoleXmx":4096,"engineXms":1024,"engineXmx":4096,"name":"My Private Location","slots":1,"threadsPerEngine":1000,"type":"large","overrideCPU":2,"overrideMemory":4096,"accountId":123456,"workspacesId":[123456]}'
    

    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 Private Location Create a Private Location Sample POST Body (JSON)

    {
      "consoleXms": 1024,
      "consoleXmx": 4096,
      "engineXms": 1024,
      "engineXmx": 4096,
      "name": "My Private Location",
      "slots": 1,
      "threadsPerEngine": 1000,
      "type": "large",
      "overrideCPU": 2,
      "overrideMemory": 4096,
      "accountId": 123456,
      "workspacesId": [
        123456
      ]
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5d1641a21726d36d4632fd34",
            "name": "My Private Location",
            "userId": 123456,
            "consoleXms": 1024,
            "consoleXmx": 4096,
            "engineXms": 1024,
            "engineXmx": 4096,
            "threadsPerEngine": 1000,
            "slots": 1,
            "type": "large",
            "hidden": false,
            "overrideCPU": 2,
            "overrideMemory": 4096,
            "created": 1561739682,
            "updated": 1561739682,
            "accountId": 123456,
            "workspacesId": [
                123456
            ],
            "ships": []
        },
        "request_id": "5d1641a1c3fd1"
    }
    

    API Explorer: /private-locations

    The steps for creating a private location are as follows:

    1. Create the private-locations object with the Create a Private Location API.
    2. Capture the harborId returned as id from the response.
    3. Add agent(s) to the private location by using the harborId, which is explained in the Create an Agent section.
    4. Capture the shipId returned as id from the response.
    5. Generate the docker run command using the shipId, which is explained in Generate Docker Command section.
    6. Go to step 5 of the Agent installation article and follow the reamining steps to complete the agent installation.

    Create a Private Location Attributes

    The following parameters are the parameters used to create a private location.

    Attribute Description
    consoleXms

    integer

    The minimum memory usage for JVM Arguments. Must match engineXms
    consoleXmx

    integer

    The maximum memory usage for JVM Arguments. Must match engineXmx
    engineXms

    integer

    The minimum memory usage for JVM Arguments. Must match consoleXms
    engineXmx

    integer

    The maximum memory usage for JVM Arguments. Must match consoleXmx
    name

    string

    The name of the private location

    required

    slots

    integer

    This controls the nubmer of "engines" that can run in one agent. If type is "large", this must be 1. If type is "small", this can vary
    threadsPerEngine

    integer

    The maximum number of threads per instance you can run with. The max value is plan dependent or 1000 threads, whichever is the smallest

    required

    type

    string

    The type of private location to create (only accepts "large" or "small"). The "large" version refers to the load engine, while the "small" version refers to a CI engine, as explained in this article

    required

    overrideCPU

    integer

    Sets the number of CPU(s) the agent will spin an instance up with
    overrideMemory

    integer

    Sets the amount of memory the agent will spin an instance up with
    accountId

    integer

    The accountId of your account

    required

    workspaceId

    integer

    Can contain a list of workspaceIds from the same account

    required


    Create an Agent

    Create an Agent

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34/servers' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"name":"My Agent"}'
    

    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 an Agent Create an Agent Sample POST Body (JSON)

    {
      "name": "My Agent"
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5d2657219583d81adc3778b4",
            "name": "My Agent",
            "state": "empty",
            "hasJetlag": false,
            "created": 1562793761,
            "updated": 1562793761,
            "ts": null
        },
        "request_id": "5d265720cf008"
    }
    

    API Explorer: /private-locations/{harborId}/servers

    To create an agent, POST the provided configuration (you will need to know the harborId). The sample code adds an agent to a private location with a harborId of 5d1641a21726d36d4632fd34 (the 5d1641a21726d36d4632fd34 is contained in the URL) with a new test name My Agent. To use this API, replace the harborId of 5d1641a21726d36d4632fd34 with your harborId and give the name attribute a name of your choosing.

    Create an Agent Request Attributes

    The following parameters are the parameters used to create a private location

    Attribute Description
    name

    string

    The name of the agent

    required

    Generate Docker Command

    Generate Docker Command

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34/ships/5d2657219583d81adc3778b4/docker-command' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "dockerCommand": "docker run -d --env HARBOR_ID=5d1641a21726d36d4632fd34 --env SHIP_ID=5d2657219583d81adc3778b4 --env AUTH_TOKEN=3be47b20b76e228283899b482d55db7fb0f3bffac6f07fa6bbb10ddb5bcbcc8c --name=bzm-crane-5d2657219583d81adc3778b4 --restart=on-failure -v /var/run/docker.sock:/var/run/docker.sock -w /usr/src/app/ -v /tmp:/tmp --net=host blazemeter/crane python agent/agent.py"
        },
        "request_id": "5d265c1c0594e"
    }
    

    API Explorer: /private-locations/{harborId}/ships/{shipId}/docker-command

    To generate a Docker command, POST the provided configuration (you will need to know the harborId and shipId). The sample code generates a docker run command for the agent with shipId of 5d2657219583d81adc3778b4 and the private location with harborId of 5d1641a21726d36d4632fd34. To use this API, replace the harborId of 5d1641a21726d36d4632fd34 with your harborId and the shipId of 5d2657219583d81adc3778b4 with your shipId.

    Generate Docker Command Response Attributes

    The following parameters are the parameters used to create a private location

    Attribute Description
    dockerCommand

    string

    The generated docker run command used for agent installation.

    read-only

    Add a Workspace to Private Location

    Add a Workspace to Private Location

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34/add-workspace' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret' \
        -d '{"workspaceId": 123456}'
    

    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 a Workspace to Private Location Add a Workspace to Private Location Sample POST Body (JSON)

    {
        "workspaceId": 234567
    }
    

    Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": "5d1641a21726d36d4632fd34",
            "name": "My Private Location",
            "userId": 123456,
            "consoleXms": 1024,
            "consoleXmx": 4096,
            "engineXms": 1024,
            "engineXmx": 4096,
            "threadsPerEngine": 1000,
            "slots": 1,
            "type": "large",
            "hidden": false,
            "created": 1562854534,
            "updated": 1562854573,
            "accountId": 130010,
            "shipsId": [
                {
                    "$oid": "5d2657219583d81adc3778b4"
                }
            ],
            "workspacesId": [
                123456,
                234567
            ],
            "ships": [
                {
                    "id": "5d2657219583d81adc3778b4",
                    "name": "My Agent",
                    "state": "empty",
                    "hasJetlag": false,
                    "created": 1561739682,
                    "updated": 1562854544,
                    "ts": null
                }
            ]
        },
        "request_id": "5d2744ad525c5"
    }
    

    API Explorer: /private-locations/{harborId}/add-workspace

    To create a workspace to your private location, POST the provided configuration (you will need to know the harborId and the worksapceId). The sample code adds workspaceId of 234567 to a private location with a harborId of 5d1641a21726d36d4632fd34 (the 5d1641a21726d36d4632fd34 is contained in the URL). To use this API, replace the harborId of 5d1641a21726d36d4632fd34 with your harborId and give the workspaceId of a workspace you want to add.

    Add a Workspace to Private Location Request Attributes

    The following parameters are the parameters used to create a private location

    Attribute Description
    workspaceId

    integer

    The workspaceId of the workspace to be added

    required

    Delete a Workspace in Private Location

    Delete a Workspace in Private Location

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34/workspaces/234567' \
        -X POST \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No content

    API Explorer: /private-locations/{harborId}/workspaces/{workspaceId}

    To delete a workspace from a private location, DELETE the provided configuration (you will need the harborId and workspaceId). The sample code deletes the workspaceId of 234567 from the private location with harborId of 5d1641a21726d36d4632fd34. To use this API, replace the workspaceId of 234567 with your workspaceId and replace the harborId of 5d1641a21726d36d4632fd34 with your harborId.

    Delete an Agent

    Delete an Agent

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34/servers/5d2657219583d81adc3778b4' \
        -X DELETE \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No Content

    API Explorer: /private-locations/{harborId}/servers/{shipId}

    To delete an agent, DELETE the provided configuration (you will need the harborId and shipId). The sample code deletes the shipId of 5d2657219583d81adc3778b4 from the private location with harborId of 5d1641a21726d36d4632fd34. To use this API, replace the shipId of 5d2657219583d81adc3778b4 with your shipId and replace the harborId of 5d1641a21726d36d4632fd34 with your harborId.

    Delete a Private Location

    Delete a Private Location

    curl 'https://a.blazemeter.com/api/v4/private-locations/5d1641a21726d36d4632fd34' \
        -X DELETE \
        -H 'Content-Type: application/json' \
        --user 'api_key_id:api_key_secret'
    

    Response 204 No Content

    API Explorer: /private-locations/{harborId}

    To delete an agent, DELETE the provided configuration (you will need the harborId). The sample code deletes the private location with harborId of 5d1641a21726d36d4632fd34. To use this API, replace the harborId of 5d1641a21726d36d4632fd34 with your harborId.

    Appendix

    This section contains additional details you may find useful as you progress in your use of the BlazeMeter API beyond typical use cases.

    Pagination

    Setting Pagination through Tests

    curl 'https://a.blazemeter.com/api/v4/tests?projectId=99&skip=10&limit=2' \
          -H 'Content-Type: application/json' \
          --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 2,
        "skip": 10,
        "total": 450,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 6633061,
                "name": "Test 2",
                "isNewTest": true,
                "userId": 344260,
                "created": 1550767182,
                "updated": 1550767182,
                "creatorClientId": "gui",
                "overrideExecutions": [
                    {
                        "concurrency": 20,
                        "executor": "",
                        "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
                        },
                        "scenario": "default-scenario"
                    }
                ],
                "shouldSendReportEmail": false,
                "projectId": 99,
                "lastUpdatedById": 344260,
                "configuration": {
                    "type": "taurus",
                    "executionType": "taurusCloud",
                    "threads": 500,
                    "testMode": "",
                    "plugins": {
                        "jmeter": {
                            "version": "auto"
                        },
                        "thresholds": {
                            "thresholds": [],
                            "ignoreRampup": false,
                            "slidingWindow": false
                        }
                    }
                }
            },
            {
                "id": 6630973,
                "name": "My Test",
                "isNewTest": true,
                "userId": 344260,
                "lastRunTime": 1550710526,
                "created": 1550702524,
                "updated": 1550714475,
                "creatorClientId": "gui",
                "overrideExecutions": [
                    {
                        "concurrency": 60000,
                        "executor": "jmeter",
                        "holdFor": "30m",
                        "locations": {
                            "us-east-1": 60000
                        },
                        "locationsPercents": {
                            "us-east-1": 100
                        },
                        "rampUp": "30m",
                        "steps": 0
                    }
                ],
                "executions": [
                    {
                        "concurrency": 60000,
                        "holdFor": "30m",
                        "rampUp": "30m",
                        "steps": 0,
                        "locations": {
                            "us-east-1": 60000
                        },
                        "locationsPercents": {
                            "us-east-1": 100
                        },
                        "executor": "jmeter",
                        "scenario": "default-scenario-6630973"
                    }
                ],
                "shouldSendReportEmail": false,
                "projectId": 99,
                "lastUpdatedById": 344260,
                "configuration": {
                    "type": "taurus",
                    "canControlRampup": false,
                    "targetThreads": 300,
                    "executionType": "taurusCloud",
                    "scriptType": "jmeter",
                    "threads": 300,
                    "filename": "Dummy.jmx",
                    "testMode": "",
                    "plugins": {
                        "jmeter": {
                            "version": "auto"
                        },
                        "thresholds": {
                            "thresholds": [],
                            "ignoreRampup": false,
                            "slidingWindow": false
                        }
                    }
                }
            }
        ]
    }
    
    

    Control the pagination of returned results using the skip and limit parameters.

    The sample code sets pagination for items with a projectId of 99. Use the actual ID values of the project or workspace to update their pagination.

    Sorting

    Setting Pagination through Tests

    curl 'https://a.blazemeter.com/api/v4/tests?projectId=99&sort[]=-updated' \
          -H 'Content-Type: application/json' \
          --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
        "limit": 10,
        "skip": 0,
        "total": 2,
        "hidden": 0,
        "api_version": 4,
        "error": null,
        "result": [
            {
                "id": 6776178,
                "name": "Dynatrace APM Test - Copy",
                "isNewTest": true,
                "userId": 344260,
                "created": 1555365941,
                "updated": 1555365941,
                "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-6776177"
                    }
                ],
                "shouldSendReportEmail": false,
                "projectId": 169410,
                "configuration": {
                    "type": "taurus",
                    "canControlRampup": false,
                    "targetThreads": 500,
                    "executionType": "taurusCloud",
                    "scriptType": "jmeter",
                    "threads": 500,
                    "filename": "Dummy.jmx",
                    "testMode": "",
                    "plugins": {
                        "jmeter": {
                            "version": "auto",
                            "consoleArgs": "",
                            "enginesArgs": ""
                        },
                        "thresholds": {
                            "thresholds": [],
                            "ignoreRampup": false,
                            "slidingWindow": false
                        }
                    }
                }
            },
            {
                "id": 6728358,
                "name": "Taurus YAML Configuration Test",
                "isNewTest": true,
                "userId": 344260,
                "lastRunTime": 1553625706,
                "created": 1553625654,
                "updated": 1553627839,
                "creatorClientId": "gui",
                "overrideExecutions": [],
                "executions": [
                    {
                        "concurrency": 5,
                        "holdFor": "180s",
                        "rampUp": "1s",
                        "locations": {
                            "us-east-1": 1
                        },
                        "locationsWeighted": true,
                        "executor": "jmeter",
                        "scenario": "simple"
                    }
                ],
                "shouldSendReportEmail": false,
                "projectId": 169410,
                "lastUpdatedById": 344260,
                "configuration": {
                    "type": "taurus",
                    "dedicatedIpsEnabled": false,
                    "executionType": "taurusCloud",
                    "scriptType": "taurus",
                    "threads": 500,
                    "filename": "Dummy.yml",
                    "testMode": "",
                    "plugins": {
                        "jmeter": {
                            "version": "auto",
                            "consoleArgs": "",
                            "enginesArgs": ""
                        },
                        "thresholds": {
                            "thresholds": [],
                            "ignoreRampup": false,
                            "slidingWindow": false
                        }
                    }
                }
            }
        ]
    }
    
    

    Control the sort of returned results using the sort[] parameter.

    Use sort[] to set the attribute you want to sort the response with. The attributes to focus on are updated, created, or name. If you place just the attribute as is (i.e. name), it will sort from least to greatest, or alphabetical order. If you want the opposite behavior, you can add a - before the attribute (i.e. -name). For example, to sort by updated from newest to oldest, set sort[]=-updated

    The sample code sets the sorting for items with a projectId of 99 by most recently updated to oldest update.

    Private Cloud

    Private Cloud users will have a slightly different experience when using the BlazeMeter APIs. These differences include the base URL that is used, API differences for specific cases, and some differences in the response.

    Using APIs in a Private Cloud Environment

    Private Cloud Environment Example

    curl 'https://your.internal.blazemeter.net/api/v4/user' \
        -H 'Content-Type: application/json' \
        --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"
        ],
    
        •••
    
        }
      }
    }
    

    The majority of the APIs present in this documentation will work the same as they do in the public version, with the main difference being the base URL that is used. Instead of https://a.blazemeter.com, users will need to use the internal URL used to access the Private Cloud instance.

    In the example provided, the Private Cloud instance uses the URL of https://your.internal.blazemeter.net. We replace the https://a.blazemeter.com URL with the internal URL and then run the API using that uRL. This will then return a response in the same manner as it would in the public cloud.

    Upload or Update Data Files in Private Cloud

    Upload or Update Data Files in Private Cloud

    curl 'https://your.internal.blazemeter.net/api/v4/collections/10033948/files/data' \
        -X POST \
        -F 'file=@/my/path/to/colors.csv' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
      "result": {
        "collectionType": "multiV4", 
        "created": 1563825326, 
        "creatorClientId": "gui", 
        "dataFiles": [], 
        "description": null, 
        "draftId": null, 
        "filesToSplit": [], 
        "id": 10033948, 
        "items": null, 
        "kpiTrackingData": null, 
        "lastRunTime": null, 
        "lastUpdatedById": 552981, 
        "masters": [], 
        "migratedFromTestCollectionId": null, 
        "migratedToTestId": null, 
        "name": "July_22_2:55 PM - Multi Test", 
        "note": null, 
        "oldVersionId": null, 
        "projectId": 401034, 
        "shouldSendReportEmail": true, 
        "testsForExecutions": [
          {
            "executions": [
              {
                "concurrency": 25, 
                "executor": "jmeter", 
                "holdFor": "19m", 
                "locations": {
                  "harbor-5d2cecc61391a8f318703bd5": 25
                }, 
                "locationsPercents": {
                  "harbor-5d2cecc61391a8f318703bd5": 100
                }, 
                "rampUp": "1m", 
                "scenario": "default-scenario-6936475", 
                "steps": 0, 
                "testId": 6936475
              }
            ], 
            "overrideExecutions": [
              {
                "concurrency": 25, 
                "executor": "jmeter", 
                "holdFor": "19m", 
                "locations": {
                  "harbor-5d2cecc61391a8f318703bd5": 25
                }, 
                "locationsPercents": {
                  "harbor-5d2cecc61391a8f318703bd5": 100
                }, 
                "rampUp": "1m", 
                "steps": 0
              }
            ], 
            "testId": 6936475
          }, 
          {
            "executions": [
              {
                "concurrency": 20, 
                "executor": "jmeter", 
                "holdFor": "19m", 
                "locations": {
                  "harbor-5d2cecc61391a8f318703bd5": 20
                }, 
                "locationsPercents": {
                  "harbor-5d2cecc61391a8f318703bd5": 100
                }, 
                "rampUp": "1m", 
                "scenario": "default-scenario-6952118", 
                "steps": 0, 
                "testId": 6952118
              }
            ], 
            "overrideExecutions": [
              {
                "concurrency": 20, 
                "executor": "jmeter", 
                "holdFor": "19m", 
                "locations": {
                  "harbor-5d2cecc61391a8f318703bd5": 20
                }, 
                "locationsPercents": {
                  "harbor-5d2cecc61391a8f318703bd5": 100
                }, 
                "rampUp": "1m", 
                "steps": 0
              }
            ], 
            "testId": 6952118
          }
        ], 
        "underMigration": null, 
        "updated": 1563825332, 
        "userId": 552981, 
        "v4MigratedDate": null
      }
    }
    

    API Explorer: /collections/{collectionId}/files/data

    To upload a data file asset to a multi test, POST the file to the collectionId (you need to know the collectionId of the created multi 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/colors.csv) to a multi test with an ID of 10033948. Replace @/my/path/to/colors.csv with the actual path and file name and 10033948 with your collectionId.

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

    Upload or Update Files to Shared Folders in Private Cloud

    Upload or Update Files to Shared Folders in Private Cloud

    curl 'https://your.internal.blazemeter.net/api/v4/folders/5d2f86f30cfb1d84717bf4a3/files' \
        -X POST \
        -F 'file=@/my/path/to/colors.csv' \
        --user 'api_key_id:api_key_secret'
    

    Response 200 OK

    {
      "created": 1563395827, 
      "files": [], 
      "id": "5d2f86f30cfb1d84717bf4a3", 
      "name": "myFolder", 
      "workspaceId": 320731
    }
    

    API Explorer: /folders/{folderId}/files

    To upload a file asset to a shared folder, POST the file to the folderId (you need to know the folderId of the folder). 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/colors.csv) to a folder with an ID of 5d2f86f30cfb1d84717bf4a3. Replace @/my/path/to/colors.csv with the actual path and file name and 5d2f86f30cfb1d84717bf4a3 with your folderId.

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

    The Test Object

    Test Complete Example Test Complete Example POST Body (JSON)

    {
        "name": "Test with Everything Set",
        "description": "This test uses every configuration we have.",
        "overrideExecutions": [
            {
                "concurrency": 20,
                "executor": "jmeter",
                "holdFor": "19m",
                "locations": {
                    "us-east-1": 10,
                    "us-east-2": 10
                },
                "locationsPercents": {
                    "us-east-1": 50,
                    "us-east-2": 50
                },
                "rampUp": "1m",
                "steps": 10,
                "throughput": 20
            }
        ],
        "projectId": 167798,
        "configuration": {
            "type": "taurus",
            "targetThreads": 250,
            "dedicatedIpsEnabled": true,
            "javaVersion": "9",
            "enableJMeterProperties": true,
            "enableHostsOverride": true,
            "enableFailureCriteria": true,
            "enableNetworkEmulation": true,
            "scriptType": "jmeter",
            "threads": 250,
            "filename": "Dummy.jmx",
            "plugins": {
                "remoteControl": [
                    {
                        "key": "MyProperty1",
                        "value": "MyValue1"
                    },
                    {
                        "key": "MyProperty2",
                        "value": "MyValue2"
                    }
                ],
                "splitCSV": {
                        "enabled": true
                },
                "hosts": [
                    {
                        "hostname": "my.hostname.com",
                        "ip": "10.10.10.10"
                    }
                ],
                "sharedFolders": [
                        "58e29fd7ca293bbb5c05776f"
                ],
                "jmeter": {
                    "version": "auto",
                    "consoleArgs": "",
                    "enginesArgs": ""
                },
                "network": {
                    "preset": "3G-good",
                    "latency": 90,
                    "bandwidth": 850,
                    "packetloss": 0
                },
                "thresholds": {
                    "thresholds": [
                        {
                            "field": "responseTime.avg",
                            "label": "ALL",
                            "op": "gt",
                            "stopTestOnViolation": false,
                            "value": "1000",
                            "isEmpty": false
                        },
                        {
                            "field": "errors.percent",
                            "label": "ALL",
                            "op": "gt",
                            "stopTestOnViolation": true,
                            "value": "10",
                            "isEmpty": false
                        }
                    ],
                    "ignoreRampup": true,
                    "slidingWindow": true
                },
                "dynaTrace": {
                    "enabled": true,
                    "method": "fullIntegration",
                    "profiles": [
                        "5b688a9d48fbff415d7b23cb"
                    ],
                    "profilesId": null
                },
                "userExperience": {
                    "enabled": true,
                    "pages": [
                        {
                            "label": "Demoblaze Homepage",
                            "url": "https://demoblaze.com"
                        },
                        {
                            "label": "BlazeDemo Homepage",
                            "url": "http://blazedemo.com"
                        }
                    ]
                }
            }
        }
    }
    

    Full Settings Sample Test Response 201 Created

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 6658962,
            "isNewTest": true,
            "name": "Test with Everything Set",
            "description": "This test uses every configuration we have.",
            "userId": 344260,
            "creatorClientId": "api",
            "overrideExecutions": [
                {
                    "executor": "jmeter",
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "concurrency": 20,
                    "locations": {
                        "us-east-1": 10,
                        "us-east-2": 10
                    },
                    "locationsPercents": {
                        "us-east-1": 50,
                        "us-east-2": 50
                    },
                    "steps": 0,
                    "throughput": 20
                }
            ],
            "executions": [
                {
                    "concurrency": 20,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "throughput": 20,
                    "locations": {
                        "us-east-1": 20
                    },
                    "locationsPercents": {
                        "us-east-1": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6658962"
                },
                {
                    "concurrency": 1,
                    "holdFor": "1200s",
                    "executor": "selenium",
                    "executionSource": "endUserExperience",
                    "scenario": "endUserExperienceMonitoring"
                }
            ],
            "shouldSendReportEmail": true,
            "created": 1551820070,
            "updated": 1551911094,
            "projectId": 167798,
            "lastUpdatedById": 344260,
            "configuration": {
                "type": "taurus",
                "dedicatedIpsEnabled": true,
                "javaVersion": "9",
                "canControlRampup": false,
                "targetThreads": 500,
                "executionType": "taurusCloud",
                "enableJMeterProperties": true,
                "enableHostsOverride": true,
                "enableFailureCriteria": true,
                "enableNetworkEmulation": true,
                "scriptType": "jmeter",
                "threads": 500,
                "filename": "Dummy.jmx",
                "plugins": {
                    "remoteControl": [
                        {
                            "key": "MyProperty1",
                            "value": "MyValue1"
                        },
                        {
                            "key": "MyProperty2",
                            "value": "MyValue2"
                        }
                    ],
                    "hosts": [
                        {
                            "hostname": "my.hostname.com",
                            "ip": "10.10.10.10"
                        }
                    ],
                    "sharedFolders": [
                        "58e29fd7ca293bbb5c05776f"
                    ],
                    "jmeter": {
                        "version": "auto",
                        "consoleArgs": "",
                        "enginesArgs": ""
                    },
                    "network": {
                        "preset": "3G-good",
                        "latency": 90,
                        "bandwidth": 850,
                        "packetloss": 0
                    },
                    "thresholds": {
                        "thresholds": [
                            {
                                "field": "responseTime.avg",
                                "label": "ALL",
                                "op": "gt",
                                "stopTestOnViolation": false,
                                "value": "1000",
                                "isEmpty": false
                            },
                            {
                                "field": "errors.percent",
                                "label": "ALL",
                                "op": "gt",
                                "stopTestOnViolation": true,
                                "value": "10",
                                "isEmpty": false
                            }
                        ],
                        "ignoreRampup": true,
                        "slidingWindow": true
                    },
                    "dynaTrace": {
                        "enabled": true,
                        "method": "fullIntegration",
                        "profiles": [
                            "5b688a9d48fbff415d7b23cb"
                        ],
                        "profilesId": null
                    },
                    "userExperience": {
                        "enabled": true,
                        "pages": [
                            {
                                "label": "Demoblaze Homepage",
                                "url": "https://demoblaze.com"
                            },
                            {
                                "label": "BlazeDemo Homepage",
                                "url": "http://blazedemo.com"
                            }
                        ],
                        "scenarios": [
                            {
                                "filename": "Selenium.yaml",
                                "scenario": "blabityblah-Selenium"
                            }
                        ]
                    }
                }
            }
        }
    }
    

    Use the BlazeMeter API to create and configure tests. The Full Settings Sample Test Response illustrates the response when a test object has been created.

    When you create a test, you do not need to provide values for all parameters. See Create a Test for instructions on how to create a test and the minimum required parameters.

    Test Object Response Attributes

    Attribute Description
    id

    integer

    The unique identifier of the test. This is known as the testId and cannot be modified

    read-only

    name

    string

    The test name

    required

    description

    string

    A description of the test
    isNewTest

    boolean

    Denotes this is a new test. Always True

    read-only

    userId

    integer

    The unique identifier of the user

    read-only

    creatorClientId

    string

    The ID of the creator client. For example, api, or gui

    read-only

    shouldSendReportEmail

    boolean

    Sets the box for whether an email is sent upon completion of a test run
    created

    integer

    The time that the test was created

    read-only

    updated

    integer

    The time that the test was last updated

    read-only

    projectId

    integer

    The projectId to which this test belongs
    lastUpdateById

    string

    The ID of the last user that updated the test

    read-only

    executor

    string

    The script type you are running (similar to executor in Taurus). Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege
    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus). Values can be provided in m (minutes) only.
    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus). Values can be provided in m (minutes) only.
    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the number of users you want to run on that location. Use this OR locationsPercents data, not both.
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the percentage of users you want to run on that location. Use this OR locations data, not both.
    steps

    integer

    The number of rampup steps (same as steps in Taurus). This can be empty
    throughput

    integer

    The maximum throughput allowed (same as throughput in Taurus). This can be empty
    Minimum: 1
    Maximum: concurrency value

    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus

    read-only

    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus)

    read-only

    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus)

    read-only

    steps

    integer

    The number of rampup steps (same as steps in Taurus)

    read-only

    throughput

    integer

    The maximum throughput allowed (same as throughput in Taurus).

    read-only

    location Id

    integer

    Number of engines a test runs with in the given location Ids

    read-only

    location Id

    integer

    Percentage of concurrency run in the given location Ids

    read-only

    executor

    string

    The script type you are running. Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege

    read-only

    executionSource

    string

    Tells BlazeMeter to run the selenium scenario for End User Experience under these settings

    read-only

    scenario

    string

    BlazeMeter scenario reference for GUI reports

    read-only


    type

    string

    The test type. Must be taurus

    required

    dedicatedIpsEnabled

    boolean

    Use dedicated IPs for test. Must have dedicated IPs for ALL locations configured
    javaVersion

    string

    Sets the Java version for the test. ONLY works for JMeter tests. Valid values:
    1.7
    1.8
    9
    11
    canControlRampup

    boolean

    If the user includes a Concurrency Thread Group in their JMX, this parameter indicates if the feature for pausing and resuming ramp-up is enabled

    read-only

    targetThreads

    integer

    The target number of threads. For example: 500

    read-only

    executionType

    boolean

    This is the execution BlazeMeter uses to run the test. Always will be taurusCloud

    read-only

    enableJMeterProperties

    boolean

    Enables the JMeter Properties plugin
    enableHostsOverride

    boolean

    Enables the Hosts Override plugin
    enableFailureCriteria

    boolean

    Enables the Failure Criteria plugin
    enableNetworkEmulation

    boolean

    Enables the Network Emulation plugin
    scriptType

    string

    The script types available. Includes:
    apiritif
    gatling
    grinder
    jmeter
    locust
    nose
    pbench
    pytest
    robot
    selenium
    siege
    taurus

    required

    threads

    integer

    The number of threads each engine (serversCount) should use. For example, 250.
    Minimum: 1
    Maximum: 1000 OR plan limit
    fileName

    string

    The name of the file to start test with. For example, BlazeDemoTest.jmx. Note: You must also upload the file - see Upload or Update Asset Files.

    required

    key

    string

    The JMeter property name that is referenced in your JMeter script. ONLY available with JMeter tests.
    value

    string

    The value you want to use in the JMeter propery. ONLY available with JMeter tests.
    hostname

    string

    The host IP or DNS (i.e. my.hostname.com)
    ip

    string

    The host IP/DNS override (i.e. 127.0.0.1)
    sharedFolders

    array

    List of folderIds to be included
    version

    string

    Set the JMeter version. Valid values:
    auto
    5.1
    5.0
    4.0
    3.3
    3.2
    3.1
    3.0
    2.13
    preset

    string

    The name of this network emulation profile, if one of the preset configurations. Valid values:
    Custom
    Internet (Unlimited)
    WiFi
    3G-good
    3G-normal
    3G-poor
    LTE
    Cable
    DSL
    Edge-good
    Edge-normal
    Edge-poor
    latency

    integer

    The network delay to simulate in milliseconds (customizable only for Custom preset value). For example, 1050. Minimum: 0 Maximum: 5000
    bandwidth

    integer

    The network speed to simulate in kbps (customizable only for Custom preset value). For example, 202703. Minimum: 0 Maximum: 300000
    packetloss

    integer

    The percent of packet loss to simulate (customizable only for Custom preset value). For example, 24. Minimum: 0, maximum: 100
    field

    string

    The failure criteria field title. For example, responseTime.min. Valid values:
    responseTime.avg
    responseTime.percentile.0
    responseTime.percentile.50
    responseTime.percentile.90
    responseTime.percentile.95
    responseTime.percentile.99
    responseTime.min
    responseTime.max
    responseTime.std
    connectTime.avg
    latency.avg
    size.count
    size.avg
    size.rate
    hit.count
    hits.avg
    hits.rate
    duration.count
    errors.count
    errors.percent
    errors.rate
    label

    string

    The label relevant to failure criteria. Specify ALL for all labels
    op

    string

    The operation is used when checking the failure criteria against the real value. Includes: eq (equal), gt (greater than), lt (less than), ne (not equal)
    value

    string

    The failure criteria to check against. For example, 111. Times are in milliseconds (ms)
    stopTestOnViolation

    boolean

    Whether to terminate the test if the failure criteria rule has failed. Default: false. Must have slidingWindow set to true to use.
    ignoreRampup

    boolean

    Whether to ignore failure criteria during rampup. Default: false. Must have slidingWindow set to true to use.
    slidingWindow

    boolean

    Whether to run failure criteria checks using a sliding window of one minute. Default: false
    enabled

    boolean

    Denotes if the APM is enabled
    method

    string

    Signifies what type of integration to use (i.e. one-way or two-way)
    profiles

    array

    List of profiles to include with the integration
    enabled

    boolean

    Denotes if the End User Experience is enabled
    pages

    array

    Signifies what type of integration to use (i.e. one-way or two-way)
    profiles

    array

    List of profiles to include with the integration
    label

    string

    Label of the URL you a testing
    url

    string

    URL to be tested
    filename

    string

    The filename of the Selenium file
    scenario

    string

    Scenario for the file

    read-only

    The Multi Test Object

    Multi Test Complete Example Example Response (JSON)

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 10027459,
            "name": "My Complete Multi Test",
            "description": "This is an update.",
            "collectionType": "multiV4",
            "userId": 344260,
            "items": [],
            "oldVersionId": null,
            "lastRunTime": null,
            "draftId": null,
            "filesToSplit": [
                "colors.csv"
            ],
            "dataFiles": [
                "colors.csv",
                "colors-1.csv"
            ],
            "creatorClientId": "api",
            "testsForExecutions": [
                {
                    "testId": 6426953,
                    "executions": [
                        {
                            "concurrency": 10,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "locations": {
                                "us-east-1": 5,
                                "us-east-2": 5
                            },
                            "locationsPercents": {
                                "us-east-1": 50,
                                "us-east-2": 50
                            },
                            "executor": "jmeter",
                            "testId": 6426953,
                            "scenario": "default-scenario-6426953"
                        }
                    ],
                    "overrideExecutions": [
                        {
                            "concurrency": 10,
                            "executor": "jmeter",
                            "holdFor": "19m",
                            "locations": {
                                "us-east-1": 5,
                                "us-east-2": 5
                            },
                            "locationsPercents": {
                                "us-east-1": 50,
                                "us-east-2": 50
                            },
                            "rampUp": "1m",
                            "steps": 0,
                            "locationsWeighted": null
                        }
                    ]
                },
                {
                    "testId": 6490190,
                    "executions": [
                        {
                            "concurrency": 20,
                            "holdFor": "19m",
                            "rampUp": "1m",
                            "steps": 0,
                            "throughput": 20,
                            "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,
                            "throughput": 20
                        }
                    ]
                }
            ],
            "migratedFromTestCollectionId": null,
            "migratedToTestId": null,
            "v4MigratedDate": null,
            "underMigration": null,
            "shouldSendReportEmail": true,
            "created": 1552063283,
            "updated": 1552153939,
            "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": []
        }
    }
    

    Use the BlazeMeter API to create and configure multi tests. The Multi Test Complete Example illustrates the response when a mult test object has been created.

    When you create a multi test, you do not need to provide values for all parameters. See Create a Multi Test for instructions on how to create a test and the minimum required parameters.

    Multi Test Object Response Attributes


    Attribute Description
    id

    integer

    The unique identifier of the test. This is known as the collectionId and cannot be modified

    read-only

    name

    string

    The test name

    required

    description

    string

    A description of the test
    collectionType

    string

    The type of multi test. Always will be multiV4

    required

    userId

    integer

    The unique identifier of the user

    read-only

    lastRunTime

    integer

    Time the test was last run

    read-only

    filesToSplit

    string array

    List of data files that have split CSV turned on
    dataFiles

    string array

    List of data files attached to multi test
    creatorClientId

    string

    The ID of the creator client. For example, api, or gui

    read-only

    testId

    integer

    The testId of test within multi test
    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus

    read-only

    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus)

    read-only

    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus)

    read-only

    steps

    integer

    The number of rampup steps (same as steps in Taurus)

    read-only

    throughput

    integer

    The maximum throughput allowed (same as throughput in Taurus).

    read-only

    location Id

    integer

    Number of engines a test runs with in the given location Ids

    read-only

    location Id

    integer

    Percentage of concurrency run in the given location Ids

    read-only

    executor

    string

    The script type you are running. Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege

    read-only

    testId

    integer

    The testId of test within multi test

    read-only

    scenario

    string

    BlazeMeter scenario reference for GUI reports

    read-only


    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus
    executor

    string

    The script type you are running (similar to executor in Taurus). Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege
    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus). Values can be provided in m (minutes) only.
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the number of users you want to run on that location. Use this OR locationsPercents data, not both.
    location Id

    integer

    A location Id is needed to reference the correct location. You can add more locations as key-pair values as needed. The value will be the percentage of users you want to run on that location. Use this OR locations data, not both.
    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus). Values can be provided in m (minutes) only.
    steps

    integer

    The number of rampup steps (same as steps in Taurus). This can be empty
    throughput

    integer

    The maximum throughput allowed (same as throughput in Taurus). This can be empty
    Minimum: 1
    Maximum: concurrency value

    shouldSendReportEmail

    boolean

    Sets the box for whether an email is sent upon completion of a test run
    created

    string

    The time that the test was created

    read-only

    updated

    string

    The time that the test was last updated

    read-only

    projectId

    integer

    The projectId to which this test belongs

    read-only

    lastUpdateById

    string

    The ID of the last user that updated the test

    read-only

    Test Object

    object

    See the Test Object Attributes for the full deatils of this section.

    read-only

    The Master Object

    Master Complete Example Response 200 OK

    {
        "api_version": 4,
        "error": null,
        "result": {
            "id": 19624052,
            "name": "Full Test Example for Master Object Breakdown",
            "userId": 344260,
            "publicToken": "pjjynzCZOjRZhCyElgHOtUFlMuCJHS7PWD9a1HNBTRhtmQM3kH",
            "ended": 1559328519,
            "lastUpdate": 1559327077,
            "delayedStartReady": true,
            "runnerUserId": 344260,
            "charges": [],
            "maxUsers": 10,
            "created": 1559326987,
            "updated": 1559336628,
            "passed": false,
            "parallelTestsInWorkspace": 1,
            "parallelTestsInAccount": 1,
            "isPrivateData": false,
            "creatorClientId": "gui",
            "executorClientId": "gui",
            "secondsPerLabelDoc": 60,
            "labelsCollectionSuffix": "_17_12",
            "isDebugRun": false,
            "locations": [
                "us-east4-a"
            ],
            "scenariosMapping": [
                {
                    "id": "2a6f5abf9420fcb9d2ca741d059bd85d423d421c7b267ba44e17900a3cc8608e",
                    "name": "default-scenario-6650476",
                    "test": "Full Test Example for Master Object Breakdown",
                    "isEndUserExperience": false
                },
                {
                    "id": "21195a70c62e0f169c1fbfd9a3f750d33d776a3ae97f1c8f028fc5fce74d2011",
                    "name": "endUserExperienceMonitoring",
                    "test": "Full Test Example for Master Object Breakdown",
                    "isEndUserExperience": true
                }
            ],
            "executions": [
                {
                    "concurrency": 10,
                    "holdFor": "19m",
                    "rampUp": "1m",
                    "steps": 0,
                    "locations": {
                        "us-east4-a": 10
                    },
                    "locationsPercents": {
                        "us-east4-a": 100
                    },
                    "executor": "jmeter",
                    "scenario": "default-scenario-6650476"
                },
                {
                    "concurrency": 1,
                    "holdFor": "1200s",
                    "executor": "selenium",
                    "executionSource": "endUserExperience",
                    "scenario": "endUserExperienceMonitoring"
                }
            ],
            "useV4Pipeline": true,
            "isSelenium": false,
            "hasMonitoringData": true,
            "rpsCompatible": false,
            "remoteControlCompatible": true,
            "hasDaggerData": true,
            "properties": [
                {
                    "pairs": [
                        {
                            "key": "MyProperty",
                            "value": "MyValue"
                        }
                    ],
                    "testId": 6650476,
                    "locations": [
                        "us-east4-a"
                    ],
                    "scenarios": [
                        "2a6f5abf9420fcb9d2ca741d059bd85d423d421c7b267ba44e17900a3cc8608e",
                        "21195a70c62e0f169c1fbfd9a3f750d33d776a3ae97f1c8f028fc5fce74d2011"
                    ]
                }
            ],
            "testId": 6650476,
            "projectId": 167798,
            "sessionsId": [
                "r-v4-5cf1710bd3fe1",
                "r-eux-5cf1710bd92d9"
            ],
            "thumbnailUrl": null,
            "hasErrorsPerInterval": true,
            "sessions": [
                "r-v4-5cf1710bd3fe1",
                "r-eux-5cf1710bd92d9"
            ],
            "detailedSessions": [
                {
                    "id": "r-eux-5cf1710bd92d9",
                    "name": "End UX Monitoring for: Full Test Example for Master Object Breakdown",
                    "location": "us-east4-a"
                },
                {
                    "id": "r-v4-5cf1710bd3fe1",
                    "name": "Full Test Example for Master Object Breakdown",
                    "location": "us-east4-a"
                }
            ],
            "labels": [
                {
                    "id": "ALL",
                    "name": "ALL",
                    "sessions": [
                        "r-v4-5cf1710bd3fe1"
                    ]
                },
                {
                    "id": "ccaa6dfe2a73b3edc91c6e542b11dd5c",
                    "name": "Dummy Sample 1 sec response",
                    "sessions": [
                        "r-v4-5cf1710bd3fe1"
                    ]
                },
                {
                    "id": "b242dbc970fb6f95820d7a5d64dff172",
                    "name": "Dummy Sample 2 sec response",
                    "sessions": [
                        "r-v4-5cf1710bd3fe1"
                    ]
                },
                {
                    "id": "bb936cc0b2a373c3c3c093f69d4cbb08",
                    "name": "Dummy Sample 5 sec response",
                    "sessions": [
                        "r-v4-5cf1710bd3fe1"
                    ]
                },
                {
                    "id": "1e8c6cc297e93cdf0e04db9ce9a4adfe",
                    "name": "Dummy Sample 500 max response",
                    "sessions": [
                        "r-v4-5cf1710bd3fe1"
                    ]
                }
            ],
            "jetpackLabels": [
                {
                    "id": "b5c7aed7cd2a308523e7d2847b7815909e864b2fd9c4ea88b00d35adb2ecdfd7",
                    "name": "ALL"
                },
                {
                    "id": "aa66bf0097386e72c10315745ffed811ae2707b6d48b2fd05df9510615c71158",
                    "name": "Dummy Sample 500 max response"
                },
                {
                    "id": "f5d6402c5aacbfa32134a0ad31fcc6de5300a9b3966264350bd462b19305ecbb",
                    "name": "Dummy Sample 2 sec response"
                },
                {
                    "id": "883ced7ab4e8aecee91719becdbdb09916b34dcc1a5ba78a1c3453d4a2eb3006",
                    "name": "Dummy Sample 5 sec response"
                },
                {
                    "id": "9ed35d26cbb13b431002a72d1614138bbf2ec35afa0c834f82f2898372ed3b33",
                    "name": "Dummy Sample 1 sec response"
                }
            ],
            "shouldUseDaggerReport": true
        },
        "request_id": "5cf196ba7856f"
    }
    

    Use the BlazeMeter API to create masters. The Master Complete Example Response illustrates the response when a master object has been created.

    When you create a master, all you need to do is Start a Test or Start a Multi Test. See List All Test Runs for instructions on how to get the example response.

    Master Object Response Attributes

    Attribute Description
    id

    integer

    The unique identifier of the master. This is known as the masterId and cannot be modified

    read-only

    name

    string

    The test report name

    required

    userId

    integer

    The user ID of the user to access the API

    read-only

    publicToken

    string

    The public token that is added to the report link to share the report

    read-only

    ended

    integer

    End time of this master (or test report)

    read-only

    lastUpdated

    integer

    Time of last sample of this master (or test report)

    read-only

    delayedStartReady

    boolean

    Denotes whether the test run was delayed to sync with other engines

    read-only

    runnerUserId

    string

    The user ID of the user to run the test

    read-only

    maxUsers

    integer

    Maximum concurrency reached

    read-only

    created

    integer

    The time that the test was created

    read-only

    updated

    integer

    The time that the test was last updated

    read-only

    passed

    boolean

    Denotes whether the test run passed or failed its test criteria. See the Thresholds Statistics section for details

    read-only

    parallelTestsInWorkspace

    integer

    Number of tests running in parallel in the workspace with this test

    read-only

    parallelTestsInAccount

    integer

    Number of tests running in parallel in the account with this test

    read-only

    isPrivateData

    boolean

    Denotes if the data was generated from Private Cloud instance

    read-only

    creatorClientId

    boolean

    The ID of the creator client of the test. For example, api, or gui

    read-only

    executorClientId

    boolean

    The ID of the creator client of the test run (master). For example, api, or gui

    read-only

    secondsPerLableDoc

    integer

    Denotes the KPI interval of the reports by default

    read-only

    isDebugRun

    boolean

    Denotes if this was a Debug test run

    read-only

    location ID

    string

    Contains the location ID(s) the test ran in

    id

    string

    The scenarioId of the scenario
    name

    string

    The name of the scenario displayed in the GUI report
    test

    string

    The test name the scenario is attached to
    isEndUserExperience

    boolean

    Denotes if the scenario used the End User Experience feature
    concurrency

    integer

    The number of concurrent virtual users simulated to run on this location. For example, 20 will set the test to run with 20 concurrent users. Minimum: 1. Same as concurrency in Taurus

    read-only

    holdFor

    string

    The length of time the test will run at the peak concurrency (same as hold-for in Taurus)

    read-only

    rampUp

    string

    The length of time the test will take to ramp-up to full concurrency (same as ramp-up in Taurus)

    read-only

    steps

    integer

    The number of rampup steps (same as steps in Taurus)

    read-only

    throughput

    integer

    The maximum throughput allowed (same as throughput in Taurus).

    read-only

    location Id

    integer

    Number of engines a test runs with in the given location Ids

    read-only

    location Id

    integer

    Percentage of concurrency run in the given location Ids

    read-only

    executor

    string

    The script type you are running. Includes the following:
    gatling
    grinder
    jmeter
    locust
    pbench
    selenium
    siege

    read-only

    executionSource

    string

    Tells BlazeMeter to run the selenium scenario for End User Experience under these settings

    read-only

    scenario

    string

    BlazeMeter scenario reference for GUI reports

    read-only


    isSelenium

    boolean

    Denotes if this test ran with Selenium

    read-only

    hasMonitoringData

    boolean

    Denotes if this test ran with Selenium

    read-only

    rpsCompatible

    boolean

    Denotes if this test ran with the RPS control feature

    read-only

    remoteControlCompatible

    boolean

    Denotes if this test ran with the Remote Control feature

    read-only

    key

    string

    The JMeter property name

    read-only

    value

    string

    The JMeter property value

    read-only

    testId

    integer

    Denotes if the testId tied to the master (or test report)

    read-only

    location ID

    string

    Contains the location ID(s) the JMeter property was applied to
    scenarioId

    string

    Contains the scenarioId(s) the JMeter property was applied to

    testId

    integer

    Denotes if the testId tied to the master (or test report)

    read-only

    testCollectionId

    integer

    Denotes if the collectionId tied to the master (or test report)

    read-only

    projectId

    integer

    Denotes if the projectId the master (or test report) is located

    read-only

    sessionId

    string

    Contains a list of all the sessionIds assigned to the master (or test report)

    read-only



    sessionId

    string

    Contains a list of all the sessionIds assigned to the master (or test report)

    read-only



    id

    string

    Contains the sessionId of this session

    read-only

    name

    string

    Contains the name of the scenario attached to this session

    read-only

    location

    string

    Contains the location ID the session ran on

    read-only


    id

    string

    Contains the labelId of this session (Legacy labelId)

    read-only

    name

    string

    Contains the name of the label attached to the labelId

    read-only

    sessionId

    string

    The sessionIds the label originated from

    read-only


    id

    string

    Contains the labelId of this session (Main labelId)

    read-only

    name

    string

    Contains the name of the label attached to the labelId

    read-only

    Glossary

    This section covers the various terms that are used throughout the APIs discussed.

    Account ID

    This is the unique identifier of an account. It is used in the following APIs:

    It is found through the BlazeMeter URL, using the following example:

    https://a.blazemeter.com/app/#/accounts/{account ID}...

    The number tha comes after accounts in the example above is the Account ID.

    concurrency

    The Taurus Term used to describe the number of concurrent users to run the test with. It is used in the following APIs:

    It is found in the response of the following APIs:

    Collection ID

    This is the unique identifier of a multi test. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    executor

    The Taurus Term used to describe the execution type for a test (i.e. JMeter, Selenium, Gatling, etc.). It is used in the following APIs:

    It is found in the response of the following APIs:

    Folder ID

    This is the unique identifier of the shared folder. It is used in the following APIs:

    It is found in the response of the following APIs:

    Harbor ID

    This is the unique identifier of the private location. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method of finding this value, visit this article.

    hold-for

    The Taurus Term to describe the length of time the test will run at the full concurrency settings. It is used in the following APIs:

    It is found in the response of the following APIs:

    Label ID

    This is the unique identifier of a label in a master (or test report). It is used in the following APIs:

    It is found in the response of the following APIs:

    Location ID

    This is the unique identifier for a cloud location or a private location. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    Master ID

    This is the unique identifier that identifies a test run. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    Project ID

    This is the unique identifier that identifies a given project. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    ramp-up

    The Taurus Term to describe the time it takes to ramp up to the full concurrency set. It is used in the following APIs:

    It is found in the response of the following APIs:

    Scenario ID

    This is the unique identifier that identifies a scenario in a test run. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    Schedule ID

    This is the unique identifier that identifies a scheduled test run. It is used in the following APIs:

    It is found in the response of the following APIs:

    Session ID

    This is the unique identifier that identifies a session in a test run. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    Ship ID

    This is the unique identifier of an agent withing a private location. It is used in the following APIs:

    It is found in the response of hte following APIs

    For another method of finding this value, visit this article.

    steps

    The Taurus Term for describing the number of steps the rampup will use (i.e. setting this to 3 will make the ramp up increase 3 times during the ramp up period). It is used in the following APIs:

    It is found in the response of the following APIs:

    Test ID

    This is the unique identifier that identifies a test. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.

    Workspace ID

    This is the unique identifier that identifies a workspace. It is used in the following APIs:

    It is found in the response of the following APIs:

    For another method for finding this value, visit this article.