Introduction
Welcome to the Functional section of the BlazeMeter API reference! This section will cover the APIs used for creating, updating, and running Functional tests, as well as getting the functional test results, handling shared folders, and scheduling tests to run those tests.
This API reference uses the following conventions for your convenience:
- Language bindings are available in cURL. You can view the code examples and JSON responses in the dark area to the right.
- Links to the API explorer are provided in the following format: API Explorer: /explorer. To use the API explorer, you must first log in to a.blazemeter.com to establish authentication. If you need an account, signup for a free account (first and last name, and a valid email address are required).
Overview
Your Account provides access to different levels of the API:
- Workspaces: Workspaces are the highest level container within an account. They contain projects which in turn contain tests. Workspaces also contain resources such as Dedicated IPs, Private Locations, Application Performance Monitoring (APM) credentials, shared folders, and usage alerts. A user with access to a workspace can access any project in the workspace. Each workspace has its own ID, known as a
workspaceId
, which will be required for use in the APIs. - Projects: An organizational construct containing tests and their results. Think of it as a single-dimensional tagging system with each test and the test's results associated with one (and only one) project. Each project has its own ID, known as a
projectId
, which will be required for use in the APIs. - Tests: Tests are test objects configured with specific parameters and files. Think of a test as the "recipe" for test which can be run many times. Each test has its own ID, known as a
testId
, that will be required for use in the APIs. ThetestId
is for the GUI Functional Tests and API Functional Tests object.
- Masters: This is the construct that manages the runs of a test and contains the test run's results. Think of the master as one instance of using the recipe. Each master has its own ID, known as a
masterId
, which will be required for use in the APIs.
The following figure illustrates the relationship between the levels.
Basics
Request Format
All requests to the API are sent over HTTPS and use the following base URL:
https://a.blazemeter.com/api/v4
Test data related requests use the following base URL:
https://tdm.blazemeter.com/api/v1
Response Format
{
"limit": ...,
"skip": ...,
"total": ...,
"hidden": ...,
"api_version": ...,
"error": {...} or null,
"result": {...} or [...]
}
Responses are returned as JSON data in the format shown to the right. A description of the attributes can be found below:
Attributes
-
limit
integerResult List Only
The limit imposed on the number of results returned. See the Pagination section for more details
-
skip
integerResult List Only
The number of results to skip. See the Pagination section for more details
-
total
integerResult List Only
The total number of results that are available
-
hidden
integerResult List Only
The total number of hidden results. No longer used
-
api_version
integerThe version of the API used. Currently we are on version
4
-
error
object or nullDetails any errors returned (includes the response code and message generated). Will be
null
if no error is returned -
result
object or arrayThe result of the requested information from the API. All of the attribute tables will only describe this value, as it's the only part that changes with each API request
Reading the Attribute Tables
Below is a list of the various tags that are present in the attribute tables and what they represent:
Attribute Tag | Description |
---|---|
required |
This indicates that this attribute is required for any POST requests |
read-only |
This indicates that this attribute is not edittable (either through POST, PATCH, or PUT) |
Result List Only |
Indicates that this attribute appears for APIs that return lists |
Multi Test Only |
Indicates that this attribute is used for multi test or collection object only |
Test Only |
Indicates that this attribute is used for test object only |
Private Cloud Only |
Indicates that this attribute is only available to Private Cloud |
Shared Type Only |
Indicates that this attribute is only available to Shared private location type |
Legacy Only |
Indicates that this attribute is only available for legacy BlazeMeter users |
Exclusive |
Indicates that this attribute cannot be used in conjunction with another Exclusive attribute |
Authorization Using Basic Authentication
Authorization
curl 'https://a.blazemeter.com/api/v4/user' \
--user 'api_key_id:api_key_secret'
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"email": "my.name@my_email.com",
"access": 1522676762,
"login": 1521724222,
"firstName": "my",
"lastName": "name",
"timezone": 0,
"enabled": true,
"roles": [
"user",
"new-billing",
"authenticated"
]
}
}
}
API Explorer: /user
To use the BlazeMeter API, pass your BlazeMeter API key using Basic Authentication (Basic Auth) credentials. These credentials contain a Key ID and a Secret Key:
id:secret
For example: f817e22f1526b048799f75da:7641251982b983cfd92b5a25fa97cd3ee9e21920f21d8b14cd705831826935723f3033f0
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail. In the code sample, replace 'api_key_id:api_key_secret'
with your credentials.
Create the API Key
Use the linked BlazeMeter article to create your API key.
Accounts
This section goes over how to handle account administration and see what functionalities you have access to.
To run these APIs, you will need the accountId
for the account you are wanting to look into, and your user will need to have account admin access to run these APIs.
Add User to Account
Add User to Account
curl 'https://a.blazemeter.com/api/v4/accounts/123456/invitations' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"invitations":[{"inviteeEmail":"myName@myDomain.com","attachAutomatically":true,"accountRoles":["standard"],"workspacesId":[123456],"workspacesRoles":["tester"]}]}'
API Explorer: /accounts/{accountId}/invitations
To add a user, you need the accountId
of the account you want to add the user to and use an API key that has account admin access. For the sample code on the right, accountId
123456
has added user myName@myDomain.com
to the account automatically (skipping the invitation link process). To add a user to your account, replace the accountId
123456
with the accountId
of your account, the workspaceId
attribute with the workspaceId
of your workspace. This user will be given the account role of Standard and the workspace role of Tester.
Add User to Account Request Attributes
Add User to Account Add User to Account POST Body (JSON)
{
"invitations": [
{
"inviteeEmail": "myName@myDomain.com",
"attachAutomatically": true,
"accountRoles": [
"standard"
],
"workspacesId": [
123456
],
"workspacesRoles": [
"tester"
]
}
]
}
Attributes
-
invitations
arrayrequired
List of invitation details
-
inviteeEmail
stringrequired
The email address of the user you want to add
-
attachAutomatically
booleanDenotes if the use will be added automatically without the need to click the accept link in the invitation email
-
accountRoles
arrayrequired
An array of account roles that will be assigned to the user. Only ONE role should be assigned for any user, with the execption of the account
owner
role. The following are the available roles:admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
workspacesId
arrayThe
workspaceId
s you want to add the user to -
workspacesRoles
arrayAn array of workspace roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role
-
Add User to Account Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": [
{
"id": "5dc096abb7103a3c3f284b15",
"inviteeEmail": "myName@myDomain.com",
"token": "E0SC2x7U54bn",
"accountRoles": [
"standard"
],
"workspacesRoles": [
"tester"
],
"attachAutomatically": true,
"created": 1572902571,
"updated": 1572902571,
"accountId": 123456,
"inviteeUserId": 234567,
"invitedById": 123456,
"workspacesId": [
123456
],
"accountName": "My Account",
"acceptUrl": "https://a.blazemeter.com/api/v4/accounts/123456/invitations/5dc096abb7103a3c3f284b15/accept/E0SC2x7U54bn",
"rejectUrl": "https://a.blazemeter.com/api/v4/accounts/123456/invitations/5dc096abb7103a3c3f284b15/reject/E0SC2x7U54bn",
"invitingEmail": "adminUser@myDomain.com",
"invitingName": "Admin User"
}
],
"request_id": "5dc096ab2c16d"
}
Attributes
-
id
stringThe invitation ID for the inviation that was created
-
inviteeEmail
stringThe email address of the invited user
-
token
stringThe token used in the accept and reject URLs
-
accountRoles
arrayAn array of account roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
workspacesRoles
arrayAn array of workspace roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
attachAutomatically
booleanDenotes if the use will be added automatically without the need to click the accept link in the invitation email
-
created
integerThe timestamp the invitation was initially sent
-
updated
integerThe timestamp the invitation was changed
-
accountId
integerThe
accountId
you added the user to -
inviteeUserId
integerThe
userId
of the newly added user -
invitedById
integerThe
userId
of the user who added the new user -
workspacesId
arrayThe
workspaceId
s you want to add the user to -
accountName
stringThe name of the account the user was being added to
-
acceptUrl
stringThe URL that will accept the invitation (if used by the user that was invited)
-
rejectUrl
stringThe URL that will reject the invitation (if used by the user that was invited)
-
invitingEmail
stringThe email of the user that invited the new user
-
invitingName
stringThe name of the user that invited the new user
List Account Invitations
List Account Invitations
curl 'https://a.blazemeter.com/api/v4/accounts/123456/invitations' \
--user 'api_key_id:api_key_secret'
API Explorer: /accounts/{accountId}/invitations
To list the account invitations, you need the accountId
of the account you want to get the list of invitations and use an API key that has account admin access. For the sample code on the right, a list of invitations for accountId
123456
is provided. To get a list of invitations for your account, replace the accountId
123456
with the accountId
of your account.
Add User to Account Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 1,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [{
"id": "5eea89603e7ad67f5d35cbf7",
"inviteeEmail": "somebody@example.com",
"token": "4p8M0gseEpHr",
"accountRoles": [
"standard"
],
"workspacesRoles": [
"tester"
],
"attachAutomatically": false,
"created": 1592428896,
"updated": 1592428896,
"accountName": "Travis's Account",
"acceptUrl": "https://a.blazemeter.com/api/v4/accounts/130010/invitations/5eea89603e7ad67f5d35cbf7/accept/4p8M0gseEpHr",
"rejectUrl": "https://a.blazemeter.com/api/v4/accounts/130010/invitations/5eea89603e7ad67f5d35cbf7/reject/4p8M0gseEpHr",
"invitingEmail": "somebody@example.com",
"invitingName": "Travis Lloyd",
"workspaceNames": [
"Default workspace"
]
}],
"request_id": "5eea8978ea87b"
}
Attributes
-
id
stringThe unique identifier of the invitation
-
inviteeEmail
stringThe email of the invitee of the invitation (the person being invited)
-
token
stringThe token for the invitation
-
accountRoles
arrayThe account role being assigned to the invited user. The following are the available roles:
admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
workspacesRoles
arrayThe workspace role being assigned to the invited user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
attachAutomatically
booleanDenotes if the use will be added automatically without the need to click the accept link in the invitation email
-
created
integerThe timestamp for when the invitation was created
-
updated
integerThe timestamp for when the invitation was updated
-
accountName
stringThe account name of the account for the invitation
-
acceptUrl
stringThe URL for accepting the invitation. Must be used by the user invited
-
rejectUrl
stringThe URL for rejecting the invitation. Must be used by the user invited
-
invitingEmail
stringThe email of the user who created the invitation
-
invitingName
stringThe name of the user who created the invitation
-
workspaceNames
arrayThe name of the workspaces the invitee was invited to
Account User List
Account User List
curl 'https://a.blazemeter.com/api/v4/accounts/123456/users' \
--user 'api_key_id:api_key_secret'
API Explorer: /accounts/{accountId}/users
To return a list of the account users, an accountId
is required. The sample code returns a list of users within accountId
of 123456
. Use the actual ID value for the account to return the list of the users in your account.
Account User List Parameters
Parameters
-
roles
arrayThe roles you are wanting to get the list of account users for. Uses the following format:
roles[]=${role}
. These values can be any of the following:admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
excludeRoles
arrayThe roles you are wanting to exclude from the list of account users. Uses the following format:
excludeRoles[]=${role}
. These values can be any of the following:admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
enabled
booleanDenotes if you are wanting to get a list of account users that are enabled (if
true
) or disabled (iffalse
) -
textFilter
stringFilters the returned account user list to any account user emails that match the given string
Also see: Pagination
Account User List Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 123456,
"email": "owner@myDomain.com",
"displayName": "Owner Name",
"firstName": "Owner",
"lastName": "Name",
"login": 1573145246,
"access": 1573227166,
"roles": [
"admin",
"owner"
],
"enabled": true,
"lastAccess": 1573227166
},
{
"id": 234567,
"email": "standard@myDomain.com",
"displayName": "Standard Name",
"firstName": "Standard",
"lastName": "Name",
"login": 1506347921,
"access": 1520965347,
"roles": [
"standard"
],
"enabled": false,
"lastAccess": 1520965347,
"type": "account"
}
],
"request_id": "5dc58b956e81b"
}
Attributes
-
id
integerThe
userId
of the user -
email
stringThe email address of the user
-
displayName
stringThe display name of the user
-
firstName
stringThe first name of the user
-
lastName
stringThe last name of the user
-
login
integerThe timestamp of the last login to BlazeMeter
-
access
integerThe timestamp of the access to BlazeMeter
-
roles
arrayAn array of account roles that will be assigned to the user. Only ONE role should be assigned for any user, with the execption of the account
owner
role. The following are the available roles:admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
enabled
booleanDenotes if the user is enabled or disabled in the account
-
lastAccess
integerThe timestamp of the last access to BlazeMeter
Update Account User
Update Account User
curl 'https://a.blazemeter.com/api/v4/accounts/123456/users/123456' \
-X PUT \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"roles":["user_manager"],"enabled": false}'
API Explorer: /accounts/{accountId}/users/{userId}
To change a user's account role or disable or enable a user, an accountId
and userId
are required. The sample code changes the userId
of 123456
account role within accountId
of 123456
to user_manager
and disables the user in the account. Use the actual ID value for the account and user you are wanting to change.
Update Account User Request Attributes
Update Account User Update Account User PUT Body (JSON)
{
"roles": [
"user_manager"
],
"enabled": false
}
Attributes
-
roles
arrayAn array of account roles that will be assigned to the user. Only ONE role should be assigned for any user, with the execption of the account
owner
role. The following are the available roles:admin
- Account admin rolebilling
- Account billing rolestandard
- Account standard roleuser_manager
- Account user manager role -
enabled
booleanDenotes if the user is enabled or disabled in the account
Update Account User Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"roles": [
"user_manager"
],
"enabled": false,
"lastAccess": 1573229467,
"type": "account",
"displayName": "My Name",
"login": 1573145246,
"email": "my.name@domain.com"
},
"request_id": "5dc5939bd8286"
}
For a breakdown of the response attributes, see the Add User to Account Response Attributes section.
Account Engine Utilization Report
Account Engine Utilization Report
curl 'https://a.blazemeter.com/api/v4/accounts/123456/utilization-report' \
--user 'api_key_id:api_key_secret'
API Explorer: /accounts/{accountId}/utilization-report
To the engine utilizataion report for your account, you need the accountId
of the account to get the engine utilizataion report and use an API key that has account admin access. For the sample code on the right, a the engine utilizataion report for accountId
123456
is provided. To get the engine utilizataion report for your account, replace the accountId
123456
with the accountId
of your account.
Account Engine Utilization Report Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"workspaces": [
{
"id": 123456,
"name": "Default workspace"
}
],
"locations": {
"us-west1-a": {
"id": "us-west1-a",
"name": "US West (Oregon, Google)",
"engines": 1
},
"harbor-5b0323b3c648be3b4c7b23c8": {
"id": "harbor-5b0323b3c648be3b4c7b23c8",
"name": "Example Private Location",
"engines": 1
},
"us-east1-b": {
"id": "us-east1-b",
"name": "US East (South Carolina, Google)",
"engines": 1
}
}
},
"request_id": "5eeb989011d5f"
}
Attributes
-
workspaces
arrayThe list of workspace details that are currently running tests in the account
-
id
integerThe
workspaceId
of the workspace -
name
stringThe name of the workspace
-
-
locations
objectThe location details for all the currently running tests in the account
-
location Id
objectThe utilization details of the
location Id
-
id
stringThe
location Id
currently running test(s) in the account -
name
stringThe name of the location currently running test(s) in the account
-
engines
integerThe number of engines running test(s) in the location for the account
-
-
Account Functionalities List
Account Functionalities List
curl 'https://a.blazemeter.com/api/v4/accounts/123456/functionalities' \
--user 'api_key_id:api_key_secret'
API Explorer: /accounts/{accountId}/fucntionalities
To return a list of the account functionalities supported, an accountId
is required. The sample code returns a list of functionalities within accountId
of 123456
. Use the actual ID value for the account to return the list of functionalities in your account.
Account Functionalities List Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"additionalSpace": 50,
"functionalities": [
{
"funcId": "performance",
"size": 5,
"displayName": "Performance"
},
{
"funcId": "functionalApi",
"size": 0,
"displayName": "API Testing"
},
{
"funcId": "proxyRecorder",
"size": 1,
"displayName": "Proxy Recorder"
},
{
"funcId": "mockServices",
"size": 1,
"displayName": "Mock Services"
},
{
"funcId": "functionalGui",
"size": 0,
"displayName": "GUI Functional",
"subFunctionalities": [
{
"id": "firefox:76",
"size": 2,
"displayName": "Firefox 76",
"default": false
},
{
"id": "firefox:75",
"size": 2,
"displayName": "Firefox 75",
"default": false
},
{
"id": "firefox:74",
"size": 2,
"displayName": "Firefox 74",
"default": false
},
{
"id": "firefox:73",
"size": 2,
"displayName": "Firefox 73",
"default": false
},
{
"id": "firefox:72",
"size": 2,
"displayName": "Firefox 72",
"default": false
},
{
"id": "firefox:71",
"size": 2,
"displayName": "Firefox 71",
"default": false
},
{
"id": "firefox:70",
"size": 2,
"displayName": "Firefox 70",
"default": false
},
{
"id": "firefox:69",
"size": 2,
"displayName": "Firefox 69",
"default": false
},
{
"id": "firefox:68",
"size": 2,
"displayName": "Firefox 68",
"default": false
},
{
"id": "firefox:67",
"size": 2,
"displayName": "Firefox 67",
"default": false
},
{
"id": "firefox:66",
"size": 2,
"displayName": "Firefox 66",
"default": false
},
{
"id": "firefox:65",
"size": 2,
"displayName": "Firefox 65",
"default": true
},
{
"id": "firefox:64",
"size": 2,
"displayName": "Firefox 64",
"default": false
},
{
"id": "firefox:63",
"size": 2,
"displayName": "Firefox 63",
"default": false
},
{
"id": "firefox:62",
"size": 2,
"displayName": "Firefox 62",
"default": false
},
{
"id": "firefox:61",
"size": 2,
"displayName": "Firefox 61",
"default": false
},
{
"id": "firefox:60",
"size": 2,
"displayName": "Firefox 60",
"default": false
},
{
"id": "firefox:59",
"size": 2,
"displayName": "Firefox 59",
"default": false
},
{
"id": "chrome:81",
"size": 2,
"displayName": "Chrome 81",
"default": false
},
{
"id": "chrome:80",
"size": 2,
"displayName": "Chrome 80",
"default": false
},
{
"id": "chrome:79",
"size": 2,
"displayName": "Chrome 79",
"default": false
},
{
"id": "chrome:78",
"size": 2,
"displayName": "Chrome 78",
"default": false
},
{
"id": "chrome:77",
"size": 2,
"displayName": "Chrome 77",
"default": false
},
{
"id": "chrome:76",
"size": 2,
"displayName": "Chrome 76",
"default": false
},
{
"id": "chrome:75",
"size": 2,
"displayName": "Chrome 75",
"default": false
},
{
"id": "chrome:74",
"size": 2,
"displayName": "Chrome 74",
"default": false
},
{
"id": "chrome:73",
"size": 2,
"displayName": "Chrome 73",
"default": false
},
{
"id": "chrome:72",
"size": 2,
"displayName": "Chrome 72",
"default": false
},
{
"id": "chrome:71",
"size": 2,
"displayName": "Chrome 71",
"default": false
},
{
"id": "chrome:70",
"size": 2,
"displayName": "Chrome 70",
"default": false
},
{
"id": "chrome:69",
"size": 2,
"displayName": "Chrome 69",
"default": true
},
{
"id": "chrome:68",
"size": 2,
"displayName": "Chrome 68",
"default": false
},
{
"id": "chrome:67",
"size": 2,
"displayName": "Chrome 67",
"default": false
},
{
"id": "chrome:66",
"size": 2,
"displayName": "Chrome 66",
"default": false
},
{
"id": "chrome:65",
"size": 2,
"displayName": "Chrome 65",
"default": false
},
{
"id": "firefox:default",
"size": 2,
"displayName": "Firefox Default",
"default": true
},
{
"id": "chrome:default",
"size": 2,
"displayName": "Chrome Default",
"default": true
}
]
},
{
"funcId": "sv-bridge",
"size": 1,
"displayName": "Service Virtualization Bridge"
}
]
},
"request_id": "5ee7b73b003a6"
}
Attributes
-
additionalSpace
integerThe amount of additional space (in GB) needed for the private location installation
-
functionalities
arrayA list of all the functionalities available for the account
-
funcId
stringThe ID for the functionality. This can be one of the following:
performance
- Can be used in performance tests
functionalApi
- Can be used in API Functional tests
proxyRecorder
- Can be used as a Proxy Recorder
mockServices
- Can be used to host a mock service
functionalGui
- Can be used for GUI Functional tests
sv-bridge
- Can be used for Service Virtualization Bridge connections -
size
integerThe estimated size (in GB) of the image for the given functionality
-
displayName
stringThe name of the functionality as it's displayed in the GUI private location configuration screen
-
subFunctionalities
stringThe sub-functionalities that are used for the browser version images for GUI funcitonal
-
id
stringThe ID of the browser. Full list can be found here
-
size
integerThe estimated size (in GB) of the image for the given browser
-
displayName
stringThe name of the browser as it's displayed in the GUI private location configuration screen
-
default
booleanDenotes if this version is used for the
default
version of a browser
-
-
Customize Welcome Screen
Customize Welcome Screen
curl 'https://a.blazemeter.com/api/v4/accounts/123456' \
-X PATCH \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"welcomeScreenLinkText":"Please follow these instructions","welcomeScreenLinkUrl":"https://www.blazemeter.com”}'
The account Welcome screen is visible to any user that accepts an invitation to an account without being added to a workspace.
You can customize the content of your Welcome screen, which disables BlazeMeter's default Welcome button and replaces the content with custom text and a hyperlink to a defined URL.
Customize Welcome Screen Attributes
Customize Welcome Screen Customize Welcome Screen PATCH Body (JSON)
{
"welcomeScreenLinkText": "Please follow these instructions",
"welcomeScreenLinkUrl": " https://www.blazemeter.com”
}
Attributes
-
welcomeScreenLinkText
stringrequired
Content of your Welcome message
-
welcomeScreenLinkUrl
stringrequired
Hyperlink that accompanies your Welcome message
Workspaces
This section goes over how to handle workspace administration (i.e. changing user roles, enabling/disabling users, etc.) for your BlazeMeter workspace.
To run these APIs, you will need the workspaceId
for the workspace you are wanting to handle the administration, and your user will need to have workspace manager access to run these APIs.
The Workspace Object
The Workspace Object
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "Default workspace",
"userId": 123456,
"created": 1488987561,
"updated": 1573503519,
"enabled": true,
"dedicatedIpsEnabled": true,
"privateLocationsEnabled": true,
"owner": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User"
},
"membersCount": 7,
"allowance": {
"amount": 17678,
"type": "credits"
},
"accountId": 123456,
"locations": [
{
"id": "harbor-5591335d8588531f5cde3a04",
"title": "Sandbox",
"name": "Sandbox",
"provider": "Sandbox",
"limits": {
"threadsPerEngine": 20,
"concurrency": 20,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": true,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east4-a",
"title": "US East (Virginia, Google)",
"name": "US East (Virginia)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east1-b",
"title": "US East (South Carolina, Google)",
"name": "US East (South Carolina)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west1-a",
"title": "US West (Oregon, Google)",
"name": "US West (Oregon)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-central1-a",
"title": "US Central (Iowa, Google)",
"name": "US Central (Iowa)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "northamerica-northeast1-a",
"title": "Canada East (Montreal, Google)",
"name": "Canada East (Montreal)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west2-a",
"title": "EU West (London, Google)",
"name": "EU West (London)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west3-a",
"title": "EU West (Frankfurt, Google)",
"name": "EU West (Frankfurt)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west1-b",
"title": "EU West (Belgium, Google)",
"name": "EU West (Belgium)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west4-b",
"title": "EU West (Netherlands, Google)",
"name": "EU West (Netherlands)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-east1-a",
"title": "Asia East (Taiwan, Google)",
"name": "Asia East (Taiwan)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-northeast1-a",
"title": "Asia Northeast (Japan, Google)",
"name": "Asia Northeast (Japan)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-southeast1-a",
"title": "Asia Southeast (Singapore, Google)",
"name": "Asia Southeast (Singapore)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-south1-a",
"title": "Asia South (Mumbai, Google)",
"name": "Asia South (Mumbai)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "australia-southeast1-a",
"title": "Australia (Sydney, Google)",
"name": "Australia (Sydney)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "southamerica-east1-a",
"title": "Brazil (Sao Paulo, Google)",
"name": "Brazil (Sao Paulo)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-northeast2-a",
"title": "Japan (Osaka, Google)",
"name": "Japan (Osaka)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west2-a",
"title": "US West (California, Google)",
"name": "US West (California)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east-1",
"title": "US East (Virginia, AWS)",
"name": "US East (Virginia)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east-2",
"title": "US East (Ohio, AWS)",
"name": "US East (Ohio)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west-1",
"title": "US West (N.California, AWS)",
"name": "US West (N.California)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west-2",
"title": "US West (Oregon, AWS)",
"name": "US West (Oregon)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ca-central-1",
"title": "Canada (Central, AWS)",
"name": "Canada (Central)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-1",
"title": "EU West (Ireland, AWS)",
"name": "EU West (Ireland)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-2",
"title": "EU West (London, AWS)",
"name": "EU West (London)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-3",
"title": "EU West (Paris, AWS)",
"name": "EU West (Paris)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-central-1",
"title": "EU Central (Frankfurt, AWS)",
"name": "EU Central (Frankfurt)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-northeast-1",
"title": "Asia Pacific (Tokyo, AWS)",
"name": "Asia Pacific (Tokyo)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-south-1",
"title": "Asia Pacific (Mumbai, AWS)",
"name": "Asia Pacific (Mumbai)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-northeast-2",
"title": "Asia Pacific (Seoul, AWS)",
"name": "Asia Pacific (Seoul)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-southeast-1",
"title": "Asia Pacific (Singapore, AWS)",
"name": "Asia Pacific (Singapore)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-southeast-2",
"title": "Australia (Sydney, AWS)",
"name": "Australia (Sydney)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "sa-east-1",
"title": "South America (Sao Paulo, AWS)",
"name": "South America (Sao Paulo)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-us-1",
"title": "US East (Virginia, Azure)",
"name": "US East (Virginia)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-us-2",
"title": "US East 2 (Virginia, Azure)",
"name": "US East 2 (Virginia)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-us-1",
"title": "US West (California, Azure)",
"name": "US West (California)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-us-2",
"title": "US West 2 (Washington, Azure)",
"name": "US West 2 (US West 2)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-us-west-central",
"title": "US West Central (Wyoming, Azure)",
"name": "US West Central (US West Central)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-us-1",
"title": "US Central (Iowa, Azure)",
"name": "US Central (Iowa)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-north-central-us-1",
"title": "US North Central (Illinois, Azure)",
"name": "US North Central (Illinois)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-south-central-us-1",
"title": "US South Central (Texas, Azure)",
"name": "US South Central (Texas)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-ca",
"title": "Canada East (Quebec City, Azure)",
"name": "Canada East (Quebec City)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-ca",
"title": "Canada Central (Toronto, Azure)",
"name": "Canada Central (Toronto)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-europe-1",
"title": "EU West (Netherlands, Azure)",
"name": "EU West (Netherlands)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-north-europe-1",
"title": "EU North (Ireland, Azure)",
"name": "EU North (Ireland)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-eu-west-3",
"title": "UK West (Cardiff, Azure)",
"name": "UK West (Cardiff)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-eu-west-2",
"title": "UK South (London, Azure)",
"name": "UK South (London)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-japan-east-1",
"title": "Japan East (Tokyo, Azure)",
"name": "Japan East (Tokyo, Saitama)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-japan-west-1",
"title": "Japan West (Osaka, Azure)",
"name": "Japan West (Osaka)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-ap-northeast-1",
"title": "Korea Central (Seoul, Azure)",
"name": "Korea Central (Seoul)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-ap-northeast-2",
"title": "Korea South (Busan, Azure)",
"name": "Korea South (Busan)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-asia-1",
"title": "East Asia (Hong Kong, Azure)",
"name": "East Asia (Hong Kong)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-southeast-asia-1",
"title": "Southeast Asia (Singapore, Azure)",
"name": "Southeast Asia (Singapore)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-1",
"title": "Central India (Pune, Azure)",
"name": "Central India (Pune)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-2",
"title": "West India (Mumbai, Azure)",
"name": "West India (Mumbai)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-3",
"title": "South India (Chennai, Azure)",
"name": "South India (Chennai)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-au-1",
"title": "Australia East (New South Wales, Azure)",
"name": "Australia East (New South Wales)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-southeast-au-1",
"title": "Australia Southeast (Victoria, Azure)",
"name": "Australia Southeast (Victoria)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-brazil-south-1",
"title": "Brazil South (Sao Paulo, Azure)",
"name": "Brazil South (Sao Paulo)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-58d3b97ff132adc0347b23c6",
"title": "Functional Testing Default Location",
"name": "Functional Testing Default Location",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59464ffd67f3bf63cb7b23c9",
"title": "US East (S. Carolina) - Functional Test",
"name": "US East (S. Carolina) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59465fcde4d6a240d97b23c6",
"title": "US West (Los Angeles) - Functional Test",
"name": "US West (Los Angeles) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-594662d6e6e960aedb7b23c7",
"title": "US West (Oregon) - Functional Test",
"name": "US West (Oregon) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946677fe4d6a21adb7b23c8",
"title": "Canada (Montreal) - Functional Test",
"name": "Canada (Montreal) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59466cb1e4d6a296e37b23c8",
"title": "EU West (Belgium) - Functional Test",
"name": "EU West (Belgium) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59466f1b67f3bfebe27b23c7",
"title": "EU West (Frankfurt) - Functional Test",
"name": "EU West (Frankfurt) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946708a65e00138e57b23c6",
"title": "EU West (London) - Functional Test",
"name": "EU West (London) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59467342e4d6a205e67b23c6",
"title": "Asia Pacific (Singapore) - Functional Test",
"name": "Asia Pacific (Singapore) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946756fe4d6a204e37b23c6",
"title": "Australia (Sydney) - Functional Test",
"name": "Australia (Sydney) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946770be6e960e5e57b23cf",
"title": "Asia Pacific (Seoul) - Functional Test",
"name": "Asia Pacific (Seoul) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5b0323b3c648be3b4c7b23c8",
"title": "Example Private Location",
"name": "Example Private Location",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5b0f166208e9cb973d7b23c8",
"title": "Recreate Issues",
"name": "Recreate Issues",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5b77157469770195257b23c6",
"title": "Staging Env ONLY",
"name": "Staging Env ONLY",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5b86c7f5e86da28c337b23c6",
"title": "Customer Reproduction",
"name": "Customer Reproduction",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5b87fb556b8abfea7d7b23ca",
"title": "Console-Engine Communication",
"name": "Console-Engine Communication",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5c8973ed0568ed07f368e1f7",
"title": "CI-Test",
"name": "CI-Test",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5c94ea930b63ac5fb64ab073",
"title": "Kubernetes Instance",
"name": "Kubernetes Instance",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d23ad18d6baf85cdc41e686",
"title": "Keybank Kube Test",
"name": "Keybank Kube Test",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2cecc61391a8f318703bd5",
"title": "New K8s",
"name": "New K8s",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": false,
"serviceMock": true
}
},
{
"id": "harbor-5d2e4f9ef54f63a700650266",
"title": "argaerg",
"name": "argaerg",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5d2e4fbb611274a61b066a93",
"title": "10+ Agents",
"name": "10+ Agents",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e50105b444da11c733e24",
"title": "aergaesrgsegrt",
"name": "aergaesrgsegrt",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e5019265d90a75c668184",
"title": "fjhm,ghj,ghk,g,",
"name": "fjhm,ghj,ghk,g,",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e501faef4bda5292a90e3",
"title": ",fhj,ghjk,ghj,",
"name": ",fhj,ghjk,ghj,",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e502649f49db05b1b127b",
"title": "sdfghsdrygthsdrgyt",
"name": "sdfghsdrygthsdrgyt",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e502d5b444d9e20588a14",
"title": "gnthmfthnmghm",
"name": "gnthmfthnmghm",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5e0e68b9568b27689176f3b4",
"title": "Shared",
"name": "Shared",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5e7e5a9d28320500d25dc3f3",
"title": "Docker 13.1 :(",
"name": "Docker 13.1 :(",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5e866d5f63d06209a46e9425",
"title": "GUI Functional Location",
"name": "GUI Functional Location",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5ab3c64ec8589f914c7b25db",
"title": "US East (Virginia) - Functional GUI Test",
"name": "US East (Virginia) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5d25f94f9950ce73cd105f53",
"title": "EU West (London) - Functional GUI Test",
"name": "EU West (London) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5d25f95f206f10730f21f1b4",
"title": "US West (Oregon) - Functional GUI Test",
"name": "US West (Oregon) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
}
],
"activeMember": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User",
"roles": [
"manager"
],
"enabled": true,
"access": 1592422761
}
},
"request_id": "5eea716988414"
}
Attributes
-
id
integerread-only
The unique identifier for the workspace. Also known as a
workspaceId
-
name
stringrequired
The name of this workspace
-
userId
integerread-only
The
userId
of the creator of the workspace -
created
integerread-only
The timestamp for when the workspace was created
-
updated
integerread-only
The timestamp for when the workspace was updated
-
enabled
booleanDenotes if the workspace is enabled or not
-
dedicatedIpsEnabled
booleanDenotes if dedicated IPs are enabled or not
-
privateLocationsEnabled
booleanDenotes if private locations are enabled or not
-
owner
objectread-only
The details of the owner of the workspace
-
id
integerread-only
The
userId
of the owner of the workspace -
email
stringread-only
The email of the owner of the workspace
-
displayName
stringread-only
The display name of the owner of the workspace
-
-
membersCount
integerread-only
The number of users in the workspace
-
allowance
objectread-only
The available billing usage details
-
amount
integerread-only
The amount of credits available to the workspace
-
type
stringread-only
The type of credits. It can be one of the following values:
credits
- Each test is treated as a creditvuh
- This credit type will charge 1 credit for each user run for each hour (tests under 1 hour are rounded up to 1 hour)
-
-
accountId
integerrequired
The
accountId
the workspace is located in -
locations
arrayread-only
The location details available to the workspace
-
id
stringread-only
The
location ID
of -
title
stringread-only
The title used for the location
-
name
stringread-only
The name of the location
-
provider
stringread-only
The cloud provider used for the location
-
limits
objectread-only
The limit details for this location. Typically determined by the billing plan assigned to the account
-
threadsPerEngine
integerread-only
The maximum number of concurrent users per engine
-
concurrency
integerread-only
The maximum number of concurrent users per test
-
engines
integerread-only
The maximum number of engines per test
-
duration
integerread-only
The maximum duration per test
-
-
capabilities
objectread-only
The capabilities details for the workspace
-
dedicatedIps
booleanread-only
Denotes if dedicated IPs are available or not
-
-
sandbox
booleanread-only
Denotes if this location is used for Debug tests or not
-
purposes
objectread-only
The details of what functionalities the locations work with
-
load
booleanread-only
Denotes if the location can be used in performance tests
-
functional
booleanread-only
Denotes if the location can be used in API functional tests
-
grid
booleanread-only
Denotes if the location can be used in GUI functional tests
-
serviceMock
booleanread-only
Denotes if the location can be used in mock services
-
-
-
activeMember
objectread-only
The user details of the requester
-
id
integerread-only
The
userId
of the requestor -
email
stringread-only
The email of the requestor
-
displayName
stringread-only
The display name of the requestor
-
roles
arrayread-only
The workspace roles of the requestor. Can be one of the following:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
enabled
booleanread-only
Denotes if the requestor user is enabled or not in the workspace
-
access
integerread-only
The last access time of the requestor
-
Create a Workspace
Create a Workspace
curl 'https://a.blazemeter.com/api/v4/workspaces' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"dedicatedIpsEnabled": true, "enabled": true, "name": "New Workspace", "privateLocationsEnabled": true, "accountId": 123456}'
API Explorer: /workspaces
To create a workspace:
- Create the workspace object with a POST to the workspaces endpoint (see sample code).
- Capture the
workspaceId
returned asid
from the response.
Create a Workspace Request Attributes
Create a Workspace Create a Workspace POST Body (JSON)
{
"dedicatedIpsEnabled": true,
"enabled": true,
"name": "New Workspace",
"privateLocationsEnabled": true,
"accountId": 123456
}
Attributes
-
dedicatedIpsEnabled
booleanDenotes if dedicated IPs are enabled or not
-
enabled
booleanDenotes if the workspace is enabled or not
-
name
stringrequired
The name of this workspace being created
-
privateLocationsEnabled
booleanDenotes if private locations are enabled or not
-
accountId
integerrequired
The
accountId
of the workspace being created
Create a Workspace Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "My New Workspace",
"userId": 123456,
"created": 1599742832,
"updated": 1599742832,
"enabled": true,
"dedicatedIpsEnabled": true,
"privateLocationsEnabled": true,
"owner": {
"id": 123456,
"email": "my.name@domain.com",
"displayName": "My Name"
},
"membersCount": 1,
"allowance": {
"amount": 10,
"type": "credits"
},
"accountId": 123456,
"features": {
"webdriver": true,
"multi": true,
"multi-location": true,
"multiLocation": true,
"dedicatedIps": true,
"privateLocations": true,
"functionalTest": true,
"mobileRecorder": true,
"disableResultsEmail": true,
"privilegedFlagToggle": false,
"pivotsReport": true,
"externalFunctionalMobileTest": true,
"proxyRecorderForPrivateCloud": false,
"userExperienceTestingPrivateCloud": false,
"disableV4URLTest": false,
"disableOTC": true,
"ignoreNTCValidationFailed": false,
"secureV4Image": false,
"disableNTCAutoSave": false,
"jupyterNotebook": false,
"V4PCOriginalTestConfig": false,
"enableJetlagPipeline": false,
"disableJetlagPipeline": false,
"disableJetpackPipeline": false,
"disableJetlagPipelineForPrivateCloud": false,
"daggerAsDefaultReportForPrivateCloud": false,
"isGridTestChargeEnabled": false,
"keyboardShortcuts": true,
"disableAccountHarborBatchProvisioning": false,
"testScheduler": false,
"privateCloudScheduler": false,
"v4MasterCommandsForPrivateCloud": false,
"v4MasterCommandsRpsForPrivateCloud": false,
"rootlessCraneImages": false,
"stagingAccount": false,
"anchorServices": false,
"JPMCProdBanner": false,
"hideChromeExtensionButton": false,
"enableFunctionalGuiForPrivateCloud": false,
"craneNetworkModeHost": false,
"cloudResourceUsageReport": true,
"keycloakForPrivateCloud": false,
"mockServicesForPrivateCloud": false,
"ardForPrivateCloud": false,
"devTest": false,
"functionalGuiBuilder": false,
"ard": true,
"objectRepository": true,
"showReportHistoryIdColumn": false,
"redirectAllTabsToRunscope": false,
"skipCheckScenariosLimit": false,
"sendDataToGooglePipeline": false,
"ardBeta": true,
"ardLegacy": false,
"tdm": true,
"enableContainerReplicas": false,
"gridWindows": false,
"enableSecrets": true,
"queueTest": true,
"queueFunctionalTest": true,
"blazeVSE": false,
"telemetryLegacySKU": true,
"upstreamProxy": false,
"enableTestYamlEdit": true,
"useSelenium4": true,
"slowPipeline": false,
"disableSlowPipeline": false,
"taurusV4": false,
"functionalApi": true,
"apiTestMaker": false,
"skipCheckV4SessionsLimit": true,
"v4Jetpack": true,
"functionalGui": true,
"enableNTCMockServicesPanel": true,
"runscope": true,
"functionalGuiLivestream": true,
"gridMultipleIterations": true,
"functionalTestSuite": true,
"allowWindowsOpl": true,
"newTest": true,
"enableNewMultiTest": true,
"redirectV4": true,
"userExperienceTesting": true
},
"plan": {
"id": "MYPLAN",
"name": "MYPLAN",
"type": "credits",
"totalCredits": 18000,
"concurrency": 500000,
"engines": 1000,
"isMetered": true,
"duration": 712,
"reportRetention": -1,
"threadsPerEngine": 1000,
"threadsPerMediumEngine": 1000,
"createdAt": 1488987563445,
"updatedAt": 1584375825359,
"isSandBox": false,
"trial": {
"end": null
},
"isFreeTier": false,
"isTrial": false,
"paymentServiceType": "stripe",
"unlimitedTestingUpTo": 0,
"maxWorkspaces": 999,
"multiLocation": true,
"maxParallelTests": -1,
"leftFunctional": 100,
"quantityFunctional": 100,
"maxConcurrentBrowsers": -1,
"maxConcurrentMockServices": -1,
"mockServicesExpiration": -1,
"mockServicesMaxReplicas": -1
},
"expiration": null,
"credits": 17639,
"billing": {
"defaultPaymentSource": null,
"city": "",
"companyName": "",
"country": "",
"email": "my.email@domain.com",
"fullName": "",
"phoneNumber": "",
"postcode": "",
"street": "",
"vat": ""
}
},
"request_id": "5f5a23709ab5e"
}
See The Workspace Object for the details on the response attributes.
Workspaces List
Workspaces List
curl 'https://a.blazemeter.com/api/v4/workspaces?accountId=123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /workspaces
To return a list of the workspaces, an accountId
is required. The sample code returns a list of workspaces within accountId
of 123456
. Use the actual ID value for the account to return the list of the workspaces in your account.
Workspace List Parameters
Parameters
-
accountId
integerrequired
The
accountId
you are wanting to get the list of workspaces from -
enabled
booleanDenotes whether the response will contain only enabled (if set to
true
) workspaces or only disabled (if set tofalse
) workspaces -
textFilter
stringFilters the returned workspace list to any workspace names that match the given string
Also see: Pagination and Sorting
Workspaces List Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 234567,
"name": "Another Workspace",
"userId": 123456,
"created": 1544563474,
"updated": 1544563474,
"enabled": true,
"dedicatedIpsEnabled": true,
"privateLocationsEnabled": true,
"owner": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User"
},
"membersCount": 1,
"allowance": {
"amount": 17568,
"type": "credits"
},
"accountId": 123456
},
{
"id": 123456,
"name": "Default workspace",
"userId": 123456,
"created": 1488987561,
"updated": 1572904019,
"enabled": true,
"dedicatedIpsEnabled": true,
"privateLocationsEnabled": true,
"owner": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User"
},
"membersCount": 6,
"allowance": {
"amount": 17568,
"type": "credits"
},
"accountId": 123456
}
],
"request_id": "5dc5bb21cda8d"
}
To see a breakdown of the attributes, please see The Workspace Object section.
Workspace Details
Workspace Details
curl 'https://a.blazemeter.com/api/v4/workspaces/123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /workspaces/{workspaceId}
To return the details of a workspace, a workspaceId
is required. The sample code returns the details of the workspace with workspaceId
of 123456
. Use the actual ID value for the workspace to return the detail of your workspace.
Workspace Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "Default workspace",
"userId": 123456,
"created": 1488987561,
"updated": 1573503519,
"enabled": true,
"dedicatedIpsEnabled": true,
"privateLocationsEnabled": true,
"owner": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User"
},
"membersCount": 7,
"allowance": {
"amount": 17678,
"type": "credits"
},
"accountId": 123456,
"locations": [
{
"id": "harbor-5591335d8588531f5cde3a04",
"title": "Sandbox",
"name": "Sandbox",
"provider": "Sandbox",
"limits": {
"threadsPerEngine": 20,
"concurrency": 20,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": true,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east4-a",
"title": "US East (Virginia, Google)",
"name": "US East (Virginia)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east1-b",
"title": "US East (South Carolina, Google)",
"name": "US East (South Carolina)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west1-a",
"title": "US West (Oregon, Google)",
"name": "US West (Oregon)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-central1-a",
"title": "US Central (Iowa, Google)",
"name": "US Central (Iowa)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "northamerica-northeast1-a",
"title": "Canada East (Montreal, Google)",
"name": "Canada East (Montreal)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west2-a",
"title": "EU West (London, Google)",
"name": "EU West (London)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west3-a",
"title": "EU West (Frankfurt, Google)",
"name": "EU West (Frankfurt)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west1-b",
"title": "EU West (Belgium, Google)",
"name": "EU West (Belgium)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "europe-west4-b",
"title": "EU West (Netherlands, Google)",
"name": "EU West (Netherlands)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-east1-a",
"title": "Asia East (Taiwan, Google)",
"name": "Asia East (Taiwan)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-northeast1-a",
"title": "Asia Northeast (Japan, Google)",
"name": "Asia Northeast (Japan)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-southeast1-a",
"title": "Asia Southeast (Singapore, Google)",
"name": "Asia Southeast (Singapore)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-south1-a",
"title": "Asia South (Mumbai, Google)",
"name": "Asia South (Mumbai)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "australia-southeast1-a",
"title": "Australia (Sydney, Google)",
"name": "Australia (Sydney)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "southamerica-east1-a",
"title": "Brazil (Sao Paulo, Google)",
"name": "Brazil (Sao Paulo)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "asia-northeast2-a",
"title": "Japan (Osaka, Google)",
"name": "Japan (Osaka)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west2-a",
"title": "US West (California, Google)",
"name": "US West (California)",
"provider": "Google Cloud Platform",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east-1",
"title": "US East (Virginia, AWS)",
"name": "US East (Virginia)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-east-2",
"title": "US East (Ohio, AWS)",
"name": "US East (Ohio)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west-1",
"title": "US West (N.California, AWS)",
"name": "US West (N.California)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "us-west-2",
"title": "US West (Oregon, AWS)",
"name": "US West (Oregon)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ca-central-1",
"title": "Canada (Central, AWS)",
"name": "Canada (Central)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-1",
"title": "EU West (Ireland, AWS)",
"name": "EU West (Ireland)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-2",
"title": "EU West (London, AWS)",
"name": "EU West (London)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-west-3",
"title": "EU West (Paris, AWS)",
"name": "EU West (Paris)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "eu-central-1",
"title": "EU Central (Frankfurt, AWS)",
"name": "EU Central (Frankfurt)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-northeast-1",
"title": "Asia Pacific (Tokyo, AWS)",
"name": "Asia Pacific (Tokyo)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-south-1",
"title": "Asia Pacific (Mumbai, AWS)",
"name": "Asia Pacific (Mumbai)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-northeast-2",
"title": "Asia Pacific (Seoul, AWS)",
"name": "Asia Pacific (Seoul)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-southeast-1",
"title": "Asia Pacific (Singapore, AWS)",
"name": "Asia Pacific (Singapore)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "ap-southeast-2",
"title": "Australia (Sydney, AWS)",
"name": "Australia (Sydney)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "sa-east-1",
"title": "South America (Sao Paulo, AWS)",
"name": "South America (Sao Paulo)",
"provider": "Amazon Web Services",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-us-1",
"title": "US East (Virginia, Azure)",
"name": "US East (Virginia)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-us-2",
"title": "US East 2 (Virginia, Azure)",
"name": "US East 2 (Virginia)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-us-1",
"title": "US West (California, Azure)",
"name": "US West (California)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-us-2",
"title": "US West 2 (Washington, Azure)",
"name": "US West 2 (US West 2)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-us-west-central",
"title": "US West Central (Wyoming, Azure)",
"name": "US West Central (US West Central)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-us-1",
"title": "US Central (Iowa, Azure)",
"name": "US Central (Iowa)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-north-central-us-1",
"title": "US North Central (Illinois, Azure)",
"name": "US North Central (Illinois)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-south-central-us-1",
"title": "US South Central (Texas, Azure)",
"name": "US South Central (Texas)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-ca",
"title": "Canada East (Quebec City, Azure)",
"name": "Canada East (Quebec City)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-ca",
"title": "Canada Central (Toronto, Azure)",
"name": "Canada Central (Toronto)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-west-europe-1",
"title": "EU West (Netherlands, Azure)",
"name": "EU West (Netherlands)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-north-europe-1",
"title": "EU North (Ireland, Azure)",
"name": "EU North (Ireland)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-eu-west-3",
"title": "UK West (Cardiff, Azure)",
"name": "UK West (Cardiff)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-eu-west-2",
"title": "UK South (London, Azure)",
"name": "UK South (London)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-japan-east-1",
"title": "Japan East (Tokyo, Azure)",
"name": "Japan East (Tokyo, Saitama)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-japan-west-1",
"title": "Japan West (Osaka, Azure)",
"name": "Japan West (Osaka)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-ap-northeast-1",
"title": "Korea Central (Seoul, Azure)",
"name": "Korea Central (Seoul)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-ap-northeast-2",
"title": "Korea South (Busan, Azure)",
"name": "Korea South (Busan)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-asia-1",
"title": "East Asia (Hong Kong, Azure)",
"name": "East Asia (Hong Kong)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-southeast-asia-1",
"title": "Southeast Asia (Singapore, Azure)",
"name": "Southeast Asia (Singapore)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-1",
"title": "Central India (Pune, Azure)",
"name": "Central India (Pune)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-2",
"title": "West India (Mumbai, Azure)",
"name": "West India (Mumbai)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-central-asia-3",
"title": "South India (Chennai, Azure)",
"name": "South India (Chennai)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-east-au-1",
"title": "Australia East (New South Wales, Azure)",
"name": "Australia East (New South Wales)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-southeast-au-1",
"title": "Australia Southeast (Victoria, Azure)",
"name": "Australia Southeast (Victoria)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "azure-brazil-south-1",
"title": "Brazil South (Sao Paulo, Azure)",
"name": "Brazil South (Sao Paulo)",
"provider": "Microsoft Azure",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 500000,
"engines": 1000,
"duration": 712
},
"capabilities": {
"dedicatedIps": false
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-58d3b97ff132adc0347b23c6",
"title": "Functional Testing Default Location",
"name": "Functional Testing Default Location",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59464ffd67f3bf63cb7b23c9",
"title": "US East (S. Carolina) - Functional Test",
"name": "US East (S. Carolina) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59465fcde4d6a240d97b23c6",
"title": "US West (Los Angeles) - Functional Test",
"name": "US West (Los Angeles) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-594662d6e6e960aedb7b23c7",
"title": "US West (Oregon) - Functional Test",
"name": "US West (Oregon) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946677fe4d6a21adb7b23c8",
"title": "Canada (Montreal) - Functional Test",
"name": "Canada (Montreal) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59466cb1e4d6a296e37b23c8",
"title": "EU West (Belgium) - Functional Test",
"name": "EU West (Belgium) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59466f1b67f3bfebe27b23c7",
"title": "EU West (Frankfurt) - Functional Test",
"name": "EU West (Frankfurt) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946708a65e00138e57b23c6",
"title": "EU West (London) - Functional Test",
"name": "EU West (London) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-59467342e4d6a205e67b23c6",
"title": "Asia Pacific (Singapore) - Functional Test",
"name": "Asia Pacific (Singapore) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946756fe4d6a204e37b23c6",
"title": "Australia (Sydney) - Functional Test",
"name": "Australia (Sydney) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5946770be6e960e5e57b23cf",
"title": "Asia Pacific (Seoul) - Functional Test",
"name": "Asia Pacific (Seoul) - Functional Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": true,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5b0323b3c648be3b4c7b23c8",
"title": "Example Private Location",
"name": "Example Private Location",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5b0f166208e9cb973d7b23c8",
"title": "Recreate Issues",
"name": "Recreate Issues",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5b77157469770195257b23c6",
"title": "Staging Env ONLY",
"name": "Staging Env ONLY",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5b86c7f5e86da28c337b23c6",
"title": "Customer Reproduction",
"name": "Customer Reproduction",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5b87fb556b8abfea7d7b23ca",
"title": "Console-Engine Communication",
"name": "Console-Engine Communication",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5c8973ed0568ed07f368e1f7",
"title": "CI-Test",
"name": "CI-Test",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5c94ea930b63ac5fb64ab073",
"title": "Kubernetes Instance",
"name": "Kubernetes Instance",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d23ad18d6baf85cdc41e686",
"title": "Keybank Kube Test",
"name": "Keybank Kube Test",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2cecc61391a8f318703bd5",
"title": "New K8s",
"name": "New K8s",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": false,
"serviceMock": true
}
},
{
"id": "harbor-5d2e4f9ef54f63a700650266",
"title": "argaerg",
"name": "argaerg",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": false,
"serviceMock": false
}
},
{
"id": "harbor-5d2e4fbb611274a61b066a93",
"title": "10+ Agents",
"name": "10+ Agents",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e50105b444da11c733e24",
"title": "aergaesrgsegrt",
"name": "aergaesrgsegrt",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e5019265d90a75c668184",
"title": "fjhm,ghj,ghk,g,",
"name": "fjhm,ghj,ghk,g,",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e501faef4bda5292a90e3",
"title": ",fhj,ghjk,ghj,",
"name": ",fhj,ghjk,ghj,",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e502649f49db05b1b127b",
"title": "sdfghsdrygthsdrgyt",
"name": "sdfghsdrygthsdrgyt",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5d2e502d5b444d9e20588a14",
"title": "gnthmfthnmghm",
"name": "gnthmfthnmghm",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 1000,
"concurrency": 1000,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": true,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5e0e68b9568b27689176f3b4",
"title": "Shared",
"name": "Shared",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": true,
"functional": false,
"grid": true,
"serviceMock": true
}
},
{
"id": "harbor-5e7e5a9d28320500d25dc3f3",
"title": "Docker 13.1 :(",
"name": "Docker 13.1 :(",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5e866d5f63d06209a46e9425",
"title": "GUI Functional Location",
"name": "GUI Functional Location",
"provider": "Private Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5ab3c64ec8589f914c7b25db",
"title": "US East (Virginia) - Functional GUI Test",
"name": "US East (Virginia) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5d25f94f9950ce73cd105f53",
"title": "EU West (London) - Functional GUI Test",
"name": "EU West (London) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
},
{
"id": "harbor-5d25f95f206f10730f21f1b4",
"title": "US West (Oregon) - Functional GUI Test",
"name": "US West (Oregon) - Functional GUI Test",
"provider": "Public Locations",
"limits": {
"threadsPerEngine": 300,
"concurrency": 300,
"engines": 0,
"duration": 712
},
"capabilities": {
"dedicatedIps": false,
"isPrivileged": true
},
"sandbox": false,
"purposes": {
"load": false,
"functional": false,
"grid": true,
"serviceMock": false
}
}
],
"activeMember": {
"id": 123456,
"email": "my.user@myDomain.com",
"displayName": "My User",
"roles": [
"manager"
],
"enabled": true,
"access": 1592422761
}
},
"request_id": "5eea716988414"
}
See The Workspace Object for the details on the response attributes.
Add User to Workspace
Add User to Workspace
curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"usersIds":[352749],"roles": ["manager"]}'
API Explorer: /workspaces/{workspaceId}/users
To add a user to a workspace, you need the workspaceId
of the workspace you want to add the user to and use an API key that has account admin access or a workspace manager role. For the sample code on the right, workspaceId
123456
has added user myName@myDomain.com
to the workspace with the workspace manager role.
Add User to Workspace Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Add User to Workspace Add User to Workspace POST Body (JSON)
{
"usersIds": [
352749
],
"roles": [
"manager"
]
}
Attributes
-
usersIds
arrayrequired
The
userId
s of the user(s) you want to add as aninteger
-
roles
arrayrequired
An array of workspace roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role
Add User to Workspace Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": [
{
"id": 123456,
"roles": [
"manager"
],
"enabled": true,
"lastAccess": 1573503678,
"type": "workspace",
"memberId": {
"$oid": "5dc9c2be4b5cab1c82345bb3"
},
"displayName": "Standard Manager",
"firstName": "Standard",
"lastName": "Manager",
"login": 1570322423,
"email": "myName@myDomain.com",
"access": 1573503678
}
],
"request_id": "5dc9c2be0ae5a"
}
Attributes
-
id
integerread-only
The unique identifier for the user. Also know as a
userId
-
roles
arrayThe roles assigned to this user. Can be ONE of the following:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
enabled
booleanDenotes if the user is enabled or not in the workspace
-
lastAccess
integerread-only
The timestamp of when the user last accessed the workspace
-
type
stringread-only
The level of the user. Will alwasy be
workspace
for this case -
displayName
stringread-only
The display name for the user
-
firstName
stringread-only
The first name of the user
-
lastName
stringread-only
The last name of the user
-
login
integerread-only
The timestamp of the last login for this user
-
email
stringThe email address of this user
-
access
integerread-only
The timestamp of the last access for this user
Workspace User List
Workspace User List
curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users' \
--user 'api_key_id:api_key_secret'
API Explorer: /workspaces/{workspaceId}/users
To return a list of the workspace users, a workspaceId
is required. The sample code returns a list of workspace users within workspaceId
of 123456
. Use the actual ID value for the workspace to return the list of the workspace users in your workspace.
Workspace User List Parameters
Parameters
-
roles
arrayThe roles you are wanting to get the list of workspace users for. Uses the following format:
roles[]=${role}
. These values can be any of the following:tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
excludeRoles
arrayThe roles you are wanting to exclude from the list of account users. Uses the following format:
excludeRoles[]=${role}
. These values can be any of the following:tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
enabled
booleanDenotes if you are wanting to get a list of account users that are enabled (if
true
) or disabled (iffalse
) -
textFilter
stringFilters the returned account user list to any account user emails that match the given string
Also see: Pagination
Workspace User List Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 123456,
"email": "adminUser@myDomain.com",
"displayName": "Admin User",
"firstName": "Admin",
"lastName": "User",
"login": 1573488679,
"access": 1573501903,
"roles": [
"manager"
],
"enabled": true,
"lastAccess": 1573501903
},
{
"id": 234567,
"email": "standardUser@myDomain.com",
"displayName": "Standard User",
"firstName": "Standard",
"lastName": "User",
"login": 1506347921,
"access": 1516906397,
"roles": [
"tester"
],
"enabled": false,
"lastAccess": 1516906397,
"type": "workspace"
}
],
"request_id": "5dc9bdef0a561"
}
Attributes
-
id
integerread-only
The
userId
of the user -
email
stringread-only
The email address of the user
-
displayName
stringread-only
The display name of the user
-
firstName
stringread-only
The first name of the user
-
lastName
stringread-only
The last name of the user
-
login
integerread-only
The timestamp for when the user last logged in
-
access
integerread-only
The timestamp for when the user last accessed the workspace
-
roles
arrayAn array of workspace roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
enabled
booleanDenotes if the user is enabled in the workspace or not
-
lastAccess
integerread-only
The timestamp for when the user last accessed the workspace
Update Workspace User
Update Workspace User
curl 'https://a.blazemeter.com/api/v4/workspaces/123456/users/123456' \
-X PUT \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"roles":["viewer"],"enabled": false}'
API Explorer: /workspaces/{workspaceId}/users/{userId}
To change a user's workspace role and disable or enable an user in the workspace, a workspaceId
and an userId
are required. The sample code changes the workspace role of userId
of 123456
within workspaceId
of 123456
to viewer
and disables the user. Use the actual ID value for the workspace and user you are wanting to change.
Update Workspace User Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Update Workspace User Update Workspace User PUT Body (JSON)
{
"roles": [
"viewer"
],
"enabled": false
}
Attributes
-
roles
arrayAn array of workspace roles that will be assigned to the user. Only ONE role should be assigned for any user. The following are the available roles:
tester
- Workspace tester rolemanager
- Workspace manager roleviewer
- Workspace viewer role -
enabled
booleanDenotes if the user is enabled or disabled in the account
Update Workspace User Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"roles": [
"viewer"
],
"enabled": false,
"lastAccess": 1573506574,
"type": "workspace",
"displayName": "Viewer User",
"login": 1562944843,
"email": "viwerUser@myDomain.com"
},
"request_id": "5dc9ce0e3076d"
}
For a breakdown of the response attributes, see the Add User to Workspace Response Attributes section.
Remove Managers from Workspace
Remove Managers from Workspace
curl 'https://a.blazemeter.com/api/v4/workspaces/123456/delete-managers' \
-X POST \
-H 'Content-Type: application/json' \
-d '{"managersIds":[654321]}'
API Explorer: /workspaces/{workspaceId}/delete-managers
To remove managers from a workspace, replace the workspaceId
123456
with the workspaceId
of your workspace, and provide the Manager IDs of the managers to remove.
Remove Managers from Workspace Request Attributes
Remove Managers from Workspace Remove Managers from Workspace POST Body (JSON)
{
"managersIds": [
654321
]
}
Attributes
-
managersIds
integerrequired
The IDs of managers to remove from the workspace
Response 204 No Content
Projects
This section goes over how to handle project administration (i.e. creating a project, deleting a project, etc.) for your BlazeMeter project.
To run many of these APIs, you will need the projectId
for the project you are wanting to handle.
The Project Object
The Project Object
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "Default project",
"userId": 123456,
"description": null,
"created": 1488987563,
"updated": 1488987563,
"workspaceId": 123456,
"testsCount": 417
},
"request_id": "5eea8ecd9eace"
}
Attributes
-
id
integerread-only
The
projectId
of the project -
name
stringrequired
The name of the project
-
userId
integerread-only
The
userId
of the API Key used -
description
stringA description of the project
-
created
integerread-only
The timestamp for when the project was created
-
updated
integerread-only
The timestamp for when the project was updated
-
workspaceId
integerThe
workspaceId
the project is associated with -
testsCount
integerread-only
The number of tests that are within the project
Create a Project
Create a Project
curl 'https://a.blazemeter.com/api/v4/projects' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name": "V4 Create Test Through API", "description": "A description", "workspaceId": 123456}'
API Explorer: /projects
To create a project:
- Create the project object with a POST to the projects endpoint (see sample code).
- Capture the
projectId
returned asid
from the response.
Create a Project Request Attributes
Create a Project Create a Project POST Body (JSON)
{
"name": "V4 Create Test Through API",
"description": "A description",
"workspaceId": 123456
}
Attributes
-
name
stringrequired
The project name
-
description
stringThe project description
-
workspaceId
integerrequired
The
workspaceId
you want to associate the project to
Create a Project Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "V4 Create Test Through API",
"userId": 123456,
"description": "A description",
"created": 1488987563,
"updated": 1488987563,
"workspaceId": 123456,
"testsCount": 388
}
}
See The Project Object for the details on the response attributes.
Projects List
Projects List
curl 'https://a.blazemeter.com/api/v4/projects?workspaceId=123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /projects
To return a list of the projects, a workspaceId
or an accountId
is required. The sample code returns a list of projects within workspaceId
of 123456
. Use the actual ID value for the workspace to return the list of the projects in your workspace.
Projects List Parameters
Parameters
-
accountId
integerrequired
The
accountId
you are wanting to get the list of projects from -
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of projects from -
name
stringFilters the returned project list to any project names that match the given string
Also see: Pagination and Sorting
Projects List Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 234567,
"name": "New Project",
"userId": 234567,
"description": "Tests using new project",
"created": 1489672823,
"updated": 1489672823,
"workspaceId": 123456,
"testsCount": 126
},
{
"id": 123456,
"name": "Default project",
"userId": 123456,
"description": null,
"created": 1488987563,
"updated": 1488987563,
"workspaceId": 123456,
"testsCount": 388
}
],
"request_id": "5dc9d8bd366b4"
}
See The Project Object for the details on the response attributes.
Project Details
Project Details
curl 'https://a.blazemeter.com/api/v4/projects/123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /projects/{projectId}
To return the details of a project, a projectId
is required. The sample code returns the details of the project with projectId
of 123456
. Use the actual ID value for the project to return the detail of your project.
Project Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 167798,
"name": "Default project",
"userId": 344260,
"description": null,
"created": 1488987563,
"updated": 1488987563,
"workspaceId": 123429
},
"request_id": "5eea991e547ca"
}
See The Project Object for the details on the response attributes.
Update a Project
Update a Project
curl 'https://a.blazemeter.com/api/v4/projects/123456' \
-X PATCH \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name":"New Test Name For API"}'
API Explorer: /projects/{projectId}
To update a project, use PATCH to change the provided configuration for a given project (you need to know the projectId
). The sample code updates a test with an ID of 123456
(the 123456
is contained in the URL) with a new test name New Test Name For API
, a new description of This is my description
, and a new workspaceId
of 234567
.
If you do not know the projectId
of the project to update, use List Projects to return a list of your created projects.
Update a Project Request Attributes
Update a Project Update a Project Sample PATCH Body (JSON)
{
"name": "New Test Name For API",
"description": "This is my description",
"workspaceId": 234567
}
Attributes
-
name
stringThe project name
-
description
stringThe project description
-
workspaceId
integerThe
workspaceId
you want to associate the project to
Update a Project Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 123456,
"name": "New Test Name For API",
"userId": 123456,
"description": "This is my description",
"created": 1488987563,
"updated": 1488987563,
"workspaceId": 234567,
"testsCount": 388
}
}
See The Project Object for the details on the response attributes.
Delete a Project
Delete a Project
curl 'https://a.blazemeter.com/api/v4/projects/123456' \
-X DELETE \
--user 'api_key_id:api_key_secret'
Response 204 No content
API Explorer: /projects/{projectId}
To delete a project, DELETE its ID (you need to know the projectId
). The sample code deletes a project with an ID of 123456
. Use the projectId
of the actual project to delete in place of the 123456
.
If you do not know the ID of the project to delete, use the List Projects section to return a list of your created projects.
Delete a Project Parameters
Parameters
-
force
booleanThis will force delete a project, including all the
tests
andmasters
that are present in this project
Tests
When you create a test, you are creating a test
object configured with specific parameters.
Once you have created a test and have uploaded any required files, you can start the test, which will create a master
for control and reporting.
You will also need the location ID
to point your test configuration to the correct location(s) you want your test to run in.
As we are heavily integrated with Taurus, the test override configurations will display similarly to the Taurus execution section. If you are familiar with the YAML or JSON formatting of these configuration files, you can easily translate that knowledge to our API configurations.
The Test Object
The GUI Functional Test Object
The GUI Functional Test Object
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "GUI Functional Test",
"description": "This test uses every GUI Functional test configuration we have.",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
}
},
{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"capabilities": {
"browserName": "firefox",
"browserVersion": "65",
"blazemeter_videoEnabled": true
}
}
],
"executions": [{
"iterations": 1,
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "demoblaze-Selenium",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"concurrency": 1
},
{
"iterations": 1,
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "firefox",
"browserVersion": "65",
"blazemeter_videoEnabled": true
},
"scenario": "demoblaze-Selenium",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"concurrency": 1
}
],
"shouldSendReportEmail": false,
"dependencies": {
"data":{
"schema": "http://blazemeter.com/blazedata/schema",
"id": "datamodels/testParameters",
"title": "Test Parameters",
"description": "",
"kind": "tdm",
"type": "object",
"entities": {
"user": {
"title": "user",
"type": "object",
"properties": {
"name": { "type": "string" }
},
"requirements": { "name": "\"John Doe\"" },
"targets": {
"defaultCsv": {
"type": "csv",
"file": "user.csv",
"isHeadless": false
}
}
}
}
},
"services": [{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}]
},
"created": 1592488617,
"updated": 1592489934,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalGui",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": true,
"scriptType": "taurus",
"filename": "demoblaze--Selenium.yaml",
"testMode": "script",
"extraSlots": 0,
"plugins": {
"sharedFolders": [
"5e5552e75eed7c2c531142c5"
]
}
}
},
"request_id": "5eeb77dd31348"
}
Attributes
-
id
integerread-only
The unique identifier of the test. This is known as the
testId
and cannot be modified -
isNewTest
booleanread-only
Denotes this is a new test. Always
True
-
name
stringrequired
The test name
-
description
stringA description of the test
-
userId
integerread-only
The unique identifier of the user
-
creatorClientId
stringread-only
The ID of the creator client. For example,
api
, if created through an API, orgui
, if created thorugh the GUI -
overrideExecutions
arrayThe test settings used when running the test in BlazeMeter
-
executor
stringThe script type you are running (similar to
executor
in Taurus). Will always beselenium
for GUI functional tests -
scenario
stringBlazeMeter scenario reference for this execution
-
locations
objectThe locations where the test will run
-
location Id
integerA
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 ORlocationsPercents
data, not both
-
-
capabilities
objectThe webdriver capabilities to be used with this test
-
browserName
stringThe type of browser you want to use. Can be either
chrome
, for Chrome, orfirefox
, for Firefox -
browserVersion
stringThe browser version you want to use. See the GUI Functional Capabilities section for details on the values that can go into this attribute
-
blazemeter_videoEnabled
booleanDenotes the GUI test will record a video of the test running
-
-
-
executions
arrayread-only
Current execution settings configured for this test
-
iterations
integerread-only
The number of iterations to run the test with. Will always be
1
for this test type. Same asiterations
in Taurus -
locationsWeighted
booleanread-only
Denotes if the values in the
locations
attribute are weighted values or not (same aslocationsWeighted
in Taurus) -
executor
stringread-only
The script type you are running. Includes the following:
gatling
grinder
jmeter
locust
pbench
selenium
siege
-
capabilities
objectread-only
The webdriver capabilities to be used with this test
-
browserName
stringread-only
The type of browser you want to use. Can be either
chrome
, for Chrome, orfirefox
, for Firefox -
browserVersion
stringread-only
-
blazemeter_videoEnabled
booleanread-only
-
-
scenario
stringread-only
BlazeMeter scenario reference for GUI reports
-
locations
objectread-only
Location details for this test
-
location Id
integerread-only
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 ORlocationsPercents
data, not both
-
-
concurrency
integerread-only
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 asconcurrency
in Taurus
-
-
shouldSendReportEmail
booleanSets the box for whether an email is sent upon completion of a test run
-
dependencies
objectThe mock service and test data details to be used with this test.
-
services
arrayThe list of mock services to be used in this test
-
service
stringThe name of the mock service. Use the List Mock Services API to find the name
-
mock-service
stringThe name of the running mock service instance. Use the List Mock Services API to find the mock service
-
mock-service-template
stringThe name of the mock service template. Use the List Mock Service Templates API to find the template
-
-
data
arrayThe list of test data entities to be used in this test
-
entities
arrayThe list of Test Data Entities associated with this test. A Data Entity contains one or more Test Data Objects.
-
kind
stringThe kind of Test Data is "tdm".
-
type
stringThe type of Test Data is "object".
-
-
-
created
integerread-only
The time that the test was created
-
updated
integerread-only
The time that the test was last updated
-
projectId
integerrequired
The
projectId
to which this test belongs -
lastUpdatedById
integerread-only
The ID of the last user that updated the test
-
configuration
objectThe configuration settings for this test
-
type
stringThe test type. Must be
functionalGui
-
dedicatedIpsEnabled
booleanUse dedicated IPs for test (not used in this test type). Must have dedicated IPs for ALL locations configured
-
canControlRampup
booleanIf the user includes a Concurrency Thread Group in their JMX, this parameter indicates if the feature for pausing and resuming ramp-up is enabled. Not used in this test type
-
targetThreads
integerThe target number of threads (not used in this test type). For example:
500
-
enableMockServices
booleanDenotes if mock services are enabled or not
-
scriptType
stringThe script types available. Includes:
apiritif
gatling
grinder
jmeter
locust
nose
pbench
pytest
robot
selenium
siege
taurus
-
filename
stringThe 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 -
testMode
stringThe mode this test was made with. Can only be
script
-
plugins
objectThe plugin details used for this test
-
sharedFolders
arrayList of
folderId
s to be included
-
-
The API Functional Test Object
The API Functional Test Object
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "API Functional Test",
"description": "This test uses every API Functional test configuration we have.",
"userId": 123456,
"creatorClientId": "api",
"overrideExecutions": [{
"executor": "",
"holdFor": "19m",
"rampUp": "1m",
"concurrency": 20,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"steps": 0
}],
"executions": [{
"concurrency": 20,
"holdFor": "19m",
"rampUp": "1m",
"steps": 0,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"scenario": "default-scenario-1234567"
}],
"shouldSendReportEmail": true,
"dependencies": {
"services": [{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}]
},
"created": 1592489620,
"updated": 1592489637,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 500,
"enableHostsOverride": true,
"enableMockServices": true,
"scriptType": "",
"threads": 500,
"filename": "demoblaze.yml",
"testMode": "script",
"extraSlots": 0,
"plugins": {
"hosts": [{
"hostname": "my.domain.com",
"ip": "10.10.10.10"
}],
"sharedFolders": [
"5e5552e75eed7c2c531142c5"
],
"jmeter": {
"version": "auto"
}
}
}
},
"request_id": "5eeb77024fe58"
}
Attributes
-
id
integerread-only
The unique identifier of the test. This is known as the
testId
and cannot be modified -
isNewTest
booleanread-only
Denotes this is a new test. Always
True
-
name
stringrequired
The test name
-
description
stringA description of the test
-
userId
integerread-only
The unique identifier of the user
-
creatorClientId
stringread-only
The ID of the creator client. For example,
api
, if created through an API, orgui
, if created through the GUI -
overrideExecutions
arrayThe test settings used when running the test in BlazeMeter
-
executor
stringThe script type you are running (similar to
executor
in Taurus). Includes the following:gatling
grinder
jmeter
locust
pbench
selenium
siege
-
holdFor
stringThe length of time the test will run at the peak concurrency (same as
hold-for
in Taurus). Values can be provided inm
(minutes) only -
rampUp
stringThe length of time the test will take to ramp-up to full concurrency (same as
ramp-up
in Taurus). Values can be provided inm
(minutes) only -
concurrency
integerThe 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 asconcurrency
in Taurus -
locations
objectThe locations where the test will run
-
location Id
integerA
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 ORlocationsPercents
data, not both
-
-
locationsPercents
objectThe percentage of users each location gets
-
location Id
integerA
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 ORlocations
data, not both
-
-
steps
integerThe number of rampup steps (same as
steps
in Taurus). This can be empty
-
-
executions
arrayread-only
The execution settings from the file or last test run for this test
-
concurrency
integerread-only
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 asconcurrency
in Taurus -
holdFor
stringread-only
The length of time the test will run at the peak concurrency (same as
hold-for
in Taurus) -
rampUp
stringread-only
The length of time the test will take to ramp-up to full concurrency (same as
ramp-up
in Taurus) -
steps
integerread-only
The number of rampup steps (same as
steps
in Taurus) -
locations
objectread-only
The locations where the test will run
-
location Id
integerread-only
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 ORlocationsPercents
data, not both
-
-
locationsPercents
objectread-only
The percentage of users each location gets
-
location Id
integerread-only
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 ORlocations
data, not both
-
-
scenario
stringread-only
BlazeMeter scenario reference for this execution
-
-
shouldSendReportEmail
booleanSets the box for whether an email is sent upon completion of a test run
-
dependencies
objectThe mock service details to be used with this test
-
services
arrayThe list of mock services to be used in this test
-
service
stringThe name of the mock service. Use the List Mock Services API to find the name
-
mock-service
stringThe name of the running mock service instance. Use the List Mock Services API to find the mock service
-
mock-service-template
stringThe name of the mock service template. Use the List Mock Service Templates API to find the template
-
-
-
created
integerread-only
The time that the test was created
-
updated
integerread-only
The time that the test was last updated
-
projectId
integerrequired
The
projectId
to which this test belongs -
lastUpdatedById
integerread-only
The ID of the last user that updated the test
-
configuration
objectContains all the advanced BlazeMeter related configurations (i.e. running file, JMeter properties, etc.)
-
type
stringThe test type. Must be
functionalApi
-
canControlRampup
booleanIf the user includes a Concurrency Thread Group in their JMX, this parameter indicates if the feature for pausing and resuming ramp-up is enabled
-
targetThreads
integerThe target number of threads (this has no effect on this test type). For example:
500
-
enableHostsOverride
booleanEnables the Hosts Override plugin
-
enableMockServices
boolean -
scriptType
stringThe script types available. Includes:
apiritif
gatling
grinder
jmeter
locust
nose
pbench
pytest
robot
selenium
siege
taurus
-
threads
integerThe number of threads each engine (serversCount) should use (this has no effect on this test type). For example,
250
.
Minimum:1
Maximum:1000
OR plan limit -
filename
stringThe 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 -
testMode
stringThe mode this test was made with. Can only be
script
-
plugins
objectContains settings for shared folders, JMeter properties, and DNS overrides
-
hosts
arrayContains an array of DNS override settings
-
hostname
stringThe host IP or DNS (i.e. my.hostname.com)
-
ip
stringThe host IP/DNS override (i.e. 127.0.0.1)
-
-
sharedFolders
arrayList of
folderId
s to be included -
jmeter
objectJMeter settings for this test
-
version
stringSet the JMeter version. Valid values:
auto
5.2.1
5.1
5.0
4.0
3.3
3.2
3.1
3.0
2.13
-
-
-
Create a Test
API Explorer: /tests
To create a test:
- Create the test object with a POST to the test endpoint (see sample create GUI Functional test request).
- Capture the
testId
returned asid
from the response.
For a full breakdown of the GUI Functional test, see The GUI Functional Test Object.
Create a GUI Functional Test Request Attributes
Create a GUI Functional Test
curl 'https://a.blazemeter.com/api/v4/tests' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name":"API Created GUI Functional Test","projectId":123456,"isNewTest":true,"shouldSendReportEmail":false,"configuration":{"type":"functionalGui","testMode":"script"},"overrideExecutions":[{"iterations":1}]}'
Create a Test Create a GUI Functional Test POST Body (JSON)
{
"name": "API Created GUI Functional Test",
"projectId": 123456,
"isNewTest": true,
"shouldSendReportEmail": false,
"configuration": {
"type": "functionalGui",
"testMode":"script"
},
"overrideExecutions": [
{
"iterations": 1
}
]
}
Attributes
-
name
stringrequired
The test name
-
projectId
integerrequired
The
projectId
you will place the test in -
isNewTest
booleanSignifies this is a new test
-
shouldSendReportEmail
booleanDenotes if an email will be sent after the test runs
-
configuration
objectContains all the advanced BlazeMeter related configurations (i.e. running file, JMeter properties, etc.)
-
type
stringrequired
The test type. Must be,
functionalGui
-
testMode
stringrequired
The test mode this test will use. Can be the following values:
script
- Use when uploading your own script (i.e. Taurus YAML configuration, JMeter script, etc.)http
- Used for URL tests in BlazeMeter
-
-
overrideExecutions
arrayThe test settings used when running the test in BlazeMeter
-
iterations
integerThe number of iterations to run
-
Create a GUI Functional Test Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"name": "API Created GUI Functional Test",
"isNewTest": true,
"userId": 123456,
"created": 1577463923,
"updated": 1577463923,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [],
"shouldSendReportEmail": false,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalGui",
"filename": "MyTest.jmx",
"canControlRampup": false,
"targetThreads": 0
}
},
"request_id": "5e063072e1786"
}
For the full details of all the attributes for the GUI Functional Test, you can visit The GUI Functional Test Object.
Upload or Update Asset Files
Upload or Update Asset Files
curl 'https://a.blazemeter.com/api/v4/tests/1234567/files' \
-X POST \
-F 'file=@/my/path/to/MyTest.jmx' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests/{testId}/files
To upload a file asset to a test, POST the file to the testId
of the test.
The sample code uploads a file (@/my/path/to/MyTest.jmx
) to a test with an ID of 1234567
. Replace @/my/path/to/MyText.jmx
with the actual path and file name and 1234567
with your testId
.
To update the contents of an uploaded file, repeat the same operation (upload the updated file using the same file name).
Upload or Update Asset Files Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "API Created API Functional Test",
"userId": 123456,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [
{
"iterations": 1,
"scenario": "default-scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1577382114,
"updated": 1577382115,
"configuration": {
"type": "functionalApi",
"filename": "MyTest.jmx",
"canControlRampup": false,
"targetThreads": 0
}
},
"request_id": "5e04f59830bd2"
}
For the all the supported attributes, see the The Test Object.
File Naming Requirements
Make sure your file names:
- Only include alphanumeric characters, underscores or hyphens:
[0-9],[aA-zZ],[_-]
. - Include an extension
- DO NOT include spaces
For example:
The file name my_file_no_4.csv
– is good. The file name m$ file&
– is bad.
Limitations on File Content
BlazeMeter cannot read files containing non-ASCII characters. You must remove all non-ASCII characters from your files before uploading and starting a test.
File Size
BlazeMeter has a file size limit of 50 MB per file that can be uploaded. You can upload multiple files of up to 50 MB each, as needed.
Impact of Uploaded Files on Start Time
The number and size of uploaded test file assets impacts the start time of the test:
- All files are downloaded to each test engine each time a test starts
- A test will not start until all of the files are downloaded.
List Test Files
List Test Files
curl 'https://a.blazemeter.com/api/v4/tests/1234567/files' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests/{testId}/files
To return a list of files in a test, a testId
is required. The sample code returns a list of files for the test with testId
of 1234567
. Use the actual ID values for the test to return the list of its files.
List Test Files Parameters
Parameters
-
name
stringThe unique string for a filename to search for. For example, the string
MyScript.yaml
will pull all results with this string in thename
of the file
List Test Files Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": [
{
"lastModified": 1592485932,
"name": "demoblaze.yml",
"size": 146,
"link": "https://storage.blazemeter.com/blazemeter-gcp/users/123456/tests/1234567/data/demoblaze.yml?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200620%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200620T140803Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=2d0d117c03e873ec6c3359807b21c4ae27b3cf8e55aabeb37d912d3177791ba4",
"linkExpire": 1592748483
}
],
"request_id": "5eee18439c6ed"
}
Attributes
-
lastModified
integerThe timestamp when the file was last modified
-
name
stringThe name of the file
-
size
integerThe size (in bytes) of the file
-
link
stringThe download link for the file. This link remains active for 20 minutes
-
linkExpire
integerThe timestamp of when the link will expire
Delete Asset Files
Delete a File
curl 'https://a.blazemeter.com/api/v4/tests/1234567/delete-file' \
-X POST \
-H "Content-Type: application/json" \
--user 'api_key_id:api_key_secret' \
-d '{"fileName":"MyTest.jmx"}'
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 1234567
. Replace MyTest.jmx
with the actual file name and 1234567
with your testId
.
Delete Asset Files Request Attributes
Delete a File Delete a File Sample POST Body (JSON)
{
"fileName": "MyTest.jmx"
}
Attributes
-
fileName
stringrequired
Denotes which file to delete
Delete Asset Files Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": true
}
The result
attribute will be true
if the data file was deleted successfully.
Validate a File
Validate a File
curl 'https://a.blazemeter.com/api/v4/tests/1234567/validate' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"files": [{"fileName": "DemoBlaze-Selenium-.yaml"}]}'
API Explorer: /tests/{testId}/validate
To validate a JMeter or Taurus YAML file, use POST to run a validation for the given file (you need to know the testId
). The sample code validates the file DemoBlaze-Selenium-.yaml
in a test with an ID of 1234567
(the 1234567
is contained in the URL).
Validate a File Request Attributes
Validate a File Validate a File POST Body (JSON)
{
"files": [
{
"fileName": "DemoBlaze-Selenium-.yaml"
}
]
}
Attributes
-
files
arrayList of files to be validated
-
fileName
stringThe
filename
of the file to validate. Must be uploaded to the test to properly run
-
Validate a File Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"success": true,
"files": {
"DemoBlaze-Selenium-.yaml": true
}
},
"request_id": "5e0a5729d60c5"
}
Attributes
-
success
booleanDenotes if the request got a successful response
-
files
objectThe file details of the validated file
-
filename
booleanDenotes whether the validation for the given
filename
was successful
-
Check File Validation
Check File Validation
curl 'https://a.blazemeter.com/api/v4/tests/1234567/validations' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests/{testId}/validations
To get the status of the test file validations, use GET to pull the validation list for a given test (you need to know the testId
). The sample code gets the file validations for a test with a test ID of 1234567
(the 1234567
is contained in the URL).
Check File Validation Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": [
{
"status": 100,
"timestamp": 1577735981,
"fileName": "DemoBlaze-Selenium-.yaml",
"errors": [],
"warnings": [
"Please note: Some executions in your script did not configure a concurrency; they will run with 1 concurrent user",
"Please note: Some executions in your script will run according to your plan's duration limitation (execution #1)",
"Please note: Some executions in your script did not configure locations, and will run from the default location"
],
"dependencies": [],
"totalDuration": 0,
"totalConcurrency": 0,
"lastContainerName": "7554662-torero-5e0a572a0c82a",
"lastContainerCommand": "files_validation",
"executions": [
{
"iterations": 1,
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome"
},
"scenario": "DemoBlaze-Selenium"
}
],
"dedicatedIps": false,
"delayedStart": false,
"splitCsv": false,
"commandsExecutionIndex": {
"files_validation": 2
},
"isInlineScenarioExists": false,
"hasUltimateThreadGroup": false,
"hasMultipleThreadGroups": false,
"globalLocations": [],
"created": 1577464134,
"updated": 1577735981,
"isMultiLocation": false,
"fileWarnings": [],
"totalLoadGenerators": 1
}
],
"request_id": "5e0a5899ee0e0"
}
Attributes
-
status
integerThe status of the validation process. A status of
100
means completed -
timestamp
integerThe timestamp of when the validation is updated
-
fileName
stringThe filename of the file being validated
-
errors
arrayA list of errors found during the validation. If this is not empty, the test will not start
-
warnings
arrayA list of warnings found during the validation. The test will still run if this is not empty
-
dependencies
arrayA list of mock services found during the validation
-
executions
arrayExecutions found in the validated script
-
iterations
integerThe number of iterations to run (same as
iterations
in Taurus) -
locationsWeighted
booleanDenotes whether the locations values are weighted or not. Same as
locations-weighted
in Taurus -
executor
stringThe script type you are running (similar to
executor
in Taurus). Includes the following:gatling
grinder
jmeter
locust
pbench
selenium
siege
-
capabilities
objectThe browser capabilities being used by this script
-
scenario
stringBlazeMeter scenario reference for GUI reports
-
-
commandsExecutionIndex
objectThe details on the commands run for this test validation
-
files_validation
integerThe number of times the validation has been run on the specific file
-
-
isInlineScenarioExists
booleanDenotes if the script contains inline scenario names or not
-
hasUltimateThreadGroup
booleanDenotes if the script contains an Ultimate thread group or not
-
hasMultipleThreadGroups
booleanDenotes if the script contains multiple thread groups or not
-
created
integerThe timestamp of when the validation is created
-
updated
integerThe timestamp of when the validation is updated
-
fileWarnings
arrayList of warnings regarding files
Update a Test
Update a Test
curl 'https://a.blazemeter.com/api/v4/tests/1234567' \
-X PUT \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"configuration":{"filename":"MyTest.jmx"}}'
API Explorer: /tests/{testId}
To update a test, use PUT to replace the provided parameter values for a test specified by its testId
.
If you do not know the testId
, use List Tests to return a list of all your existing tests to identify the ID.
The sample code shown here updates a test with an ID of 1234567
(the 1234567
is contained in the URL)
and it replaces the old parameter "configuration" with a new "configuration" that uses the MyTest.jmx
script.
Another common example would be to update the "dependencies" parameter which contains test data.
See The API Functional Test Object, and
The GUI Functional Test Object for all the parameters that you can modify.
Update a Test Request Attributes
Update a Test Update a Test PUT Body (JSON)
{
"configuration": {
"filename": "MyTest.jmx"
}
}
}
Attributes
-
configuration
objectContains all the advanced BlazeMeter related configurations (i.e. running file, JMeter properties, etc.)
-
filename
stringThe name of the file to start the test with. For example,
BlazeDemoTest.jmx
.
Note: You must also upload the file - see Upload or Update Asset Files
-
Update Test Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "API Created API Functional Test",
"userId": 123456,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [
{
"iterations": 1,
"scenario": "default-scenario-7552536"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1577382114,
"updated": 1577389061,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"scriptType": "jmeter",
"filename": "MyTest.jmx",
"testMode": "script",
"plugins": {
"jmeter": {
"version": "auto"
}
}
}
},
"request_id": "5e050c057ae17",
"test": {
"id": 1234567,
"isNewTest": true,
"name": "API Created API Functional Test",
"userId": 123456,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [
{
"iterations": 1,
"scenario": "default-scenario-7552536"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1577382114,
"updated": 1577389061,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"scriptType": "jmeter",
"filename": "MyTest.jmx",
"testMode": "script",
"plugins": {
"jmeter": {
"version": "auto"
}
}
}
}
}
See the The Test Object response attributes for a detailed breakdown of the response attributes.
List Tests
List Tests
curl 'https://a.blazemeter.com/api/v4/tests?workspaceId=123456&type=functionalApi' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests
To return a list of created functional tests, a projectId
or a workspaceId
and a type
attribute is required. The sample code returns a list for items with a workspaceId
of 123456
and a type
of functionalApi
. Use the actual ID values for the project or workspace and one of the type
values (can be functionalApi
(API Functional tests) or functionalGui
(GUI Functional tests)) to return the list of its tests. Use the actual ID values for the project or workspace and type
value to return the list of its tests.
You can return a list specifying either a projectId
, a workspaceId
, or both and a type
. The returned list contains each test's testId
(shows up as id
in the response) and configuration.
List Tests Parameters
Parameters
-
projectId
integerrequired
The
projectId
you are wanting to get the list of tests from -
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of tests from -
name
stringThe unique string for a test name to search for. For example, the string
My Test
will pull all results with this string in thename
of the test -
platform
stringThe platform of tests to search for. This will always be
functional
for API and GUI functional tests -
type
stringSearches by the test type. The following values are for functional:
functionalApi
- Returns a list of API Functional testsfunctionalGui
- Returns a list of GUI Functional tests
-
hasExecutions
booleanShows the list of tests that have (if set to
true
) or have no (if set tofalse
) masters
Also see: Pagination and Sorting
List Tests Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 47,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 1234567,
"name": "API Created API Functional Test",
"isNewTest": true,
"userId": 123456,
"created": 1577382114,
"updated": 1577389061,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [
{
"iterations": 1,
"scenario": "default-scenario-1234567"
}
],
"shouldSendReportEmail": false,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"scriptType": "jmeter",
"filename": "MyTest.jmx",
"testMode": "script",
"plugins": {
"jmeter": {
"version": "auto"
}
}
}
},
{
"id": 2345678,
"name": "December_26_11:36 AM - API Functional Test",
"isNewTest": true,
"userId": 123456,
"created": 1577381775,
"updated": 1577383294,
"creatorClientId": "gui",
"overrideExecutions": [
{
"executor": "jmeter",
"holdFor": "19m",
"rampUp": "1m",
"concurrency": 20,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"steps": 0
}
],
"executions": [
{
"concurrency": 20,
"holdFor": "19m",
"rampUp": "1m",
"steps": 0,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"executor": "jmeter",
"scenario": "default-scenario-2345678"
}
],
"shouldSendReportEmail": false,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 500,
"scriptType": "jmeter",
"threads": 500,
"filename": "DemoBlaze.jmx",
"testMode": "script",
"plugins": {
"jmeter": {
"version": "auto"
}
}
}
}
...
]
}
For the all the supported attributes, see the The API Functional Test Object and The GUI Functional Test Object.
Test Details
Test Details
curl 'https://a.blazemeter.com/api/v4/tests/1234567' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests/{testId}
To return the details of a specific test, a testId
is required. The sample code returns for a testId
of 1234567
. Use the actual ID value for the test to return the detail of that test.
Test Details GUI Functional Test Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "GUI Functional Test",
"description": "This test uses every GUI Functional test configuration we have.",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
}
},
{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"capabilities": {
"browserName": "firefox",
"browserVersion": "65",
"blazemeter_videoEnabled": true
}
}
],
"executions": [{
"iterations": 1,
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "demoblaze-Selenium",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"concurrency": 1
},
{
"iterations": 1,
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "firefox",
"browserVersion": "65",
"blazemeter_videoEnabled": true
},
"scenario": "demoblaze-Selenium",
"locations": {
"harbor-5ab3c64ec8589f914c7b25db": 1
},
"concurrency": 1
}
],
"shouldSendReportEmail": false,
"dependencies": {
"services": [{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}]
},
"created": 1592488617,
"updated": 1592489934,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalGui",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": true,
"scriptType": "taurus",
"filename": "demoblaze--Selenium.yaml",
"testMode": "script",
"extraSlots": 0,
"plugins": {
"sharedFolders": [
"5e5552e75eed7c2c531142c5"
]
}
}
},
"request_id": "5eeb77dd31348"
}
For the all the supported attributes, see the The GUI Functional Test Object.
Test Details API Functional Test Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 1234567,
"isNewTest": true,
"name": "API Functional Test",
"description": "This test uses every API Functional test configuration we have.",
"userId": 123456,
"creatorClientId": "api",
"overrideExecutions": [{
"executor": "",
"holdFor": "19m",
"rampUp": "1m",
"concurrency": 20,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"steps": 0
}],
"executions": [{
"concurrency": 20,
"holdFor": "19m",
"rampUp": "1m",
"steps": 0,
"locations": {
"us-east4-a": 20
},
"locationsPercents": {
"us-east4-a": 100
},
"scenario": "default-scenario-1234567"
}],
"shouldSendReportEmail": true,
"dependencies": {
"services": [{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}]
},
"created": 1592489620,
"updated": 1592489637,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 500,
"enableHostsOverride": true,
"enableMockServices": true,
"scriptType": "",
"threads": 500,
"filename": "demoblaze.yml",
"testMode": "script",
"extraSlots": 0,
"plugins": {
"hosts": [{
"hostname": "my.domain.com",
"ip": "10.10.10.10"
}],
"sharedFolders": [
"5e5552e75eed7c2c531142c5"
],
"jmeter": {
"version": "auto"
}
}
}
},
"request_id": "5eeb77024fe58"
}
For the all the supported attributes, see the The API Functional Test Object.
Duplicate a Test
Duplicate a Test
curl 'https://a.blazemeter.com/api/v4/tests/1234567/duplicate' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret'
API Explorer: /tests/{testId}/duplicate
To duplicate a test, a testId
is required. The sample code duplicates the test with the testId
of 1234567
. Use the actual ID value for the test to return the detail of that test.
Duplicate a GUI Functional Test Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 2345678,
"name": "API Created GUI Functional Test",
"isNewTest": true,
"userId": 123456,
"created": 1577463923,
"updated": 1577463923,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [],
"shouldSendReportEmail": false,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalGui",
"filename": "MyTest.jmx",
"canControlRampup": false,
"targetThreads": 0
}
},
"request_id": "5e063072e1786"
}
For the full details of all the attributes for the GUI Functional Test, you can visit The GUI Functional Test Object.
Duplicate an API Functional Test Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 2345678,
"name": "API Created API Functional Test",
"isNewTest": true,
"userId": 123456,
"created": 1577382114,
"updated": 1577382115,
"creatorClientId": "api",
"overrideExecutions": [
{
"iterations": 1
}
],
"executions": [
{
"iterations": 1,
"scenario": "default-scenario"
}
],
"shouldSendReportEmail": false,
"projectId": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "functionalApi",
"filename":"MyTest.jmx",
"canControlRampup": false,
"targetThreads": 0
}
},
"request_id": "5e04f0e2d830d"
}
For the full details of all the attributes for the API Functional Test, you can visit The API Functional Test Object.
Delete a Test
Delete a Test
curl 'https://a.blazemeter.com/api/v4/tests/1234567' \
-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 1234567
. Use the testId
of the actual test to delete in place of the 1234567
.
Test Suites
When you create a test suite, you are creating a multi-test
and collection
object configured with specific parameters.
Once you have created a test suite, added tests
to the test suite and you can start the test, which will create a master
for reporting.
You will be able to combine API functional and GUI functional tests into a single test suite.
The Multi-Test Object
The Multi-Test Object
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "Functional Test Validation",
"description": null,
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": 1586202190,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b86c7f5e86da28c337b23c6": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 1235467,
"scenario": "Scenario 1"
}
],
"overrideExecutions": []
},
{
"testId": 2345678,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"testId": 2345678,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": true,
"created": 1586202000,
"updated": 1592571681,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1587683984,
"name": "Santander Proxy GUI Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [],
"executions": [
{
"iterations": 1,
"locations": {
"harbor-5b86c7f5e86da28c337b23c6": 1
},
"locationsWeighted": true,
"executor": "selenium",
"scenario": "Scenario 1",
"concurrency": 1
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1579700364,
"updated": 1587683980,
"configuration": {
"type": "functionalGui",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "test.yaml",
"testMode": "script"
},
"fileErrors": []
},
{
"id": 2345678,
"isNewTest": true,
"lastRunTime": 1592571681,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1592571681,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
},
"fileErrors": []
}
],
"masters": [
{
"id": 12345678,
"name": "Functional Test Validation",
"userId": 123456,
"ended": 1586202434,
"lastUpdate": 1586202211,
"delayedStartReady": true,
"runnerUserId": 123456,
"charges": [],
"terminateWorkersExecuted": false,
"hasData": true,
"passed": true,
"parallelTestsInWorkspace": 2,
"parallelTestsInAccount": 2,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "gui",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"locations": [
"harbor-5d25f94f9950ce73cd105f53",
"harbor-58d3b97ff132adc0347b23c6"
],
"scenariosMapping": [
{
"id": "0d0893db262df70451440cc9fafb1cb29e953ab538fb5d985b15892e1975232e",
"name": "Scenario 1",
"test": "GUI Functional Validation Test",
"isEndUserExperience": false
},
{
"id": "3b72f4fdbd4000b35e51e4d4db89fe2a02ea2f34f504bfd2c069e6de535f4c62",
"name": "My Scenario",
"test": "API Functional Validation Test",
"isEndUserExperience": false
}
],
"isDebugRun": false,
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"locations": {
"harbor-5d25f94f9950ce73cd105f53": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 1234567,
"scenario": "Scenario 1"
},
{
"concurrency": 1,
"holdFor": "42720s",
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 2345678,
"scenario": "My Scenario"
}
],
"concurrency": 1,
"useV4Pipeline": false,
"v4IndexerCollection": "{\"execution\":[1],\"execution:1\":[\"r-v4-5e8b864e574e1\",\"r-v4-5e8b864e68567\"],\"session:1\":[\"r-v4-5e8b864e574e1\",\"r-v4-5e8b864e68567\"],\"location:1\":[\"harbor-5d25f94f9950ce73cd105f53\",\"harbor-58d3b97ff132adc0347b23c6\"]}",
"isSelenium": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasMonitoringData": true,
"shouldSendReportEmail": true,
"shouldUseDaggerReport": false,
"hasDaggerData": false,
"kinesisStream": "prod-blue_v4pipeline_input",
"useJetlag": false,
"jetpackLabels": [],
"dependencies": [
[]
],
"env": "https://a.blazemeter.com",
"created": 1586202190,
"updated": 1586202736,
"functionalSummary": {
"testsCount": 1,
"requestsCount": 1,
"errorsCount": 0,
"assertions": {
"count": 1,
"passed": 1
},
"responseTime": {
"sum": 558
},
"failedCount": 0,
"failedPercentage": 100
},
"gridSummary": {
"uniqueTestCasesCount": 1,
"uniqueSuitesCount": 1,
"passedTestCasesCount": 1,
"failedTestCasesCount": 0,
"brokenTestCasesCount": 0,
"totalTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 1,
"passedPercent": 1,
"started": 1586202407,
"ended": 1586202412,
"definedStatus": "passed"
},
"testSuiteSummary": {
"testsResult": [
{
"testId": 1234567,
"testName": "GUI Functional Validation Test",
"testType": "functionalGui",
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1,
"started": 1586202407.4205379,
"ended": 1586202412.6374972
},
{
"testId": 2345678,
"testName": "API Functional Validation Test",
"testType": "functionalApi",
"started": 1586202190,
"ended": 1586202408,
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1
}
],
"uniqueLocationNames": [
"EU West (London) - Functional GUI Test",
"Functional Testing Default Location"
],
"suiteSummary": {
"suitesPassed": 2,
"suitesTotal": 2,
"sessionsPassed": 2,
"sessionsTotal": 2,
"definedStatus": "passed",
"started": 1586202190,
"ended": 1586202412.6374972
},
"updated": 1586202736
}
}
]
},
"request_id": "5eee21a68abcb"
}
Attributes
-
id
integerread-only
The
collectionId
of the test suite -
name
stringrequired
The name of the test suite
-
description
stringThe description of the test suite. Will be
null
if empty -
collectionType
stringread-only
required
They type of multi test this is. Will always be
functionalTestSuite
for test suites -
userId
integerread-only
The unique identifier of the user. Also knwon as the
userId
-
lastRunTime
integerread-only
The timestamp of the last run
-
filesToSplit
arrayList of data files that have split CSV turned on. Not used in test suites
-
dataFiles
arrayList of data files attached to multi test. Not used in test suites
-
creatorClientId
stringread-only
The ID of the creator client. For example,
api
, orgui
-
testsForExecutions
arrayread-only
The list of tests that will be executed with this multi test
-
testId
integerread-only
The
testId
of test within multi test -
executions
arrayread-only
The execution settings from the file or last test run for this test
-
concurrency
integerread-only
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 asconcurrency
in Taurus -
iterations
integerread-only
The length of time the test will run at the peak concurrency (same as
hold-for
in Taurus) -
locations
objectread-only
The locations where the test will run
-
location Id
integerread-only
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 ORlocationsPercents
data, not both
-
-
locationsWeighted
booleanread-only
Denotes if the values in the
locations
attribute are weighted values or not (same aslocationsWeighted
in Taurus) -
executor
stringread-only
The script type you are running. Includes the following:
gatling
grinder
jmeter
locust
pbench
selenium
siege
-
testId
integerread-only
The
testId
of test within multi test -
scenario
stringread-only
BlazeMeter scenario reference for BlazeMeter reports
-
-
overrideExecutions
arrayThe override settings from the file or last test run for this test. Not used in test suites
-
-
shouldSendReportEmail
booleanDenotes whether an email is sent upon completion of a test run
-
created
integerread-only
The time that the test was created
-
updated
integerread-only
The time that the test was updated
-
projectId
integerrequired
The
projectId
to which this test belongs -
lastUpdatedById
integerread-only
The
userId
of the last user that updated the test -
tests
arrayread-only
A list of test details attached to this test suite
-
Test Object object
read-only
See the Test Object Attributes for the full deatils of this section
-
-
masters
arrayread-only
A list of master details attached to this test suite
-
Master Object object
read-only
See the Master Object Attributes for the full deatils of this section
-
Create a Test Suite
Create a Test Suite
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":"functionalTestSuite","name":"API Created Functional Suite Test","projectId":123456}'
API Explorer: /multi-tests
To create a test suite:
- Create the multi-test object with a POST to the multi-test endpoint (see sample code).
- Capture the
collectionId
returned asid
from the response. - Add tests to the test suite by using the
collectionId
, which is explained in the Add Tests to Test Suite section.
See Update a Test Suite for more information.
Create a Test Suite Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Create a Test Suite Create a Test Suite POST Body (JSON)
{
"collectionType": "functionalTestSuite",
"name": "API Created Functional Suite Test",
"projectId": 167798
}
Attributes
-
collectionType
stringrequired
The type of multi test. Always will be
functionalTestSuite
-
name
stringrequired
The name of the test suite
-
projectId
integerrequired
The
projectId
to which this test suite belongs
Create a Test Suite Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "API Created Functional Suite Test",
"collectionType": "functionalTestSuite",
"userId": 123456,
"created": 1591994426,
"updated": 1591994426,
"creatorClientId": "api",
"shouldSendReportEmail": false,
"projectId": 123456,
"filesToSplit": [],
"dataFiles": []
},
"request_id": "5ee3e83a4f1fa"
}
For the full details of all the attributes for the test suite (multi-test), you can visit The Multi-Test Object.
Add Tests to Test Suite
Add Tests to Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678/add-tests-executions' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '["1234567", "2345678"]'
API Explorer /multi-tests/{collectionId}/add-tests-executions
To add tests to a test suite, you need to provide a list of testId
s to be added. The sample code to the right is adding 2 tests (testId
1234567
and 2345678
) to the test suite with collectionId
of 12345678
. Replace the testId
s for each test you want to include (as strings) and replace collectionId
12345678
with the collectionId
of your test suite.
Add Tests to Test Suite Request Attributes
Add Tests to Test Suite Add Tests to Test Suite POST Body (JSON)
[
"1234567",
"2345678"
]
Attributes
-
testId
arrayrequired
List of
testId
s to be added to the test suite.testId
MUST all be in the sameprojectId
as the test suite
Add Tests to Test Suite Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 12354678,
"name": "API Created Functional Suite Test",
"description": null,
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": null,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
},
{
"testId": 2345678,
"executions": [
{
"concurrency": 1,
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 2345678,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"overrideExecutions": [
{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
}
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": false,
"created": 1591994426,
"updated": 1591994928,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1586202190,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1586202071,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
}
},
{
"id": 2345678,
"isNewTest": true,
"lastRunTime": 1588343976,
"name": "New Validation GUI Functional Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"executor": "selenium",
"scenario": "default-scenario",
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
}
}
],
"executions": [
{
"locationsWeighted": true,
"executor": "selenium",
"scenario": "Scenario 1",
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"concurrency": 1,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
}
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1587414523,
"updated": 1588343968,
"configuration": {
"type": "functionalGui",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "test.yaml",
"testMode": "scriptless",
"extraSlots": 0
},
"fileErrors": []
}
],
"masters": []
},
"request_id": "5ee3ea305c6c4"
}
For the full details of all the attributes for the test suite (multi-test), you can visit The Multi-Test Object.
Delete a Test in Test Suite
Delete a Test in Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678/remove-tests-executions' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"index": 1}'
API Explorer /multi-tests/{collectionId}/remove-tests-executions
To remove a test from a test suite, 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 test suite with the collectionId
of 12345678
, is deleted from the test suite.
Delete a Test in Test Suite Request Attributes
Delete a Test in Test Suite Delete a Test in Test Suite POST Body (JSON)
{
"index": 1
}
Attributes
-
index
integerrequired
Denotes which test will be deleted from the given test suite. For example,
0
will reference the first test attached to the test suite,1
will reference the second test attached to the test suite, etc.
Delete a Test in Test Suite Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 12354678,
"name": "API Created Functional Suite Test",
"description": null,
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": null,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": false,
"created": 1591994426,
"updated": 1591994928,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1586202190,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1586202071,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
}
}
],
"masters": []
},
"request_id": "5ee3ea305c6c4"
}
For the full details of all the attributes for the test suite (multi-test), you can visit The Multi-Test Object.
List Test Suites
List Test Suites
curl 'https://a.blazemeter.com/api/v4/mulit-tests?workspaceId=123456&platform=functional' \
--user 'api_key_id:api_key_secret'
API Explorer: /multi-tests
To return a list of created test suites, a projectId
or a workspaceId
and a platform
attribute is required. The sample code returns a list for test suites with a workspaceId
of 123456
and a platform
of functional
. Use the actual ID values for the project or workspace to return the list of its test suites. Use the actual ID values for the project or workspace and platform
value to return the list of its tests.
List Tests Parameters
Parameters
-
projectId
integerrequired
The
projectId
you are wanting to get the list of test suites from -
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of test suites from -
name
stringThe unique string for a test suite name to search for. For example, the string
My Test
will pull all results with this string in thename
of the test suite -
platform
stringThe platform of test suites to search for. This will always be
functional
for test suites
Also see: Pagination and Sorting
List Test Suites Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 5,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 12345678,
"name": "June_12_3:40 PM - Functional Suite Test",
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"lastRunTime": 1591995514,
"created": 1591994426,
"updated": 1592837282,
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
},
{
"testId": 2345678,
"executions": [
{
"concurrency": 1,
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 2345678,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"overrideExecutions": [
{
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"executor": "selenium",
"invalid": true,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "default-scenario"
}
]
}
],
"shouldSendReportEmail": false,
"projectId": 123456,
"filesToSplit": [],
"dataFiles": []
},
{
"id": 12345678,
"name": "June_12_3:40 PM - Functional Suite Test - Copy",
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"created": 1591995338,
"updated": 1592837282,
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
},
{
"testId": 2345678,
"executions": [
{
"concurrency": 1,
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 2345678,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"overrideExecutions": [
{
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"executor": "selenium",
"invalid": true,
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "default-scenario"
}
]
}
],
"shouldSendReportEmail": false,
"projectId": 123456,
"filesToSplit": [],
"dataFiles": []
},
...
],
"request_id": "5ef0e7cd3c885"
}
For the all the supported attributes, see the The Multi-Test Object.
Test Suite Details
Test Suite Details
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678?populateTests=true' \
--user 'api_key_id:api_key_secret'
API Explorer: /multi-tests/{collectionId}
To return the details of a specific test suite, a collectionId
is required. The sample code returns the test suite details for a collectionId
of 12345678
. Use the actual ID value for the test suite to return the detail of that test suite.
Test Suite Details Parameters
Parameters
-
populateTests
booleanDenotes if the response will show the included test details within the test suite response
Test Suite Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "Functional Test Validation",
"description": null,
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": 1586202190,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b86c7f5e86da28c337b23c6": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 1234567,
"scenario": "Scenario 1"
}
],
"overrideExecutions": []
},
{
"testId": 2345678,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"testId": 2345678,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": true,
"created": 1586202000,
"updated": 1592571681,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1587683984,
"name": "GUI Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [],
"executions": [
{
"iterations": 1,
"locations": {
"harbor-5b86c7f5e86da28c337b23c6": 1
},
"locationsWeighted": true,
"executor": "selenium",
"scenario": "Scenario 1",
"concurrency": 1
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1579700364,
"updated": 1587683980,
"configuration": {
"type": "functionalGui",
"dedicatedIpsEnabled": false,
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "test.yaml",
"testMode": "script"
},
"fileErrors": []
},
{
"id": 2345678,
"isNewTest": true,
"lastRunTime": 1592571681,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1592571681,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
},
"fileErrors": []
}
],
"masters": [
{
"id": 12345678,
"name": "Functional Test Validation",
"userId": 123456,
"ended": 1586202434,
"lastUpdate": 1586202211,
"delayedStartReady": true,
"runnerUserId": 123456,
"charges": [],
"terminateWorkersExecuted": false,
"hasData": true,
"passed": true,
"parallelTestsInWorkspace": 2,
"parallelTestsInAccount": 2,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "gui",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"locations": [
"harbor-5d25f94f9950ce73cd105f53",
"harbor-58d3b97ff132adc0347b23c6"
],
"scenariosMapping": [
{
"id": "0d0893db262df70451440cc9fafb1cb29e953ab538fb5d985b15892e1975232e",
"name": "Scenario 1",
"test": "GUI Functional Validation Test",
"isEndUserExperience": false
},
{
"id": "3b72f4fdbd4000b35e51e4d4db89fe2a02ea2f34f504bfd2c069e6de535f4c62",
"name": "My Scenario",
"test": "API Functional Validation Test",
"isEndUserExperience": false
}
],
"isDebugRun": false,
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"locations": {
"harbor-5d25f94f9950ce73cd105f53": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 1234567,
"scenario": "Scenario 1"
},
{
"concurrency": 1,
"holdFor": "42720s",
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 2345678,
"scenario": "My Scenario"
}
],
"concurrency": 1,
"useV4Pipeline": false,
"v4IndexerCollection": "{\"execution\":[1],\"execution:1\":[\"r-v4-5e8b864e574e1\",\"r-v4-5e8b864e68567\"],\"session:1\":[\"r-v4-5e8b864e574e1\",\"r-v4-5e8b864e68567\"],\"location:1\":[\"harbor-5d25f94f9950ce73cd105f53\",\"harbor-58d3b97ff132adc0347b23c6\"]}",
"isSelenium": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasMonitoringData": true,
"shouldSendReportEmail": true,
"shouldUseDaggerReport": false,
"hasDaggerData": false,
"kinesisStream": "prod-blue_v4pipeline_input",
"useJetlag": false,
"jetpackLabels": [],
"dependencies": [
[]
],
"env": "https://a.blazemeter.com",
"created": 1586202190,
"updated": 1586202736,
"functionalSummary": {
"testsCount": 1,
"requestsCount": 1,
"errorsCount": 0,
"assertions": {
"count": 1,
"passed": 1
},
"responseTime": {
"sum": 558
},
"failedCount": 0,
"failedPercentage": 100
},
"gridSummary": {
"uniqueTestCasesCount": 1,
"uniqueSuitesCount": 1,
"passedTestCasesCount": 1,
"failedTestCasesCount": 0,
"brokenTestCasesCount": 0,
"totalTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 1,
"passedPercent": 1,
"started": 1586202407,
"ended": 1586202412,
"definedStatus": "passed"
},
"testSuiteSummary": {
"testsResult": [
{
"testId": 1234567,
"testName": "GUI Functional Validation Test",
"testType": "functionalGui",
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1,
"started": 1586202407.4205379,
"ended": 1586202412.6374972
},
{
"testId": 2345678,
"testName": "API Functional Validation Test",
"testType": "functionalApi",
"started": 1586202190,
"ended": 1586202408,
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1
}
],
"uniqueLocationNames": [
"EU West (London) - Functional GUI Test",
"Functional Testing Default Location"
],
"suiteSummary": {
"suitesPassed": 2,
"suitesTotal": 2,
"sessionsPassed": 2,
"sessionsTotal": 2,
"definedStatus": "passed",
"started": 1586202190,
"ended": 1586202412.6374972
},
"updated": 1586202736
}
}
]
},
"request_id": "5ef0e123710ba"
}
For the all the supported attributes, see the The Multi-Test Object.
Update a Test Suite
Update a Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678' \
-X PUT \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"description": "This is an update."}'
API Explorer: /multi-tests/{collectionId}
To update a test suite, use PUT to change the provided configuration for a given test suite (you need to know the collectionId
). The sample code updates a test suite with an ID of 12345678
(the 12345678
is contained in the URL) with the new configuration of using the MyTest.jmx
script.
Update a Test Suite Request Attributes
Update a Test Suite Update a Test Suite PUT Body (JSON)
{
"description": "This is an update."
}
Attributes
-
description
stringThe description of the test suite. Will be
null
if empty
Update a Test Suite Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "API Created Functional Suite Test",
"description": "This is an update.",
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": null,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": false,
"created": 1591994426,
"updated": 1591994928,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1586202190,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1586202071,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
}
}
],
"masters": []
},
"request_id": "5ee3ea305c6c4"
}
For the all the supported attributes, see the The Multi-Test Object.
Duplicate a Test Suite
Duplicate a Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678/duplicate' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret'
API Explorer: /multi-tests/{collectionId}/duplicate
To duplicate a test suite, a collectionId
is required. The sample code duplicates the test suite with the collectionId
of 12345678
. Use the actual ID value for the test suite to return the detail of that test suite.
Duplicate a Test Suite Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": 23456789,
"name": "API Created Functional Suite Test - Copy",
"description": null,
"collectionType": "functionalTestSuite",
"userId": 123456,
"items": [],
"oldVersionId": null,
"lastRunTime": null,
"draftId": null,
"filesToSplit": [],
"dataFiles": [],
"creatorClientId": "gui",
"testsForExecutions": [
{
"testId": 1234567,
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"testId": 1234567,
"scenario": "My Scenario"
}
],
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
]
}
],
"migratedFromTestCollectionId": null,
"migratedToTestId": null,
"v4MigratedDate": null,
"underMigration": null,
"shouldSendReportEmail": false,
"created": 1591994426,
"updated": 1591994928,
"note": null,
"projectId": 123456,
"lastUpdatedById": null,
"kpiTrackingData": null,
"tests": [
{
"id": 1234567,
"isNewTest": true,
"lastRunTime": 1586202190,
"name": "API Functional Validation Test",
"userId": 123456,
"creatorClientId": "gui",
"overrideExecutions": [
{
"iterations": 1,
"executor": "taurus"
}
],
"executions": [
{
"concurrency": 1,
"iterations": 1,
"locations": {
"harbor-58d3b97ff132adc0347b23c6": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"shouldSendReportEmail": false,
"dependencies": [],
"created": 1586201920,
"updated": 1586202071,
"configuration": {
"type": "functionalApi",
"canControlRampup": false,
"targetThreads": 0,
"enableMockServices": false,
"scriptType": "taurus",
"filename": "blazemeter_functional_script.yaml",
"testMode": "http",
"extraSlots": 0
}
}
],
"masters": []
},
"request_id": "5ee3ea305c6c4"
}
For the full details of all the attributes for the test suite (multi-test), you can visit The Multi-Test Object.
Delete a Test Suite
Delete a Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678' \
-X DELETE \
--user 'api_key_id:api_key_secret'
Response 204 No content
API Explorer: /multi-tests/{collectionId}
To delete a test suite, DELETE its ID (you need to know the collectionId
). The sample code deletes a test suite with an ID of 12345678
. Use the collectionId
of the actual test suite to delete in place of the 12345678
.
Test Runs
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.
A single master
will reference the results for a single test or test suite.
The Master Object
The GUI Functional Master Object
The GUI Functional Master Object
{
"api_version": 4,
"error": null,
"result": {
"id": 27680681,
"name": "API Created GUI Functional Test",
"userId": 344260,
"publicToken": "LzqK6jza6MRvaJG2RwB3WIRzOtQcX8YjAlG4sW4EtxPVTvsTKp",
"ended": 1587477270,
"delayedStartReady": false,
"runnerUserId": 344260,
"charges": [],
"created": 1587477158,
"updated": 1587477575,
"note": "My Note",
"passed": true,
"parallelTestsInWorkspace": 1,
"parallelTestsInAccount": 1,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "gui",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"isDebugRun": false,
"locations": [
"harbor-5e0e68b9568b27689176f3b4"
],
"scenariosMapping": [
{
"id": "142087c3061a88b9b02284597ff3c836abcb4800a3f8f3c4e2513c5b762eef15",
"name": "Scenario 1",
"test": "April_20_3:28 PM - GUI Functional Test",
"isEndUserExperience": false
}
],
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"locations": {
"harbor-5e0e68b9568b27689176f3b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome",
"browserVersion": "69",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"useV4Pipeline": false,
"isSelenium": true,
"hasMonitoringData": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasDaggerData": false,
"hasData": true,
"shouldUseDaggerReport": false,
"dependencies": [
[
{
"services": [
{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}
]
}
]
],
"testId": 7943742,
"projectId": 573256,
"sessionsId": [
"r-v4-5e9efaa6e8d95",
"r-sg-5e9efab3ca407"
],
"thumbnailUrl": null,
"hasErrorsPerInterval": true,
"gridSummary": {
"uniqueTestCasesCount": 1,
"uniqueSuitesCount": 1,
"passedTestCasesCount": 1,
"failedTestCasesCount": 0,
"brokenTestCasesCount": 0,
"totalTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 1,
"passedPercent": 1,
"started": 1587477193,
"ended": 1587477257,
"definedStatus": "passed"
},
"sessions": [
"r-v4-5e9efaa6e8d95",
"r-sg-5e9efab3ca407"
],
"jetpackLabels": []
},
"request_id": "5ef1fadee24e0"
}
Attributes
-
id
integerread-only
The unique identifier of the master. This is known as the
masterId
and cannot be modified -
name
stringThe test report (master) name
-
userId
integerread-only
The
userId
of the user to access the API -
publicToken
stringread-only
The public token that is added to the report link to share the report
-
ended
integerread-only
End time of this
master
(or test report) -
delayedStartReady
booleanread-only
Denotes whether the test run was delayed to sync with other engines
-
runnerUserId
integerread-only
The
userId
of the user to run the master -
created
integerread-only
The time that the master was created
-
updated
integerread-only
The time that the master was updated
-
passed
booleanread-only
Denotes whether the test run passed or failed its test criteria
-
parallelTestsInWorkspace
integerread-only
Number of masters running in parallel in the workspace with this master
-
parallelTestsInAccount
integerread-only
Number of masters running in parallel in the account with this master
-
isPrivateData
booleanread-only
Denotes if the data was generated from Private Cloud instance
-
executionMode
stringread-only
List of scenarios in test run. Contains a
scenarioId
s for each scenario (found in theid
attribute) -
creatorClientId
stringread-only
The ID of the creator client of the test. Can be either of the following:
api
- Denotes test was created through the API
gui
- Denotes test was created through the GUI -
executorClientId
stringread-only
The ID of the executor client of the test run (master). Can be either of the following:
api
- Denotes test was created through the API
gui
- Denotes test was created through the GUI -
secondsPerLabelDoc
integerread-only
Denotes the per label KPI values in seconds. Not used in API functional tests
-
isDebugRun
booleanread-only
Denotes if this test was run in debug mode. Not applicable to API Functional tests
-
locations
arrayread-only
The list of locations where this master ran
-
scenariosMapping
arrayread-only
A list of scenarios tied to this test run
-
id
stringread-only
The
scenarioId
for this scenario -
name
stringread-only
The name of this scenario
-
test
stringread-only
The name of the test this scenario is tied to
-
isEndUserExperience
booleanread-only
Denotes if the End User Experience was used for this test. Not applicable for API Functional tests
-
-
executions
arrayread-only
The execution settings for this test run
-
concurrency
integerread-only
The number of concurrent virtual users simulated that ran on this location. For example,
20
will set the test to run with 20 concurrent users. Minimum:1
. Same asconcurrency
in Taurus. Not applicable with API functional tests -
holdFor
stringread-only
The length of time the master ran at the peak concurrency (same as
hold-for
in Taurus). Not applicable with API functional tests -
locations
objectread-only
The locations where the master ran
-
location Id
integerread-only
The
location Id
of the location the master ran in. The value is the number of users that ran on that location
-
-
locationsWeighted
booleanread-only
Denotes if the values in the
locations
attribute are weighted values or not (same aslocationsWeighted
in Taurus) -
executor
stringread-only
The script type you are running (similar to
executor
in Taurus). Will always beselenium
for GUI functional tests -
capabilities
objectread-only
The webdriver capabilities to be used with this test
-
browserName
stringread-only
The type of browser used in the test run. Can be either
chrome
, for Chrome, orfirefox
, for Firefox -
browserVersion
stringread-only
The browser version u8sed in the test run. See the GUI Functional Capabilities section for details on the values that can go into this attribute
-
blazemeter_videoEnabled
booleanread-only
Denotes the GUI test recorded a video of the test run
-
-
scenario
stringread-only
BlazeMeter scenario reference for GUI reports
-
-
isSelenium
booleanread-only
Denotes if this test ran with Selenium
-
rpsCompatible
booleanread-only
Denotes if this test ran with the RPS control feature. Does not apply to GUI functional tests
-
remoteControlCompatible
booleanread-only
Denotes if this test ran with the Remote Control feature. Does not apply to GUI functional tests
-
hasData
booleanread-only
Denotes if this test returned data
-
dependencies
objectread-only
The mock service details to be used with this test
-
services
arrayread-only
The list of mock services to be used in this test
-
service
stringread-only
The name of the mock service. Use the List Mock Services API to find the name
-
mock-service
stringread-only
The name of the running mock service instance. Use the List Mock Services API to find the mock service
-
mock-service-template
stringread-only
The name of the mock service template. Use the List Mock Service Templates API to find the template
-
-
-
testId
integerread-only
Denotes if the
testId
tied to themaster
(or test report) -
projectId
integerread-only
Denotes if the
projectId
themaster
(or test report) is located -
sessionsId
arrayread-only
Contains a list of all the
sessionId
s assigned to themaster
(or test report) -
gridSummary
objectread-only
The GUI functional test summary details. See the GUI Functional Summary Object Attributes for the full deatils of this section
-
sessions
arrayread-only
List of
sessionId
s tied to this test run -
jetpackLabels
arrayread-only
The jetpack (V4) label information. Not used in GUI functional tests
The API Functional Master Object
The API Functional Master Object
{
"api_version": 4,
"error": null,
"result": {
"id": 29329152,
"name": "API Functional Validation Test",
"userId": 344260,
"publicToken": "RUSd9VYDPnIW5SmBWDkqRXeovQ5U0XFtwGCLNikkxgELMGSafl",
"ended": 1592571712,
"delayedStartReady": false,
"runnerUserId": 344260,
"charges": [],
"created": 1592571681,
"updated": 1592572015,
"passed": true,
"parallelTestsInWorkspace": 1,
"parallelTestsInAccount": 1,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "gui",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"isDebugRun": false,
"locations": [
"harbor-5b0323b3c648be3b4c7b23c8"
],
"scenariosMapping": [
{
"id": "3b72f4fdbd4000b35e51e4d4db89fe2a02ea2f34f504bfd2c069e6de535f4c62",
"name": "My Scenario",
"test": "API Functional Validation Test",
"isEndUserExperience": false
}
],
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"durationIsNotConfigured": true,
"iterations": 1,
"locations": {
"harbor-5b0323b3c648be3b4c7b23c8": 1
},
"locationsWeighted": true,
"scenario": "My Scenario"
}
],
"useV4Pipeline": false,
"isSelenium": false,
"hasMonitoringData": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasDaggerData": false,
"hasData": true,
"shouldUseDaggerReport": false,
"dependencies": [
[
{
"services": [
{
"service": "BlazeDemo",
"mock-service": "Entries Mock Service",
"mock-service-template": "Blazedemo Entries Template"
}
]
}
]
],
"testId": 7895446,
"projectId": 573256,
"sessionsId": [
"r-v4-5eecb721e4da3"
],
"thumbnailUrl": null,
"hasErrorsPerInterval": true,
"functionalSummary": {
"testsCount": 1,
"requestsCount": 1,
"errorsCount": 0,
"assertions": {
"count": 1,
"passed": 1
},
"responseTime": {
"sum": 512
},
"failedCount": 0,
"failedPercentage": 100
},
"sessions": [
"r-v4-5eecb721e4da3"
],
"jetpackLabels": []
},
"request_id": "5ef1fae434412"
}
Attributes
-
id
integerread-only
The unique identifier of the master. This is known as the
masterId
and cannot be modified -
name
stringThe test report name
-
userId
integerread-only
The
userId
of the user to access the API -
publicToken
stringread-only
The public token that is added to the report link to share the report
-
ended
integerread-only
End time of this
master
(or test report) -
delayedStartReady
booleanread-only
Denotes whether the test run was delayed to sync with other engines
-
runnerUserId
integerread-only
The
userId
of the user to run the master -
created
integerread-only
The time that the master was created
-
updated
integerread-only
The time that the master was updated
-
passed
booleanread-only
Denotes whether the test run passed or failed its test criteria
-
parallelTestsInWorkspace
integerread-only
Number of tests running in parallel in the workspace with this master
-
parallelTestsInAccount
integerread-only
Number of tests running in parallel in the account with this master
-
isPrivateData
booleanread-only
Denotes if the data was generated from Private Cloud instance
-
executionMode
stringread-only
List of scenarios in test run. Contains a
scenarioId
s for each scenario (found in theid
attribute) -
creatorClientId
stringread-only
The ID of the creator client of the test. Can be either of the following:
api
- Denotes test was created through the API
gui
- Denotes test was created through the GUI -
executorClientId
stringread-only
The ID of the executor client of the test run (master). Can be either of the following:
api
- Denotes test was created through the API
gui
- Denotes test was created through the GUI -
secondsPerLabelDoc
integerread-only
Denotes the per label KPI values in seconds. Not used in API functional tests
-
isDebugRun
booleanread-only
Denotes if this test was run in debug mode. Not applicable to API Functional tests
-
locations
arrayread-only
The list of locations where this master ran
-
scenariosMapping
arrayread-only
A list of scenarios tied to this test run
-
id
stringread-only
The
scenarioId
for this scenario -
name
stringread-only
The name of this scenario
-
test
stringread-only
The name of the test this scenario is tied to
-
isEndUserExperience
booleanread-only
Denotes if the End User Experience was used for this test. Not applicable for API Functional tests
-
-
executions
arrayread-only
The execution settings for this test run
-
concurrency
integerread-only
The number of concurrent virtual users simulated that ran on this location. For example,
20
will set the test to run with 20 concurrent users. Minimum:1
. Same asconcurrency
in Taurus. Not applicable with API functional tests -
holdFor
stringread-only
The length of time the master ran at the peak concurrency (same as
hold-for
in Taurus). Not applicable with API functional tests -
durationIsNotConfigured
booleanread-only
Denotes if the test was configured without a duration. Not applicable with API functional tests
-
iterations
integerread-only
The number of iterations the mastere ran with (same as
iterations
in Taurus) -
locations
objectread-only
The locations where the master ran
-
location Id
integerread-only
The
location Id
of the location the master ran in. The value is the number of users that ran on that location
-
-
locationsWeighted
booleanread-only
Denotes if the values in the
locations
attribute are weighted values or not (same aslocationsWeighted
in Taurus) -
scenario
stringread-only
BlazeMeter scenario reference for GUI reports
-
-
isSelenium
booleanread-only
Denotes if this test ran with Selenium. Not relevant for API functional tests
-
rpsCompatible
booleanread-only
Denotes if this test ran with the RPS control feature. Does not apply to API functional tests
-
remoteControlCompatible
booleanread-only
Denotes if this test ran with the Remote Control feature. Does not apply to API functional tests
-
hasData
booleanread-only
Denotes if this test returned data
-
dependencies
objectread-only
The mock service details to be used with this test
-
services
arrayread-only
The list of mock services to be used in this test
-
service
stringread-only
The name of the mock service. Use the List Mock Services API to find the name
-
mock-service
stringread-only
The name of the running mock service instance. Use the List Mock Services API to find the mock service
-
mock-service-template
stringread-only
The name of the mock service template. Use the List Mock Service Templates API to find the template
-
-
-
testId
integerread-only
Denotes if the
testId
tied to themaster
(or test report) -
projectId
integerread-only
Denotes if the
projectId
themaster
(or test report) is located -
sessionsId
arrayread-only
Contains a list of all the
sessionId
s assigned to themaster
(or test report) -
functionalSummary
objectread-only
The API functional test summary details. See the API Functional Summary Object Attributes for the full deatils of this section
-
sessions
arrayread-only
List of
sessionId
s tied to this test run -
jetpackLabels
arrayread-only
The jetpack (V4) label information. Not used in API functional tests
Start a Test
Start a Test
curl 'https://a.blazemeter.com/api/v4/tests/1234567/start' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret'
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 1234567
. Use the testId
of the actual test to start in place of the 1234567
.
You can create and configure the test through the UI or through the API.
The first id
returned in the response is a masterId
. You can use this ID as a reference to this instance of a test run. For example, send it using Master Details to get the details of this master.
Start a Test Response Attributes
Response 202 Accepted
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "GUI Functional Test",
"userId": 123456,
"publicToken": null,
"ended": null,
"lastUpdate": null,
"delayedStartReady": false,
"runnerUserId": 123456,
"charges": [],
"terminateWorkersExecuted": false,
"usage": null,
"maxUsers": null,
"hasData": null,
"type": null,
"passed": null,
"canControlRampup": null,
"targetThreads": null,
"parallelTestsInWorkspace": 2,
"parallelTestsInAccount": 2,
"isSandbox": null,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "api",
"importedAt": null,
"secondsPerLabelDoc": 60,
"taurusRemoteControlProperties": null,
"labelsCollectionSuffix": "_17_12",
"locations": [
"harbor-5d25f95f206f10730f21f1b4"
],
"scenariosMapping": [
{
"id": "6a37dfc98ea5e2644a52afc1fe9ad54f44e3577d51b67f2adcef1521aceb58ba",
"name": "Scenario 1",
"test": "GUI Functional Validation Test",
"isEndUserExperience": false
}
],
"isDebugRun": false,
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"durationIsNotConfigured": true,
"locations": {
"harbor-5d25f95f206f10730f21f1b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome",
"browserVersion": "77",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"concurrency": 0,
"useV4Pipeline": false,
"terminatedAt": null,
"shutdownAt": null,
"jupyterToken": null,
"jupyterHeartbeat": null,
"jupyterHost": null,
"jupyterPort": null,
"jupyterNotebook": null,
"v4IndexerCollection": "{\"execution\":[1],\"execution:1\":[\"r-v4-5ef24ae129da3\"],\"session:1\":[\"r-v4-5ef24ae129da3\"],\"location:1\":[\"harbor-5d25f95f206f10730f21f1b4\"]}",
"buildId": null,
"isSelenium": true,
"isExternal": null,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasMonitoringData": null,
"shouldSendReportEmail": false,
"shouldUseDaggerReport": null,
"hasDaggerData": false,
"kinesisStream": "prod-purp_v4pipeline_input",
"useJetlag": false,
"properties": null,
"jetpackLabels": null,
"dependencies": null,
"env": "https://a.blazemeter.com",
"reportUrl": null,
"enableFailureCriteria": [],
"created": 1592937184,
"updated": 1592937185,
"note": null,
"testCollectionId": null,
"testId": 1234567,
"projectId": 123456,
"scheduleHistoryRecordId": null,
"jupyterShipId": null,
"sessionsId": [
"r-v4-5ef24ae129da3"
],
"functionalSummary": null,
"gridSummary": null,
"testSuiteSummary": null
},
"request_id": "5ef24ae0a04b4"
}
See the The Master Object response attributes for a detailed breakdown of the response attributes.
Start a Test Suite
Start a Test Suite
curl 'https://a.blazemeter.com/api/v4/multi-tests/12345678/start' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret'
API Explorer: /multi-tests/{collectionId}/start
To start a preconfigured load test suite, you need to know the collectionId
of a created and configured test suite. The sample code executes a test suite with a collectionId
of 12345678
. Use the collectionId
of the actual test suite to start in place of the 12345678
.
You can create and configure the test through the UI or through the API.
The first id
returned in the response is a masterId
. You can use this ID as a reference to this instance of a test launch. For example, send it using the Master Details API to get the details of this master.
Start a Test Suite Response Attributes
Response 202 Accepted
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "Functional Test Suite",
"userId": 123456,
"publicToken": null,
"ended": null,
"lastUpdate": null,
"delayedStartReady": false,
"runnerUserId": 123456,
"charges": [],
"terminateWorkersExecuted": false,
"usage": null,
"maxUsers": null,
"hasData": null,
"type": null,
"passed": null,
"canControlRampup": null,
"targetThreads": null,
"parallelTestsInWorkspace": 1,
"parallelTestsInAccount": 1,
"isSandbox": null,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "api",
"importedAt": null,
"secondsPerLabelDoc": 60,
"taurusRemoteControlProperties": null,
"labelsCollectionSuffix": "_17_12",
"locations": [
"harbor-5d25f95f206f10730f21f1b4",
"harbor-59464ffd67f3bf63cb7b23c9"
],
"scenariosMapping": [
{
"id": "0d0893db262df70451440cc9fafb1cb29e953ab538fb5d985b15892e1975232e",
"name": "Scenario 1",
"test": "Santander Proxy GUI Functional Validation Test",
"isEndUserExperience": false
},
{
"id": "3b72f4fdbd4000b35e51e4d4db89fe2a02ea2f34f504bfd2c069e6de535f4c62",
"name": "My Scenario",
"test": "API Functional Validation Test",
"isEndUserExperience": false
}
],
"isDebugRun": false,
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"durationIsNotConfigured": true,
"iterations": 1,
"locations": {
"harbor-5d25f95f206f10730f21f1b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"testId": 1234567,
"capabilities": {
"browserName": "chrome",
"browserVersion": "78",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
},
{
"concurrency": 1,
"holdFor": "42720s",
"durationIsNotConfigured": true,
"iterations": 1,
"locations": {
"harbor-59464ffd67f3bf63cb7b23c9": 1
},
"locationsWeighted": true,
"testId": 2345678,
"scenario": "My Scenario"
}
],
"concurrency": 1,
"useV4Pipeline": false,
"terminatedAt": null,
"shutdownAt": null,
"jupyterToken": null,
"jupyterHeartbeat": null,
"jupyterHost": null,
"jupyterPort": null,
"jupyterNotebook": null,
"v4IndexerCollection": null,
"buildId": null,
"isSelenium": true,
"isExternal": null,
"rpsCompatible": null,
"remoteControlCompatible": null,
"hasMonitoringData": null,
"shouldSendReportEmail": true,
"shouldUseDaggerReport": null,
"hasDaggerData": false,
"kinesisStream": "prod-purp_v4pipeline_input",
"useJetlag": false,
"properties": null,
"jetpackLabels": null,
"dependencies": null,
"env": "https://a.blazemeter.com",
"reportUrl": null,
"enableFailureCriteria": [],
"created": 1592938964,
"updated": 1592938965,
"note": null,
"testCollectionId": 12345678,
"testId": null,
"projectId": 123456,
"scheduleHistoryRecordId": null,
"jupyterShipId": null,
"sessionsId": null,
"functionalSummary": null,
"gridSummary": null,
"testSuiteSummary": null
},
"request_id": "5ef251d0952ed"
}
See the The Master Object response attributes for a detailed breakdown of the response attributes.
Test Results
Test results are retrieved using the masters
endpoint. These APIs give test result summaries and details for API and GUI functional tests, as well as test suites.
Master Details
Master Details
curl 'https://a.blazemeter.com/api/v4/masters/12345678' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}
To get the details from a specific master (test run), a masterId
is required. The sample code returns the master details for the master with masterId
of 12345678
. Use the actaul masterId
in place of 12345678
.
API Functional Master Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 12345678,
"name": "API Created API Functional Test",
"userId": 123456,
"publicToken": "PcNXkLW52C82ytH4UpYymRC4GsL7cc1Ak68NabH88ayw5HToXq",
"ended": 1577737645,
"delayedStartReady": false,
"runnerUserId": 123456,
"charges": [],
"created": 1577737580,
"updated": 1577737947,
"passed": false,
"parallelTestsInWorkspace": 1,
"parallelTestsInAccount": 1,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "api",
"executorClientId": "api",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"isDebugRun": false,
"scenariosMapping": [
{
"id": "0f4e8410f2d331f8bcfccebc6b0a16df5099dad2b109f5bb0eb5a03d74a47f99",
"name": "default-scenario-1234567",
"test": "API Created API Functional Test",
"isEndUserExperience": false
}
],
"executions": [
{
"concurrency": 1,
"holdFor": "42719s",
"rampUp": "1s",
"iterations": 1,
"scenario": "default-scenario-1234567"
}
],
"useV4Pipeline": false,
"isSelenium": false,
"hasMonitoringData": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasDaggerData": false,
"shouldUseDaggerReport": false,
"testId": 1234567,
"projectId": 123456,
"sessionsId": [
"r-v4-5e0a5d6cf08c6"
],
"thumbnailUrl": null,
"hasErrorsPerInterval": true,
"functionalSummary": {
"testsCount": 28,
"requestsCount": 28,
"errorsCount": 7,
"assertions": {
"count": 0,
"passed": 0
},
"responseTime": {
"sum": 12552
},
"isFailed": true,
"failedCount": 7,
"failedPercentage": 100
},
"sessions": [
"r-v4-5e0a5d6cf08c6"
],
"jetpackLabels": []
},
"request_id": "5e0a6886831cf"
}
See the The API Functional Master Object response attributes for a detailed breakdown of the response attributes.
GUI Functional Master Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": 29447102,
"name": "GUI Functional Validation Test",
"userId": 344260,
"ended": 1592937270,
"delayedStartReady": false,
"runnerUserId": 344260,
"charges": [],
"created": 1592937184,
"updated": 1592937573,
"passed": true,
"parallelTestsInWorkspace": 2,
"parallelTestsInAccount": 2,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "gui",
"executorClientId": "api",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"isDebugRun": false,
"locations": [
"harbor-5d25f95f206f10730f21f1b4"
],
"scenariosMapping": [
{
"id": "6a37dfc98ea5e2644a52afc1fe9ad54f44e3577d51b67f2adcef1521aceb58ba",
"name": "Scenario 1",
"test": "GUI Functional Validation Test",
"isEndUserExperience": false
}
],
"executions": [
{
"concurrency": 1,
"holdFor": "42720s",
"durationIsNotConfigured": true,
"locations": {
"harbor-5d25f95f206f10730f21f1b4": 1
},
"locationsWeighted": true,
"executor": "selenium",
"capabilities": {
"browserName": "chrome",
"browserVersion": "77",
"blazemeter_videoEnabled": true
},
"scenario": "Scenario 1"
}
],
"useV4Pipeline": false,
"isSelenium": true,
"hasMonitoringData": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasDaggerData": false,
"hasData": true,
"shouldUseDaggerReport": false,
"dependencies": [
[]
],
"testId": 7895924,
"projectId": 573256,
"sessionsId": [
"r-v4-5ef24ae129da3",
"r-sg-5ef24af96a077"
],
"thumbnailUrl": null,
"hasErrorsPerInterval": true,
"gridSummary": {
"uniqueTestCasesCount": 1,
"uniqueSuitesCount": 1,
"passedTestCasesCount": 1,
"failedTestCasesCount": 0,
"brokenTestCasesCount": 0,
"totalTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 1,
"passedPercent": 1,
"started": 1592937232,
"ended": 1592937251,
"definedStatus": "passed"
},
"sessions": [
"r-v4-5ef24ae129da3",
"r-sg-5ef24af96a077"
],
"jetpackLabels": []
},
"request_id": "5ef2596d7296a"
}
See the The GUI Functional Master Object response attributes for a detailed breakdown of the response attributes.
List Masters
List Masters
curl 'https://a.blazemeter.com/api/v4/masters?testId=1234567' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters
To obtain a list of all test runs, use the testId
and the /masters
endpoint. The sample code returns test runs tied to a testId
of 1234567
. Use the actual testId
in place of the 1234567
.
The response shown includes one masterId
("id": 12345678
). Any additional runs of the testId
(every masterId
) will also be returned as part of the result
list.
List All Test Runs Parameters
Below are a list of query parameters that can be used to narrow down your search for test runs:
Parameters
-
testId
integerThe unique identifier of the test. This is known as the
testId
and cannot be modified -
projectId
integerThe unique identifier of the project. This is known as the
projectId
and cannot be modified -
workspaceId
integerrequired
The unique identifier of the workspace. This is known as the
workspaceId
and cannot be modified -
name
stringThe unique string for a test run name to search for. For example, the string
My Test
will pull all results with this string in thename
of the test -
passed
booleanReturns a list of test runs that have passed (
true
) or failed (false
) -
platform
stringThe platform of tests to search for. This will always be
functional
for API and GUI functional tests -
locations
stringThe location of tests to search for. You will need to provide the
location ID
as the value for this parameter
Also see: Pagination and Sorting
List All Test Runs Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 1,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": 12345678,
"name": "API Created API Functional Test",
"userId": 123456,
"ended": 1577737645,
"delayedStartReady": false,
"runnerUserId": 123456,
"charges": [],
"created": 1577737580,
"updated": 1577737947,
"passed": false,
"parallelTestsInWorkspace": 1,
"parallelTestsInAccount": 1,
"isPrivateData": false,
"executionMode": "functional",
"creatorClientId": "api",
"executorClientId": "api",
"secondsPerLabelDoc": 60,
"labelsCollectionSuffix": "_17_12",
"isDebugRun": false,
"scenariosMapping": [
{
"id": "0f4e8410f2d331f8bcfccebc6b0a16df5099dad2b109f5bb0eb5a03d74a47f99",
"name": "default-scenario-7562023",
"test": "API Created API Functional Test",
"isEndUserExperience": false
}
],
"executions": [
{
"concurrency": 1,
"holdFor": "42719s",
"rampUp": "1s",
"iterations": 1,
"scenario": "default-scenario-7562023"
}
],
"useV4Pipeline": false,
"isSelenium": false,
"hasMonitoringData": true,
"rpsCompatible": false,
"remoteControlCompatible": false,
"hasDaggerData": false,
"shouldUseDaggerReport": false,
"testId": 1234567,
"projectId": 123456,
"sessionsId": [
"r-v4-5e0a5d6cf08c6"
],
"functionalSummary": {
"testsCount": 28,
"requestsCount": 28,
"errorsCount": 7,
"assertions": {
"count": 0,
"passed": 0
},
"responseTime": {
"sum": 12552
},
"isFailed": true,
"failedCount": 7,
"failedPercentage": 100
}
}
],
"request_id": "5e0a65f9ec7cc"
}
See the The Master Object response attributes for a detailed breakdown of the response attributes.
Add a Public Token
Add a Public Token
curl 'https://a.blazemeter.com/api/v4/masters/12345678/public-token' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"publicToken":null}'
API Explorer: /masters/{masterId}/public-token
To create a public token for a given master, you need to know the masterId
of a givne master. The sample code creates a public token with a masterId
of 12345678
. Use the masterId
of the actual master you want to add the public token to in place of 12345678
.
Add a Public Token Request Attributes
Add a Public Token Add a Public Token POST Body (JSON)
{
"publicToken": null
}
Attributes
-
publicToken
nullrequired
The public token attached to this master. This should always be set to
null
Add a Public Token Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"publicToken": "RUSd9VYDPnIW5SmBWDkqRXeovQ5U0XFtwGCLNikkxgELMGSafl",
"new": false
},
"request_id": "5ef2054733d53"
}
Attributes
-
publicToken
stringread-only
The token that is generated to allow for public access to the report. This value goes into the following part of the blazemeter URL:
https://a.blazemeter.com/app/?public-token={publicToken}
#/.../masters/{masterId}
Delete a Public Token
Delete a Test
curl 'https://a.blazemeter.com/api/v4/masters/12345678/public-token' \
-X DELETE \
--user 'api_key_id:api_key_secret'
Response 204 No content
API Explorer: /masters/{masterId}/public-token
To delete a public token from a master, you need to know the masterId
that is using the public token. The sample code deletes a public token for a master with an ID of 12345678
. Use the masterId
of the actual test to delete in place of the 12345678
.
Retrieve Logs
Retrieve Logs
curl 'https://a.blazemeter.com/api/v4/sessions/r-v4-5e0a6ec0bc698/reports/logs/data' \
--user 'api_key_id:api_key_secret'
API Explorer: /sessions/{sessionId}/reports/{reportId}
To get high level summary statistics, a sessionId
is required. The sample code returns the logs created for the sessionId
of r-v4-5e0a6ec0bc698
. Use the sessionId
of the actual test run session in place of r-v4-5e0a6ec0bc698
.
The response contains an array that contains the full list of files genearated by the session.
Retrieve Logs Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": [
{
"title": "artifacts",
"filename": "artifacts.zip",
"dataUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/artifacts.zip?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T222343Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=71d4f6e947a80e5987f356be3062fc2c32c4371e663f04a2afdf06e1332f7e25",
"tailDataUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/artifacts.zip.tail.bz?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T222343Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=94ecc03b75569797da0e78758831002c1bfab7236ae9b21960d6dc199becb3d7"
},
{
"title": "bzt",
"filename": "bzt.log",
"dataUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/bzt.log?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T222343Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=39b7d261668ff9977431bc249778c8d829555a59b555081627da83852baeb0f1",
"tailDataUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/bzt.log.tail.bz?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T222343Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=601ddc02acf1e9150d6166d42b7d9bc0e65ac55ca0607264510efa441894afe8"
}
],
"request_id": "5e0a78eee0be8"
}
Attributes
-
title
stringThe title used in the naming of the file
-
filename
stringThe filename of the file
-
dataUrl
stringThe link to the file. This link remains active for 20 minutes
-
tailDataUrl
stringThe link to the tail data of this file. This link remains active for 20 minutes
GUI Functional Summary Statistics
GUI Functional Summary Statistics
curl 'https://a.blazemeter.com/api/v4/masters/12345678/xbt-summary' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}/xbt-summary
To get GUI functional summary statistics, use the masterId
. The sample code returns the summary stats for the masterId
of 12345678
. Use the masterId
of the actual test run in place of 12345678
.
GUI Functional Summary Statistics Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"testCasesResults": [
{
"sessionId": "r-sg-5e0a77876335f",
"sessionName": "My Session",
"testSuiteName": "Test Suite #1",
"testCaseName": "Test Case #1",
"testSuiteUniqueAlias": "Test Suite #1-1",
"testCaseUniqueAlias": "Test Case #1-1",
"status": "passed",
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"definedStatus": "passed"
},
{
"sessionId": "r-sg-5e0a77876335f",
"sessionName": "My Session",
"testSuiteName": "Test Suite #2",
"testCaseName": "Test Case #2",
"testSuiteUniqueAlias": "Test Suite #2-0",
"testCaseUniqueAlias": "Test Case #2-0",
"status": "failed",
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"definedStatus": "failed"
},
{
"sessionId": "r-sg-5e0a77876335f",
"sessionName": "My Session",
"testSuiteName": "Test Suite #2",
"testCaseName": "Test Case #3",
"testSuiteUniqueAlias": "Test Suite #2-0",
"testCaseUniqueAlias": "Test Case #3-0",
"status": "broken",
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"definedStatus": "broken"
}
],
"gridSummary": {
"uniqueTestCasesCount": 3,
"uniqueSuitesCount": 2,
"passedTestCasesCount": 1,
"failedTestCasesCount": 1,
"brokenTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 3,
"passedPercent": 0.33333333333333331,
"started": 1577744282.0903354,
"ended": 1577744299.1121609
},
"uniqueLocationNames": [
"US East (Virginia) - Functional GUI Test"
],
"reportUrl": null
},
"request_id": "5e0a7a4876086"
}
Attributes
-
testCasesResults
arrayThe summary stats for all the test case results
-
sessionId
stringThe
sessionId
for the test case -
sessionName
stringThe name of the session for this test case
-
testSuiteName
stringThe name of the test suite
-
testCaseName
stringThe name of the test case
-
testSuiteUniqueAlias
stringThe unique alias for the test suite
-
testCaseUniqueAlias
stringThe unique alias for the test case
-
status
stringDenotes if the test case
passed
orfailed
-
browserName
stringThe name of the browser used for this test case
-
browserVersion
stringThe browser version used for this test case
-
definedStatus
stringDenotes if the test case
passed
orfailed
or isbroken
or isundefined
-
-
gridSummary
objectA summary of the counts for the GUI Functional test run
-
uniqueTestCasesCount
integerThe unique number of test cases in this test
-
uniqueSuitesCount
integerThe unique number of test suties in this test
-
passedTestCasesCount
integerThe number of test cases that are in a
passed
state -
failedTestCasesCount
integerThe number of the test cases that are in a
failed
state -
brokenTestCasesCount
integerThe number of test cases that are in a
broken
state -
undefinedTestCasesCount
integerThe number of test cases that are in a
undefined
state -
testCasesCount
integerThe number of test cases in this test
-
passedPercent
floatThe percentage of test cases that passed (
1
being 100 percent) -
started
floatThe timestamp for when this test began
-
ended
floatThe timestamp for when this test ended
-
-
uniqueLocationNames
arrayList of unique locations used in this test
GUI Functional Scenarios Summary
GUI Functional Scenarios Summary
curl 'https://a.blazemeter.com/api/v4/masters/12345678/xbt-scenarios-summary?testId=1234567' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}/xbt-scenarios-summary?testId={testId}
To get GUI functional scenarios summary statistics, you will need a masterId
and the corresponding testId
for that master. The sample code returns the scenarios summary stats for the masterId
of 12345678
attached to testId
of 1234567
. Use the masterId
and the testId
of the actual master in place of 12345678
and its corresponding test in place of 1234567
.
GUI Functional Scenarios Summary Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"scenarios": [
{
"testSuiteUniqueAlias": "Scenario 1-1",
"testSuiteName": "Scenario 1",
"sessions": [
{
"browserName": "chrome",
"browserVersion": "77.0.3865.120",
"platformName": null,
"platformVersion": null,
"sessionId": "r-sg-5ef24af96a077",
"testDataIterationId": null,
"sessionName": "chrome_77",
"status": 140,
"definedStatus": "passed"
}
],
"definedStatus": "passed"
}
],
"summary": {
"uniqueTestCasesCount": 1,
"uniqueSuitesCount": 1,
"passedTestCasesCount": 1,
"failedTestCasesCount": 0,
"brokenTestCasesCount": 0,
"totalTestCasesCount": 1,
"undefinedTestCasesCount": 0,
"testCasesCount": 1,
"passedPercent": 1,
"started": 1592937232.7655351,
"ended": 1592937251.8649161,
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 0,
"sessionsPassed": 1,
"sessionsTotal": 0
},
"uniqueLocationNames": [
"US West (Oregon) - Functional GUI Test"
],
"reportUrl": null
},
"request_id": "5ef3abb011481"
}
Attributes
-
scenarios
arrayList of scenarios that ran with the GUI functional test
-
testSuiteUniqueAlias
stringThe unique alias for the test suite
-
testSuiteName
stringThe name of the test suite
-
sessions
arrayThe list of the sessions that ran the scenario
-
browserName
stringThe name of the browser used for this test case
-
browserVersion
stringThe browser version used for this test case
-
sessionId
stringThe
sessionId
for the test case -
sessionName
stringThe name of the session for this test case
-
status
integerThe status level of the test. The value
140
indicates the test was completed -
definedStatus
stringDenotes if the test case
passed
orfailed
or isbroken
or isundefined
-
-
definedStatus
stringDenotes if the test suite
passed
orfailed
or isbroken
or isundefined
-
-
summary
objectThe summary details for the GUI functional test
-
uniqueTestCasesCount
integerThe unique number of test cases in this test
-
uniqueSuitesCount
integerThe unique number of test suties in this test
-
passedTestCasesCount
integerThe number of test cases that are in a
passed
state -
failedTestCasesCount
integerThe number of the test cases that are in a
failed
state -
brokenTestCasesCount
integerThe number of test cases that are in a
broken
state -
totalTestCasesCount
integerThe total number of test cases
-
undefinedTestCasesCount
integerThe number of test cases that are in a
undefined
state -
testCasesCount
integerThe number of test cases in this test
-
passedPercent
integerThe percentage of test cases that passed (
1
being 100 percent) -
started
floatThe timestamp for when this test began
-
ended
floatThe timestamp for when this test ended
-
definedStatus
stringDenotes if the test
passed
orfailed
or isbroken
or isundefined
-
suitesPassed
integerThe number of test suites that passed
-
sessionsPassed
integerThe number of sessions that passed
-
-
uniqueLocationNames
arrayList of unique locations used in this test
GUI Functional Full Report
GUI Functional Full Report
curl 'https://a.blazemeter.com/api/v4/sessions/r-sg-5e0a77876335f/xbt-report' \
--user 'api_key_id:api_key_secret'
API Explorer: /sessions/{sessionId}/xbt-report
To get GUI functional full report, use the sessionId
from the masterId
of the test run. The sample code returns the full report for the sessionId
of r-sg-5e0a77876335f
. Use the sessionId
of the actual test run in place of r-sg-5e0a77876335f
.
GUI Functional Full Report Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"sessionId": "r-sg-5e0a77876335f",
"gridSessionId": "f712ba1c53715e6cef4468d6a39d7909",
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"testCases": [
{
"testCaseResult": null,
"testSuiteName": "Test Suite #1",
"offset": 8.5753750801086426,
"testCaseUniqueAlias": "Test Case #1-1",
"start": 1577744282.0903354,
"testSuiteUniqueAlias": "Test Suite #1-1",
"screenshots": [
{
"ts": 1577744286.1594784,
"filename": "wdc-5e0a779c1cf36.png",
"commandId": "wdc-5e0a779c1cf36",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/screenshots/wdc-5e0a779c1cf36.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=0175374ee3b9136a5dec8f974aaa63464221f658b5edd7d268edc6daf47df528"
}
],
"commands": [
{
"result": {
"value": {
"locationContextEnabled": true,
"cssSelectorsEnabled": true,
"webStorageEnabled": true,
"acceptInsecureCerts": true,
"networkConnectionEnabled": false,
"takesHeapSnapshot": true,
"takesScreenshot": true,
"browserConnectionEnabled": false,
"javascriptEnabled": true,
"applicationCacheEnabled": false,
"acceptSslCerts": true,
"goog:chromeOptions": {
"debuggerAddress": "localhost:46693"
},
"version": "69.0.3497.92",
"browserName": "chrome",
"platform": "Linux",
"hasTouchScreen": false,
"setWindowRect": true,
"rotatable": false,
"mobileEmulationEnabled": false,
"handlesAlerts": true,
"nativeEvents": true,
"unexpectedAlertBehaviour": "ignore",
"databaseEnabled": false,
"pageLoadStrategy": "normal",
"chrome": {
"userDataDir": "/tmp/.org.chromium.Chromium.ZqPzbT",
"chromedriverVersion": "2.44.609551 (5d576e9a44fe4c5b6a07e568f1ebc753f1214634)"
},
"webdriver_remote_sessionid": "f712ba1c53715e6cef4468d6a39d7909"
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a779452afc",
"offset": 2.8531484603881836,
"method": "POST",
"isTestCaseDefined": false,
"start": 1577744276.3681087,
"args": {
"desiredCapabilities": {
"browserVersion": "69.0.3497.92",
"acceptInsecureCerts": true,
"browserName": "chrome",
"proxy": {
"sslProxy": "127.0.0.1:8081",
"ftpProxy": "127.0.0.1:8081",
"proxyType": "manual",
"httpProxy": "127.0.0.1:8081",
"noProxy": ""
},
"blazemeter_projectId": 429821,
"blazemeter_videoEnabled": "True",
"blazemeter_sessionName": "My Session"
},
"capabilities": {
"alwaysMatch": {
"browserVersion": "69.0.3497.92",
"browserName": "chrome",
"acceptInsecureCerts": true
}
}
},
"duration": 4,
"command": "new session"
},
{
"result": {
"value": {
"y": 0,
"width": 1920,
"height": 1058,
"x": 0
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a779b3e998",
"offset": 9.7519135475158691,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744283.2668738,
"args": {
"windowHandle": "current",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 0,
"command": "window/current/maximize"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a779c1cf36",
"offset": 10.614964246749878,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744284.1299245,
"args": {
"url": "https://demoblaze.com",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 2,
"command": "url"
},
{
"result": {
"value": {
"ELEMENT": "0.6739307236473044-1"
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a779f3e87d",
"offset": 13.75328254699707,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744287.2682428,
"args": {
"value": "login2",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"using": "id"
},
"duration": 0,
"command": "element"
},
{
"result": {
"value": {
"ELEMENT": "0.6739307236473044-2"
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a779febf11",
"offset": 14.467318058013916,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744287.9822783,
"args": {
"value": "loginusername",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"using": "id"
},
"duration": 0,
"command": "element"
},
{
"result": {
"value": {
"ELEMENT": "0.6739307236473044-3"
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a09f1b8",
"offset": 15.157343864440918,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744288.6723042,
"args": {
"value": "loginpassword",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"using": "id"
},
"duration": 0,
"command": "element"
},
{
"result": {
"value": {
"ELEMENT": "0.6739307236473044-4"
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a14b16f",
"offset": 15.80281400680542,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744289.3177743,
"args": {
"value": "#logInModal > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > button:nth-child(2)",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"using": "css selector"
},
"duration": 0,
"command": "element"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a1efbc4",
"offset": 16.476950168609619,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744289.9919105,
"args": {
"id": "0.6739307236473044-1",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 0,
"command": "element/0.6739307236473044-1/click"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a2b3003",
"offset": 17.232360363006592,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744290.7473207,
"args": {
"id": "0.6739307236473044-2",
"value": [
"j",
"a",
"m",
"e",
"s",
"_",
"t",
"e",
"s",
"t"
],
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"text": "james_test"
},
"duration": 0,
"command": "element/0.6739307236473044-2/value"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a3967b1",
"offset": 18.112419366836548,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744291.6273797,
"args": {
"id": "0.6739307236473044-3",
"value": [
"t",
"e",
"s",
"t"
],
"sessionId": "f712ba1c53715e6cef4468d6a39d7909",
"text": "test"
},
"duration": 0,
"command": "element/0.6739307236473044-3/value"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a45e957",
"offset": 18.886352300643921,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744292.4013126,
"args": {
"id": "0.6739307236473044-4",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 0,
"command": "element/0.6739307236473044-4/click"
}
],
"message": "Look! It passed!",
"status": "passed",
"testCaseName": "Test Case #1",
"duration": 11.249434232711792,
"index": 0,
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"sessionId": "r-sg-5e0a77876335f",
"id": "5e0a77a2a82909964e47fa50",
"har": {
"filename": "1577744293iiiuer.har",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/hars/1577744293iiiuer.har?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=5ef27eb4ea7f5be7d468d2e11fddfb2c27ca5d0d8dcff7fda8a8d7ced2f86d6c"
}
},
{
"testCaseResult": null,
"testSuiteName": "Test Suite #2",
"offset": 20.345702171325684,
"testCaseUniqueAlias": "Test Case #2-0",
"start": 1577744293.8606625,
"testSuiteUniqueAlias": "Test Suite #2-0",
"screenshots": [
{
"ts": 1577744294.4810586,
"filename": "wdc-5e0a77a60e261.png",
"commandId": "wdc-5e0a77a60e261",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/screenshots/wdc-5e0a77a60e261.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=fc5cc5d43798dfd71f39d6a8a130cec611010b9291c52f834be5c603b7ab04a9"
}
],
"commands": [
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a60e261",
"offset": 20.555941581726074,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744294.0709019,
"args": {
"url": "https://demoblaze.com",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 0,
"command": "url"
}
],
"message": "Uh-oh! It failed!",
"status": "failed",
"testCaseName": "Test Case #2",
"duration": 1.7311861515045166,
"index": 1,
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"sessionId": "r-sg-5e0a77876335f",
"id": "5e0a77a7a82909964e485252",
"har": {
"filename": "1577744295croccl.har",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/hars/1577744295croccl.har?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=e8db91fc4367fd9562ec35f05aef56612a70eb92db13de68466d491505eaf249"
}
},
{
"testCaseResult": null,
"testSuiteName": "Test Suite #2",
"offset": 22.596968173980713,
"testCaseUniqueAlias": "Test Case #3-0",
"start": 1577744296.1119285,
"testSuiteUniqueAlias": "Test Suite #2-0",
"screenshots": [
{
"ts": 1577744296.8084586,
"filename": "wdc-5e0a77a862596.png",
"commandId": "wdc-5e0a77a862596",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/screenshots/wdc-5e0a77a862596.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=0d7a87f807f458764f31c4254d8ab367524645bb86cd23eaba6b5cdb413ca300"
}
],
"commands": [
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77a862596",
"offset": 22.910663366317749,
"method": "POST",
"isTestCaseDefined": true,
"start": 1577744296.4256237,
"args": {
"url": "https://demoblaze.com",
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"duration": 0,
"command": "url"
},
{
"result": {
"value": null,
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
},
"id": "wdc-5e0a77aa3748c",
"offset": 24.724010944366455,
"method": "DELETE",
"isTestCaseDefined": false,
"start": 1577744298.2389712,
"args": null,
"duration": 0,
"command": "close"
}
],
"message": "It broke!",
"status": "broken",
"testCaseName": "Test Case #3",
"duration": 3.000232458114624,
"index": 2,
"browserName": "chrome",
"browserVersion": "69.0.3497.92",
"platformName": null,
"platformVersion": null,
"sessionId": "r-sg-5e0a77876335f",
"id": "5e0a77aaa82909964e488018",
"har": {
"filename": "1577744299nivwvc.har",
"link": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/hars/1577744299nivwvc.har?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=8b063b8b9de7851bc9c842c727a7c5d6efc6b330e2477376143435df6c35fbde"
}
}
],
"video": "https://blazemeter.s3.amazonaws.com/users/344260/tests/7554583/reports/r-sg-5e0a77876335f/videos/selenium_test_video.mp4?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T223145Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=c3c0317e21c4a30f585f2ef30228fffff477255349d9740d53ae63866232c07c",
"vnc": null,
"metadata": {
"value": {
"locationContextEnabled": true,
"cssSelectorsEnabled": true,
"webStorageEnabled": true,
"acceptInsecureCerts": true,
"networkConnectionEnabled": false,
"takesHeapSnapshot": true,
"takesScreenshot": true,
"browserConnectionEnabled": false,
"javascriptEnabled": true,
"applicationCacheEnabled": false,
"acceptSslCerts": true,
"goog:chromeOptions": {
"debuggerAddress": "localhost:46693"
},
"version": "69.0.3497.92",
"browserName": "chrome",
"platform": "Linux",
"hasTouchScreen": false,
"setWindowRect": true,
"rotatable": false,
"webdriver.remote.sessionid": "f712ba1c53715e6cef4468d6a39d7909",
"mobileEmulationEnabled": false,
"handlesAlerts": true,
"nativeEvents": true,
"unexpectedAlertBehaviour": "ignore",
"databaseEnabled": false,
"pageLoadStrategy": "normal",
"chrome": {
"userDataDir": "/tmp/.org.chromium.Chromium.ZqPzbT",
"chromedriverVersion": "2.44.609551 (5d576e9a44fe4c5b6a07e568f1ebc753f1214634)"
}
},
"status": 0,
"sessionId": "f712ba1c53715e6cef4468d6a39d7909"
}
},
"request_id": "5e0a7ad19bc58"
}
Attributes
-
sessionId
stringThe
sessionId
for this test run -
gridSessionId
stringThe Selenium grid session ID
-
browserName
stringThe browser name that was used
-
browserVersion
stringThe browser version that was used
-
testCases
arrayA list of the test cases run in the test
-
testSuiteName
stringThe name of this test suite
-
offset
floatThe time in seconds for when the first webdriver action took place
-
testCaseUniqueAlias
stringThe test case name unique alias
-
start
floatThe timestamp for when the test case starts
-
testSuiteUniqueAlias
stringThe test suite name unique alias
-
screenshots
arrayList of sceenshots for this test case
-
ts
floatThe timestamp the screenshot was taken
-
filename
stringThe file name of the screenshot
-
commandId
stringThe commmand ID of the webdriver action
-
link
stringThe download link to the screenshot. This link remains active for 20 minutes
-
-
commands
arrayThe list of commands run for this test case
-
result
objectThe result details for this command
-
value
objectThe values for each result
-
locationContextEnabled
booleanDenotes if the script finds an element by ID or not
-
cssSelectorsEnabled
booleanDenotes if the script finds an element by CSS selectors or not
-
webStorageEnabled
booleanDenotes if the web storage is enabled or not
-
acceptInsecureCerts
booleanDenotes if the script will accept insecure certificates or not
-
networkConnectionEnabled
booleanDenotes if the network connections were enabled or not
-
takesHeapSnapshot
booleanDenotes if snapshots of the heap space occurs or not
-
takesScreenshot
booleanDenotes if screenshots are being taken or not
-
browserConnectionEnabled
booleanDenotes if broswer connections were enabled or not
-
javascriptEnabled
booleanDenotes if javascript was enabled or not
-
applicationCacheEnabled
booleanDenotes if the application cache is enabled or not
-
acceptSslCerts
booleanDenotes if the test accepts SSL certificates or not
-
goog:chromeOptions
objectChrome options use for Google Chrome
-
debuggerAddress
stringThe URL address for the Chrome debugger
-
-
version
stringThe version of the browser used in the test
-
browserName
stringThe name of the browser used
-
platform
stringThe platform the browser was run in (i.e. Linux, Windows, etc.)
-
hasTouchScreen
booleanDenotes if the test used a touch screen or not
-
setWindowRect
booleanDenotes if the a window reticule was used or not
-
rotatable
booleanDenotes if the screen was rotatable or not
-
mobileEmulationEnabled
booleanDenotes if this test was a mobile emulation or not
-
handlesAlerts
booleanDenotes if this test was configured to handle alerts or not
-
nativeEvents
booleanDenotes if the events are native to the test or not
-
unexpectedAlertBehaviour
stringThe setting for the how to handle unexpected alert behavior. Currently is always
ignore
-
databaseEnabled
booleanDenotes if a database was enabled or not
-
pageLoadStrategy
stringThe page load strategy that was used for this test
-
chrome
objectThe Chrome details for this command
-
userDataDir
stringThe directory for user data within the test
-
chromedriverVersion
stringThe chromedriver version used in the test
-
-
webdriver_remote_sessionid
stringThe session ID for the remote webdriver session
-
y
integerThe y-axis value of the screen you are at
-
width
integerThe width of the window
-
length
integerThe length of the window
-
x
integerThe x-axis value of the screen you are at
-
ELEMENT
stringThe
ELEMENT
value that was used for this command
-
-
status
integerDenotes if the command executed successfully or not. List of statuses:
0
- Successful26
- Unexpected error occurred -
sessionId
stringDenotes the grid session ID of this command
-
-
id
stringThe command ID for this command
-
offset
floatThe time (in seconds) it took to run the command was intiated
-
method
stringThe HTTP request method used for this command
-
isTestCaseDefined
booleanDenotes if the test case was defined or not for this command
-
start
floatThe timestamp of the start of this command
-
args
objectArguments used for this command
-
desiredCapabilities
objectThe desired capabilities requested from the browser for this command
-
browserVersion
stringThe browser version used in this test
-
acceptInsecureCerts
booleanDenotes if the script will accept insecure certificates or not
-
browserName
stringThe name of the browser used
-
proxy
objectThe proxy settings used for this command
-
sslProxy
stringThe connnetion URL for the SSL (HTTPS) proxy
-
ftpProxy
stringThe connnetion URL for the FTP proxy
-
proxyType
stringThe type of proxy used
-
httpProxy
stringThe connnetion URL for the HTTP proxy
-
noProxy
stringThe connnetion URL for the noProxy
-
-
blazemeter_projectId
integerThe
projectId
used to run this command -
blazemeter_videoEnabled
stringDenotes whether a video recording is enabled or not
-
blazemeter_sessionName
stringThe name of the session for this command
-
-
capabilities
objectThe capabilities used for this command
-
alwaysMatch
objectThe capabilities that were always matched for this command
-
browserVersion
stringThe version of the browser used in the test
-
browserName
stringThe name of the browser used
-
acceptInsecureCerts
booleanDenotes if the script will accept insecure certificates or not
-
-
-
windowHandle
stringThe window handle used for this command
-
url
stringThe URL used in this command
-
value
stringThe value of the command used. For example, when looking for a value by ID, it will be the ID you are looking for
-
value
arrayThe string array of the
text
string to be processed -
sessionId
stringDenotes the grid session ID of this command
-
text
stringThe text provided for this command
-
using
stringThe type of command being used for this command. For example, if searching by an ID, the value of this will be
id
-
-
command
stringThe name of the command
-
-
message
stringThe error message generated by this test case
-
status
stringDenotes if this test case
passed
orfailed
-
testCaseName
stringThe name of the test case
-
duration
floatThe duration of the test case (the sum duration of all the commands run)
-
index
integerIndicates the which test case this is. Starts at
0
-
browserName
stringThe name of the browser used
-
browserVersion
stringThe browser version used in this test
-
sessionId
stringThe BlazeMeter
sessionId
this command ran under -
id
stringThe
testCaseId
for this test case -
har
objectThe har file details
-
filename
stringThe name of the file used for the HAR file data
-
link
stringThe download link for the HAR file. This link remains active for 20 minutes
-
-
-
video
stringThe download link for the video file. This link remains active for 20 minutes
-
metadata
objectThe metadata details from this test case
-
value
objectThe metadata value details
-
locationContextEnabled
booleanDenotes if the script finds an element by ID or not
-
cssSelectorsEnabled
booleanDenotes if the script finds an element by CSS selectors or not
-
webStorageEnabled
booleanDenotes if the web storage is enabled or not
-
acceptInsecureCerts
booleanDenotes if the script will accept insecure certificates or not
-
networkConnectionEnabled
booleanDenotes if the network connections were enabled or not
-
takesHeapSnapshot
booleanDenotes if snapshots of the heap space occurs or not
-
takesScreenshot
booleanDenotes if screenshots are being taken or not
-
browserConnectionEnabled
booleanDenotes if broswer connections were enabled or not
-
javascriptEnabled
booleanDenotes if javascript was enabled or not
-
applicationCacheEnabled
booleanDenotes if the application cache is enabled or not
-
acceptSslCerts
booleanDenotes if the test accepts SSL certificates or not
-
goog:chromeOptions
objectThe Chrome options used for Google Chrome
-
debuggerAddress
stringThe URL address for the Chrome debugger
-
-
version
stringThe version of the browser used in the test
-
browserName
stringThe name of the browser used
-
platform
stringThe platform the browser was run in (i.e. Linux, Windows, etc.)
-
hasTouchScreen
booleanDenotes if the test used a touch screen or not
-
setWindowRect
booleanDenotes if the a window reticule was used or not
-
rotatable
booleanDenotes if the screen was rotatable or not
-
webdriver.remote.sessionid
stringThe grid session ID for the remote webdriver session
-
mobileEmulationEnabled
booleanDenotes if this test was a mobile emulation or not
-
handlesAlerts
booleanDenotes if this test was configured to handle alerts or not
-
nativeEvents
booleanDenotes if the events are native to the test or not
-
unexpectedAlertBehaviour
stringThe setting for the how to handle unexpected alert behavior. Currently is always
ignore
-
databaseEnabled
booleanDenotes if a database was enabled or not
-
pageLoadStrategy
stringThe page load strategy that was used for this test
-
chrome
objectThe Chrome driver details
-
userDataDir
stringThe directory for user data within the test
-
chromedriverVersion
stringThe chromedriver version used in the test
-
-
-
status
integerDenotes if the command executed successfully or not
-
sessionId
stringDenotes the grid session ID of this command
-
API Functional Summary Statistics
API Functional Summary Statistics
curl 'https://a.blazemeter.com/api/v4/masters/12345678/reports/functional/groups' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}/reports/functional/groups
To get the API functional summary statistics, use the masterId
. The sample code returns summary stats for the masterId
of 12345678
. Use the masterId
of the actual test run in place of 12345678
.
API Functional Summary Statistics Parameters
Below are a list of query parameters that can be used to narrow down your search for groups in a master:
Parameters
-
filter[status]
stringProvide
pass
to see only the samples that passed andfail
to see only the samples that failed -
testId
integerThe unique identifier of the test. This is known as the
testId
and cannot be modified
API Functional Summary Statistics Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": [
{
"groupId": "76691196-ec79-5b35-a91d-2d10f8f850ad",
"sessionId": "r-v4-5e0a5d6cf08c6",
"summary": {
"testsCount": 28,
"requestsCount": 28,
"errorsCount": 7,
"assertions": {
"count": 0,
"passed": 0
},
"responseTime": {
"sum": 12552
},
"isFailed": true,
"failedCount": 7,
"failedPercentage": 100
},
"id": "76691196-ec79-5b35-a91d-2d10f8f850ad",
"name": "Thread Group 1"
}
],
"request_id": "5e0a698b1423f"
}
Attributes
-
groupId
stringThe
groupId
for this group of results -
sessionId
stringThe
sessionId
for this test run -
summary
objectSummary details for the test run
-
testsCount
integerNumber of samples/requests that ran
-
requestsCount
integerNumber of samples/requests that ran
-
errorsCount
integerNumber of errors that occurred
-
assertions
objectThe assertion summary stats for this test run
-
count
integerThe count of assertions in the test run
-
passed
integerThe count of assertions that passed
-
-
responseTime
objectThe response time stats for this test run
-
sum
integerThe response time for the full test run
-
-
isFailed
booleanDenotes if the test failed or not
-
failedCount
integerThe number of samples/requests that failed during the test run
-
-
id
stringThe
groupId
for this group of results -
name
stringThe name of the group that is displayed in the API functional report
API Functional Full Report
API Functional Full Report
curl 'https://a.blazemeter.com/api/v4/masters/12345678/reports/functional/groups/76691196-ec79-5b35-a91d-2d10f8f850ad' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}/reports/functional/groups/{groupId}
To get the API functional full report, use the masterId
and the groupId
. The sample code returns the full report for the masterId
of 12345678
. Use the masterId
of the actual test run in place of 12345678
and the actaul groupId
of the group in place of 76691196-ec79-5b35-a91d-2d10f8f850ad
.
API Functional Full Report Parameters
Below are a list of query parameters that can be used to narrow down your search for test cases in a group:
Parameters
-
filter[status]
stringProvide
pass
to see only the samples that passed andfail
to see only the samples that failed -
testId
integerThe unique identifier of the test. This is known as the
testId
and cannot be modified
API Functional Full Report Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"groupId": "76691196-ec79-5b35-a91d-2d10f8f850ad",
"samples": [
{
"id": "6ad2255e-9440-52d9-8c94-7267f3c80220",
"label": "https://demoblaze.com/",
"hash": "ab0381e1-35de-5a7c-b9bb-af0b8e0772b1",
"created": 1577742574,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 1782,
"responseSTD": null,
"connectTime": 485,
"latency": 575,
"responseSize": 1199929,
"requestSize": 7408,
"assertions": [
{
"name": "Response Assertion",
"isFailed": false,
"errorMessage": ""
}
],
"responseBodySize": 19617,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/6ad2255e-9440-52d9-8c94-7267f3c80220/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=9686d9f8bd77589ce810424429b51fe0fdaec8e0bb2424f5fb99205a61d52fbe",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/6ad2255e-9440-52d9-8c94-7267f3c80220/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=9686d9f8bd77589ce810424429b51fe0fdaec8e0bb2424f5fb99205a61d52fbe"
},
{
"id": "2eeb64c7-73b7-5291-974b-4399e631e1b5",
"label": "https://demoblaze.com/config.json",
"hash": "d7d8d86a-01ef-5515-84a7-3171bbd53a7e",
"created": 1577742577,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 74,
"responseSTD": null,
"connectTime": 0,
"latency": 73,
"responseSize": 390,
"requestSize": 357,
"assertions": [],
"responseBodySize": 90,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/config.json",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/2eeb64c7-73b7-5291-974b-4399e631e1b5/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=7b2c9fdac69220f1c48df5efcc377eed3d703eb533b72e713f002241643976f3",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/2eeb64c7-73b7-5291-974b-4399e631e1b5/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=7b2c9fdac69220f1c48df5efcc377eed3d703eb533b72e713f002241643976f3"
},
{
"id": "5b7fd908-504d-50a0-855f-e37e97e947fe",
"label": "https://api.demoblaze.com/entries",
"hash": "c9f7e754-94be-5617-b8a7-9c5582b71b64",
"created": 1577742577,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 232,
"responseSTD": null,
"connectTime": 130,
"latency": 232,
"responseSize": 3041,
"requestSize": 309,
"assertions": [
{
"name": "Response Assertion",
"isFailed": true,
"errorMessage": "Test failed: code expected to equal /\n\n****** received : [[[2]]]00\n\n****** comparison: [[[4]]]00\n\n/"
}
],
"responseBodySize": 2716,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://api.demoblaze.com/entries",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/5b7fd908-504d-50a0-855f-e37e97e947fe/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1a684f41bdb69469b43f484aceadf195e80dd61de3b7139edca31138657c71b",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/5b7fd908-504d-50a0-855f-e37e97e947fe/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1a684f41bdb69469b43f484aceadf195e80dd61de3b7139edca31138657c71b"
},
{
"id": "58911443-6086-5ee4-bcd1-f7cb043ead01",
"label": "https://hls.demoblaze.com/index.m3u8",
"hash": "51047506-5dc8-5a4f-921c-61b969718950",
"created": 1577742578,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 458,
"responseSTD": null,
"connectTime": 160,
"latency": 458,
"responseSize": 1401,
"requestSize": 312,
"assertions": [],
"responseBodySize": 501,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/index.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/58911443-6086-5ee4-bcd1-f7cb043ead01/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1b696b0c8db2c00a1fa235bcc0fc0130e653a8b54f2d219ce32457ebaf9b233",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/58911443-6086-5ee4-bcd1-f7cb043ead01/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1b696b0c8db2c00a1fa235bcc0fc0130e653a8b54f2d219ce32457ebaf9b233"
},
{
"id": "3baeff83-18f0-5142-8712-347f587701c7",
"label": "https://demoblaze.com/assets/img/spinner-1x.gif",
"hash": "6c7b3ea2-296f-51d3-83eb-de112516e445",
"created": 1577742578,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 145,
"responseSTD": null,
"connectTime": 75,
"latency": 145,
"responseSize": 508,
"requestSize": 294,
"assertions": [],
"responseBodySize": 302,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/assets/img/spinner-1x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3baeff83-18f0-5142-8712-347f587701c7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=97ccd9882429dc81e61a6a70c6896c22f61ca590716a0d706582a66ea54e6b6c",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3baeff83-18f0-5142-8712-347f587701c7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=97ccd9882429dc81e61a6a70c6896c22f61ca590716a0d706582a66ea54e6b6c"
},
{
"id": "3e31f4cd-8034-5974-a07b-6b60830c3c3e",
"label": "https://demoblaze.com/assets/img/spinner-2x.gif",
"hash": "5a69d8c9-6f08-5908-a7f3-33e5ce945907",
"created": 1577742578,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 64,
"responseSTD": null,
"connectTime": 0,
"latency": 64,
"responseSize": 508,
"requestSize": 294,
"assertions": [],
"responseBodySize": 302,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/assets/img/spinner-2x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3e31f4cd-8034-5974-a07b-6b60830c3c3e/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=793e4f9d7452b902747fafce2e810228dbbad4121b2b1d2909107432b77e7c76",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3e31f4cd-8034-5974-a07b-6b60830c3c3e/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=793e4f9d7452b902747fafce2e810228dbbad4121b2b1d2909107432b77e7c76"
},
{
"id": "288bdcc0-c647-5f9a-a158-bd3f82e0c615",
"label": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"hash": "7223db29-0f44-580c-b6b1-d14c597da979",
"created": 1577742578,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 261,
"responseSTD": null,
"connectTime": 0,
"latency": 260,
"responseSize": 6225,
"requestSize": 326,
"assertions": [],
"responseBodySize": 5302,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/288bdcc0-c647-5f9a-a158-bd3f82e0c615/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=7cf156cb644a10bc57b3947ee93817192f0a431545a1e5f0f74caa7813f3c067",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/288bdcc0-c647-5f9a-a158-bd3f82e0c615/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=7cf156cb644a10bc57b3947ee93817192f0a431545a1e5f0f74caa7813f3c067"
},
{
"id": "9938aace-daeb-5eef-b8d8-8762035555e9",
"label": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"hash": "3a5eec51-332f-5fc3-a27a-e5d86fce92ad",
"created": 1577742579,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 336,
"responseSTD": null,
"connectTime": 0,
"latency": 280,
"responseSize": 543089,
"requestSize": 329,
"assertions": [],
"responseBodySize": 436716,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/9938aace-daeb-5eef-b8d8-8762035555e9/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=075e70bf2fc3fde18295de84da6c4ba9c847ab439d8b35edd4ae0a8362b9f3cb",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/9938aace-daeb-5eef-b8d8-8762035555e9/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=075e70bf2fc3fde18295de84da6c4ba9c847ab439d8b35edd4ae0a8362b9f3cb"
},
{
"id": "0c7f0a59-0c0a-5c3a-a94b-8a8dfa6ca0f6",
"label": "https://demoblaze.com/prod.html?idp_=1",
"hash": "502875c0-d999-507f-be07-76ec15b14ce1",
"created": 1577742581,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 512,
"responseSTD": null,
"connectTime": 68,
"latency": 148,
"responseSize": 32207,
"requestSize": 6445,
"assertions": [],
"responseBodySize": 20566,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/prod.html?idp_=1",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/0c7f0a59-0c0a-5c3a-a94b-8a8dfa6ca0f6/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=4c7890f052e22cf649ecf8b9fd323794b2e8e803a35e66774d2ff00ca19b6a18",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/0c7f0a59-0c0a-5c3a-a94b-8a8dfa6ca0f6/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=4c7890f052e22cf649ecf8b9fd323794b2e8e803a35e66774d2ff00ca19b6a18"
},
{
"id": "f276d375-9280-5811-9707-1c7e705ae5bd",
"label": "https://demoblaze.com/config.json",
"hash": "d7d8d86a-01ef-5515-84a7-3171bbd53a7e",
"created": 1577742582,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 61,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 239,
"requestSize": 382,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/config.json",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/f276d375-9280-5811-9707-1c7e705ae5bd/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=3c2763eac63934aed1e2cf1ed95235de4c2ee3668935edfbbb39418c65b5baee",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/f276d375-9280-5811-9707-1c7e705ae5bd/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=3c2763eac63934aed1e2cf1ed95235de4c2ee3668935edfbbb39418c65b5baee"
},
{
"id": "a779f220-0c28-5661-aa3c-d07025701ee0",
"label": "https://api.demoblaze.com/view",
"hash": "1447e85c-89d5-5d47-a23e-3954de06f257",
"created": 1577742582,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 93,
"responseSTD": null,
"connectTime": 50,
"latency": 93,
"responseSize": 445,
"requestSize": 393,
"assertions": [],
"responseBodySize": 0,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "OPTIONS",
"requestURI": "https://api.demoblaze.com/view",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": null,
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false
},
{
"id": "998de0de-0b85-5089-84ea-50baf97f0f03",
"label": "https://hls.demoblaze.com/index.m3u8",
"hash": "51047506-5dc8-5a4f-921c-61b969718950",
"created": 1577742582,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 164,
"responseSTD": null,
"connectTime": 48,
"latency": 0,
"responseSize": 564,
"requestSize": 413,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/index.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/998de0de-0b85-5089-84ea-50baf97f0f03/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=2d2258abbdbce0fbe684497717278af65d3704971cb1be1b853b106a41ff0fbf",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/998de0de-0b85-5089-84ea-50baf97f0f03/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=2d2258abbdbce0fbe684497717278af65d3704971cb1be1b853b106a41ff0fbf"
},
{
"id": "7cade30e-4e85-510f-a85b-bf542deeacac",
"label": "https://api.demoblaze.com/view",
"hash": "1447e85c-89d5-5d47-a23e-3954de06f257",
"created": 1577742583,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 82,
"responseSTD": null,
"connectTime": 0,
"latency": 82,
"responseSize": 600,
"requestSize": 369,
"assertions": [],
"responseBodySize": 260,
"requestBodySize": 6,
"requestCookiesSize": 0,
"requestMethod": "POST",
"requestURI": "https://api.demoblaze.com/view",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/7cade30e-4e85-510f-a85b-bf542deeacac/requestBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=a46725a8d047b0a330eaae939afc16ecd83b3b7577761cfbd67df2a8f7c1af62",
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/7cade30e-4e85-510f-a85b-bf542deeacac/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=84c5eed7911f51574660c95d4148484596fb0d265656cfceb589055fb3ce5074",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"requestBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/7cade30e-4e85-510f-a85b-bf542deeacac/requestBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=a46725a8d047b0a330eaae939afc16ecd83b3b7577761cfbd67df2a8f7c1af62",
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/7cade30e-4e85-510f-a85b-bf542deeacac/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=84c5eed7911f51574660c95d4148484596fb0d265656cfceb589055fb3ce5074"
},
{
"id": "c0d146d9-d71e-5e4f-a019-a0849b1fc71f",
"label": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"hash": "7223db29-0f44-580c-b6b1-d14c597da979",
"created": 1577742583,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 117,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 564,
"requestSize": 427,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/c0d146d9-d71e-5e4f-a019-a0849b1fc71f/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=729353d235f4ecbe354f2a28b24a907534a9e3fffdc0e5b1f301117b58b319b3",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/c0d146d9-d71e-5e4f-a019-a0849b1fc71f/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=729353d235f4ecbe354f2a28b24a907534a9e3fffdc0e5b1f301117b58b319b3"
},
{
"id": "03ff9141-dd40-5e89-9119-b30bc38bf5dc",
"label": "https://demoblaze.com/prod.html/assets/img/spinner-1x.gif",
"hash": "109a457f-fa50-5550-99b6-54dfa84b706c",
"created": 1577742583,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 64,
"responseSTD": null,
"connectTime": 0,
"latency": 64,
"responseSize": 518,
"requestSize": 304,
"assertions": [],
"responseBodySize": 274,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/prod.html/assets/img/spinner-1x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/03ff9141-dd40-5e89-9119-b30bc38bf5dc/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=dd9e7d48bbbc5782dc55adf43baa62207f2147b292a72d857baf98309f474d5f",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/03ff9141-dd40-5e89-9119-b30bc38bf5dc/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=dd9e7d48bbbc5782dc55adf43baa62207f2147b292a72d857baf98309f474d5f"
},
{
"id": "0b660e53-f7e1-50d2-a5ff-575938f20702",
"label": "https://demoblaze.com/prod.html/assets/img/spinner-2x.gif",
"hash": "fef1f03f-1fd9-5a82-ad77-fbbc2798b783",
"created": 1577742583,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 60,
"responseSTD": null,
"connectTime": 0,
"latency": 60,
"responseSize": 518,
"requestSize": 304,
"assertions": [],
"responseBodySize": 274,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/prod.html/assets/img/spinner-2x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/0b660e53-f7e1-50d2-a5ff-575938f20702/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=ecd6fb91f2e49a01988d9e6cee944c50dc95c44e7778bb41e154990a230f7151",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/0b660e53-f7e1-50d2-a5ff-575938f20702/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=ecd6fb91f2e49a01988d9e6cee944c50dc95c44e7778bb41e154990a230f7151"
},
{
"id": "20ba2235-31f3-506d-9c45-aea30059392c",
"label": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"hash": "3a5eec51-332f-5fc3-a27a-e5d86fce92ad",
"created": 1577742583,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 114,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 564,
"requestSize": 430,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/20ba2235-31f3-506d-9c45-aea30059392c/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=e0e4e8e12d97c14792d8f3ebcde5d6ed5714726de4e51d36a9aa858ae8fe7bb3",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/20ba2235-31f3-506d-9c45-aea30059392c/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=e0e4e8e12d97c14792d8f3ebcde5d6ed5714726de4e51d36a9aa858ae8fe7bb3"
},
{
"id": "cbe5cbe5-64a4-55e8-93de-b17049046333",
"label": "https://api.demoblaze.com/addtocart",
"hash": "03ef1db7-8090-5abb-ba94-2805b7558db9",
"created": 1577742583,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 106,
"responseSTD": null,
"connectTime": 0,
"latency": 106,
"responseSize": 445,
"requestSize": 398,
"assertions": [],
"responseBodySize": 0,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "OPTIONS",
"requestURI": "https://api.demoblaze.com/addtocart",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": null,
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false
},
{
"id": "daa036ae-28a2-54c7-88b1-8a0461e59a48",
"label": "https://api.demoblaze.com/addtocart",
"hash": "03ef1db7-8090-5abb-ba94-2805b7558db9",
"created": 1577742584,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 107,
"responseSTD": null,
"connectTime": 0,
"latency": 107,
"responseSize": 303,
"requestSize": 488,
"assertions": [],
"responseBodySize": 0,
"requestBodySize": 111,
"requestCookiesSize": 0,
"requestMethod": "POST",
"requestURI": "https://api.demoblaze.com/addtocart",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/daa036ae-28a2-54c7-88b1-8a0461e59a48/requestBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=4b1894b96784132f79b0be74353b3123f9bbf9522c39a433471f1954a60827e8",
"responseBody": null,
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"requestBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/daa036ae-28a2-54c7-88b1-8a0461e59a48/requestBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=4b1894b96784132f79b0be74353b3123f9bbf9522c39a433471f1954a60827e8"
},
{
"id": "db99fb66-0e68-510b-95b8-1a77b4ec0b59",
"label": "https://demoblaze.com/index.html",
"hash": "4870cfec-40c0-5433-9063-7b99632470b4",
"created": 1577742589,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 539,
"responseSTD": null,
"connectTime": 80,
"latency": 168,
"responseSize": 23532,
"requestSize": 7905,
"assertions": [],
"responseBodySize": 18232,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/index.html",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/db99fb66-0e68-510b-95b8-1a77b4ec0b59/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=88d124464e5eca3cdf5d76e1da8f1420d773e1946c94c9550354ba307348956f",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/db99fb66-0e68-510b-95b8-1a77b4ec0b59/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=88d124464e5eca3cdf5d76e1da8f1420d773e1946c94c9550354ba307348956f"
},
{
"id": "6fb4aa25-a88d-5342-abf7-801a2101ae18",
"label": "https://demoblaze.com/config.json",
"hash": "d7d8d86a-01ef-5515-84a7-3171bbd53a7e",
"created": 1577742589,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 69,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 239,
"requestSize": 382,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/config.json",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/6fb4aa25-a88d-5342-abf7-801a2101ae18/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=f9aeaaa7b8746e884bd52bab424b34819565459ab7e9464373a6667407ba998a",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/6fb4aa25-a88d-5342-abf7-801a2101ae18/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=f9aeaaa7b8746e884bd52bab424b34819565459ab7e9464373a6667407ba998a"
},
{
"id": "3b6f712d-2761-5e86-b411-bfc3b6d59986",
"label": "https://api.demoblaze.com/entries",
"hash": "c9f7e754-94be-5617-b8a7-9c5582b71b64",
"created": 1577742590,
"responseCode": 200,
"responseMessage": "OK",
"responseTime": 162,
"responseSTD": null,
"connectTime": 51,
"latency": 161,
"responseSize": 3041,
"requestSize": 309,
"assertions": [],
"responseBodySize": 2526,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://api.demoblaze.com/entries",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3b6f712d-2761-5e86-b411-bfc3b6d59986/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1c53e566d82e161dd451cd4e5944850f26d46f5e96be02a6520c75060bd752c",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/3b6f712d-2761-5e86-b411-bfc3b6d59986/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=d1c53e566d82e161dd451cd4e5944850f26d46f5e96be02a6520c75060bd752c"
},
{
"id": "b0d7bb9c-3049-59e3-aaf9-135477ad2480",
"label": "https://hls.demoblaze.com/index.m3u8",
"hash": "51047506-5dc8-5a4f-921c-61b969718950",
"created": 1577742590,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 153,
"responseSTD": null,
"connectTime": 46,
"latency": 0,
"responseSize": 564,
"requestSize": 362,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/index.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/b0d7bb9c-3049-59e3-aaf9-135477ad2480/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=c768c7e272ee165db5f5a654cc0c52981aeb71ec8d80e5d7f63851809e5e965f",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/b0d7bb9c-3049-59e3-aaf9-135477ad2480/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=c768c7e272ee165db5f5a654cc0c52981aeb71ec8d80e5d7f63851809e5e965f"
},
{
"id": "98f5082e-8a0a-59ac-9082-1ca2232895f6",
"label": "https://demoblaze.com/index.html/assets/img/spinner-1x.gif",
"hash": "2d6bbc6f-f4a3-5e1f-a0c6-4ac274bd5742",
"created": 1577742590,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 65,
"responseSTD": null,
"connectTime": 0,
"latency": 65,
"responseSize": 519,
"requestSize": 305,
"assertions": [],
"responseBodySize": 275,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/index.html/assets/img/spinner-1x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/98f5082e-8a0a-59ac-9082-1ca2232895f6/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=9735dbbf67f5a8b0928f2942f20b721800ad0f9f77e43cb98d67bef9d190f6bf",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/98f5082e-8a0a-59ac-9082-1ca2232895f6/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=9735dbbf67f5a8b0928f2942f20b721800ad0f9f77e43cb98d67bef9d190f6bf"
},
{
"id": "2910803c-a474-54fb-9f71-d26744b022f7",
"label": "https://demoblaze.com/index.html/assets/img/spinner-2x.gif",
"hash": "25bd2831-4a39-5da1-80fb-37bf6edde44b",
"created": 1577742590,
"responseCode": 404,
"responseMessage": "Not Found",
"responseTime": 77,
"responseSTD": null,
"connectTime": 0,
"latency": 77,
"responseSize": 519,
"requestSize": 305,
"assertions": [],
"responseBodySize": 275,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://demoblaze.com/index.html/assets/img/spinner-2x.gif",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/2910803c-a474-54fb-9f71-d26744b022f7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=cedb9d95bb80c65911e56512e3118a063230660677efbba6d60767b216d4e91a",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/2910803c-a474-54fb-9f71-d26744b022f7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=cedb9d95bb80c65911e56512e3118a063230660677efbba6d60767b216d4e91a"
},
{
"id": "11a93206-2b19-56d3-8b78-04bd5f3f595f",
"label": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"hash": "7223db29-0f44-580c-b6b1-d14c597da979",
"created": 1577742590,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 113,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 585,
"requestSize": 376,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k.m3u8",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/11a93206-2b19-56d3-8b78-04bd5f3f595f/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=8256441f69f8436be915c1a72b6b614691973d8478fa2aee1cedfe6492931a64",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/11a93206-2b19-56d3-8b78-04bd5f3f595f/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=8256441f69f8436be915c1a72b6b614691973d8478fa2aee1cedfe6492931a64"
},
{
"id": "a53b57f0-ef50-52e0-8a99-af47d92c43e8",
"label": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"hash": "3a5eec51-332f-5fc3-a27a-e5d86fce92ad",
"created": 1577742590,
"responseCode": 304,
"responseMessage": "Not Modified",
"responseTime": 110,
"responseSTD": null,
"connectTime": 0,
"latency": 0,
"responseSize": 585,
"requestSize": 379,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": "GET",
"requestURI": "https://hls.demoblaze.com/about_demo_hls_600k00000.ts",
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/a53b57f0-ef50-52e0-8a99-af47d92c43e8/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=93b9febf278ccc56ce0a5171c741920526ec8bfdfdff7fb6bffc73e798aacc65",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": false,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/a53b57f0-ef50-52e0-8a99-af47d92c43e8/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=93b9febf278ccc56ce0a5171c741920526ec8bfdfdff7fb6bffc73e798aacc65"
},
{
"id": "92da35fd-9b0c-515c-891d-df165192f0b7",
"label": "Test",
"hash": "927a2610-13c0-51e5-a050-f3598254d109",
"created": 1577742574,
"responseCode": -1,
"responseMessage": "Number of samples in transaction : 27, number of failing samples : 7",
"responseTime": 6120,
"responseSTD": null,
"connectTime": 1193,
"latency": 3218,
"responseSize": 1821642,
"requestSize": 30305,
"assertions": [],
"responseBodySize": 41,
"requestBodySize": 0,
"requestCookiesSize": 0,
"requestMethod": null,
"requestURI": null,
"requestHeadersSize": null,
"responseHeadersSize": null,
"requestBody": null,
"responseBody": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/92da35fd-9b0c-515c-891d-df165192f0b7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=6e243074b7cc4e31bc0236b2dc9c11ef887bd54f90db0c0b8fe2289c3e742325",
"requestCookies": null,
"responseCookies": null,
"requestHeaders": null,
"responseHeaders": null,
"error": true,
"responseBodyUrl": "https://blazemeter.s3.amazonaws.com/masters/24456747/sessions/r-v4-5e0a6ec0bc698/groups/76691196-ec79-5b35-a91d-2d10f8f850ad/samples/92da35fd-9b0c-515c-891d-df165192f0b7/responseBody?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJPZOF6U7I33QK2CQ%2F20191230%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191230T214746Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=6e243074b7cc4e31bc0236b2dc9c11ef887bd54f90db0c0b8fe2289c3e742325"
}
]
},
"request_id": "5e0a7082cb490"
}
Attributes
-
groupId
string -
samples
arrayA list of all the sample information run in the API functional test run
-
id
stringThe sample ID for this sample/request
-
label
stringThe label for this sample/request
-
created
integerThe timestamp the sample was created
-
responseCode
integerThe response code for this sample
-
responseMessage
stringThe response message for this sample
-
responseTime
integerThe response time for this sample
-
connectTime
integerThe connect time for this sample
-
latency
integerThe latency time for this sample
-
responseSize
integerThe response size (in bytes) for this sample
-
requestSize
integerThe request size (in bytes) for this sample
-
assertions
arrayThe list of assertions run for this sample
-
name
stringThe name of the assertion
-
isFailed
booleanDenotes if the assertion failed or not
-
errorMessage
stringThe error message returned by the assertion
-
-
responseBodySize
integerThe response body size (in bytes) for this sample
-
requestBodySize
integerThe request body size (in bytes) for this sample
-
requestCookiesSize
integerThe request cookie size (in bytes) for this sample
-
requestMethod
stringThe request method for this sample
-
requestURI
stringThe request URL for this sample
-
requestHeadersSize
nullThe request header size (in bytes) for this sample
-
responseHeadersSize
nullThe response header size (in bytes) for this sample
-
requestBody
nullThe link to the request body for this sample. This link remains active for 20 minutes
-
responseBody
stringThe link to the response body for this sample. This link remains active for 20 minutes
-
requestCookies
nullThe link to the request cookies for this sample. This link remains active for 20 minutes
-
responseCookies
nullThe link to the response cookies for this sample. This link remains active for 20 minutes
-
requestHeaders
nullThe link to the request headers for this sample. This link remains active for 20 minutes
-
responseHeaders
nullThe link to the response headers for this sample. This link remains active for 20 minutes
-
error
booleanDenotes if this sample returned an error or not
-
responseBodyUrl
stringThe link to the response body for this sample. This link remains active for 20 minutes
-
requestBodyUrl
stringThe link to the request body for this sample. This link remains active for 20 minutes
-
Test Suite Summary
Test Suite Summary
curl 'https://a.blazemeter.com/api/v4/masters/12345678/test-suite-summary' \
--user 'api_key_id:api_key_secret'
API Explorer: /masters/{masterId}/test-suite-summary
To get the summary details from a test suite master, a masterId
is required. The sample code returns the summary details of a teset suite for the master with masterId
of 12345678
. Use the actaul masterId
in place of 12345678
.
Test Suite Summary Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"testsResult": [
{
"testId": 7632610,
"testName": "Santander Proxy GUI Functional Validation Test",
"testType": "functionalGui",
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1,
"started": 1592939030.8151221,
"ended": 1592939051.8028064
},
{
"testId": 7895446,
"testName": "API Functional Validation Test",
"testType": "functionalApi",
"definedStatus": "passed",
"suitesPassed": 1,
"suitesTotal": 1,
"sessionsPassed": 1,
"sessionsTotal": 1,
"started": 1592938966,
"ended": 1592939017
}
],
"uniqueLocationNames": [
"US West (Oregon) - Functional GUI Test",
"US West (Los Angeles) - Functional Test"
],
"suiteSummary": {
"suitesPassed": 2,
"suitesTotal": 2,
"sessionsPassed": 2,
"sessionsTotal": 2,
"definedStatus": "passed",
"started": 1592938966,
"ended": 1592939051.8028064
},
"updated": 1592939391
},
"request_id": "5ef36d19ac49f"
}
Attributes
-
testsResult
arrayThe list of test results from all tests in the test suite
-
testId
integerThe unique identifier of the test. This is known as the
testId
and cannot be modified -
testName
stringThe name of the test
-
testType
stringThe type of test. Can be either of the following:
functionalApi
- Denotes an API functional testfunctionalGui
- Denote a GUI functional test -
definedStatus
stringDenotes if the test
passed
orfailed
, or isbroken
(in the case of GUI functional) -
suitesPassed
integerDenotes the number of tests that passed
-
suitesTotal
integerDenotes the number of tests in total
-
sessionsPassed
integerDenotes the number of sessions that passed
-
sessionsTotal
integerDenotes the number of sessions in total
-
started
floatThe timestamp of the start time of the test
-
ended
floatThe timestamp of the end time of the test
-
-
uniqueLocationNames
arrayList of all unique locations run in the test suite. These values uses the location names, not the location Ids
-
suiteSummary
objectThe summary details of the whole test suite
-
suitesPassed
integerDenotes the number of tests that passed
-
suitesTotal
integerDenotes the number of tests in total
-
sessionsPassed
integerDenotes the number of sessions that passed
-
sessionsTotal
integerDenotes the number of sessions in total
-
definedStatus
stringDenotes if the test suite
passed
orfailed
, or isbroken
orundefined
(in the case of GUI functional) -
started
integerThe timestamp of the start time of the test suite
-
ended
floatThe timestamp of the end time of the test suite
-
-
updated
integerThe timestampe of the last update to the test suite summary
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 information on what shared folders are and when to use them, you can visit the Uploading Files to Shared Folders.
The Folder Object
The Folder Object
{
"api_version": 4,
"error": null,
"result": {
"id": "5b7dc9c6c7dc9739167b23c8",
"name": "ApiTest",
"deleable": false,
"created": 1534970310,
"workspaceId": 123429,
"files": [
{
"lastModified": 1588606663,
"name": "Dummy.jmx",
"size": 18111,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/Dummy.jmx?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=677733c18cf94be0268b77d8f1d78108eb355433cc164c41872f3876ab141c41",
"linkExpire": 1593031685
},
{
"lastModified": 1585685174,
"name": "colors.csv",
"size": 286,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/colors.csv?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=544b16e12b730fb4d76e1946a595cec4100bd3f47957358f8696283cf7df4e21",
"linkExpire": 1593031685
},
{
"lastModified": 1585685142,
"name": "hello.txt",
"size": 192,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/hello.txt?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=1d357c42ccbd5a05abff31528dc3ac78a9c40fba8e7bfcad67782363d152d06f",
"linkExpire": 1593031685
}
]
},
"request_id": "5ef26a85751d4"
}
Attributes
-
id
stringread-only
The
folderId
for the shared folder -
name
stringrequired
read-only
The name of the shared folder.
name
cannot be changed after the folder is created -
deletable
booleanDenotes if the files within the shared folder are deletable or not.
true
- Files can be deletedfalse
- Files cannot be deleted -
created
integerread-only
Timestamp when the shared folder was created
-
workspaceId
integerrequired
read-only
The
workspaceId
the shared folder is associated to.workspaceId
cannot be changed after the folder is created -
files
arrayread-only
The list of files stored in the shared folder
-
lastModified
integerread-only
The timestamp of when the file was last modified
-
name
stringread-only
The name of the file
-
size
integerread-only
The size (in bytes) of the file
-
link
stringread-only
The link to download the file from the shared folder. This link remains active for 20 minutes
-
linkExpire
integerread-only
The timestamp of when the
link
will expire
-
Create a Shared Folder
Create a Shared Folder
curl 'https://a.blazemeter.com/api/v4/folders' \
-X POST \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name":"New_folder","workspaceId":123456}'
API Explorer: /folders
To create a shared folder:
- Create the folder object with a POST to the folders endpoint (see sample code).
- Capture the
folderId
returned asid
from the response. - Upload files (such as scripts, data files or YAML Taurus configuration files) by using the
folderId
and the code explained in the Upload or Update Files to Shared Folder section.
Create a Shared Folder Request Attributes
Create a Shared Folder Create a Shared Folder POST Body (JSON)
{
"name": "New_folder",
"workspaceId": 123456
}
Attributes
-
name
stringrequired
The name of the shared folder. Name can ONLY include letters, numbers and underscores
-
workspaceId
integerrequired
The
workspaceId
to tie the shared folder to
Create a Shared Folder Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": "5ef276272e71f800b53bfa95",
"name": "New_folder",
"deletable": true,
"hidden": false,
"created": 1592948263,
"workspaceId": 123456
},
"request_id": "5ef27626deeb2"
}
To see a breakdown of the attributes, please see The Folder Object section.
List Shared Folders
List Shared Folders
curl 'https://a.blazemeter.com/api/v4/folders?workspaceId=123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /folders
To get the list of shared folders, you will need 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 123456
. The id
in the response contains the folderId
of the shared folder, which you will need to upload files to that shared folder.
List Shared Folders Parameters
Parameters
-
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of shared folders from
Also see: Pagination and Sorting
List Shared Folders Response Attributes
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
}
]
}
To see a breakdown of the attributes, please see The Folder Object section.
Shared Folder Details
Shared Folder Details
curl 'https://a.blazemeter.com/api/v4/folders/5b96c41fad67294528f03df8' \
--user 'api_key_id:api_key_secret'
API Explorer: /folders/{folderId}
To get the details of a shared folder, you will need the folderId
. The example code on the right returns the details of the shared folder with the folderId
of 5b96c41fad67294528f03df8
. Use the actual ID value for the shared folder to return the details of that shared folder.
Shared Folder Details Parameters
Parameters
-
filename
stringNarrows the list to files that contain this string
Shared Folder Details Response Attributes
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
}
]
}
To see a breakdown of the attributes, please see The Folder Object section.
Update a Shared Folder
Update a Shared Folder
curl 'https://a.blazemeter.com/api/v4/folders/5b96c41fad67294528f03df8' \
-X PATCH \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"folderId":"5b7dc9c6c7dc9739167b23c8","data":{"deletable":true}}'
API Explorer: /folders/{folderId}
To update a shared folder, you need to know the folderId
. The sample code updates a shared folder with an ID of 5b96c41fad67294528f03df8
to make the files in the shared folder deletable. Use the actual ID value for the shared folder to update it.
Update a Shared Folder Request Attributes
Update a Shared Folder Update a Shared Folder PATCH Body (JSON)
{
"folderId": "5b7dc9c6c7dc9739167b23c8",
"data": {
"deletable": true
}
}
Attributes
-
folderId
booleanrequired
The
folderId
of the folder being updated. Must match thefolderId
from the URL -
data
objectrequired
The data details to be updated in the shared folder
-
deletable
booleanrequired
Denotes if the files within the shared folder are deletable or not.
true
- Files can be deletedfalse
- Files cannot be deleted
-
Update a Shared Folder Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": "5b7dc9c6c7dc9739167b23c8",
"name": "ApiTest",
"deletable": true,
"created": 1534970310
},
"request_id": "5ef2700d7c817"
}
To see a breakdown of the attributes, please see The Folder Object section.
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 shared folder.
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 \
-H 'Content-Type: application/octet-stream' \
--data-binary '@/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:
'@*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.
List Shared Folder Files
List Shared Folder Files
curl 'https://a.blazemeter.com/api/v4/folders/5b96c41fad67294528f03df8/files' \
--user 'api_key_id:api_key_secret'
API Explorer: /folders
To get the list of shared folder files, you will need the folderId
. The example code on the right returns the list of the files in the shared folder with folderid
of 5b96c41fad67294528f03df8
. Use the actual ID value for the shared folder to get the list of files from that shared folder.
List Shared Folder Files Parameters
Parameters
-
filename
stringNarrows the list to files that contain this string
List Shared Folder Files Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": "5b7dc9c6c7dc9739167b23c8",
"name": "ApiTest",
"deleable": false,
"created": 1534970310,
"workspaceId": 123456,
"files": [
{
"lastModified": 1588606663,
"name": "Dummy.jmx",
"size": 18111,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/Dummy.jmx?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=677733c18cf94be0268b77d8f1d78108eb355433cc164c41872f3876ab141c41",
"linkExpire": 1593031685
},
{
"lastModified": 1585685174,
"name": "colors.csv",
"size": 286,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/colors.csv?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=544b16e12b730fb4d76e1946a595cec4100bd3f47957358f8696283cf7df4e21",
"linkExpire": 1593031685
},
{
"lastModified": 1585685142,
"name": "hello.txt",
"size": 192,
"link": "https://storage.blazemeter.com/blazemeter-gcp/organizations/123429/shared/ApiTest/hello.txt?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EE7F7ZECFQG2AMFT47JPCFCTXTGEW52TQE7AA2Y6DS4SCW37UO4ZSCNI%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T204805Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=1d357c42ccbd5a05abff31528dc3ac78a9c40fba8e7bfcad67782363d152d06f",
"linkExpire": 1593031685
}
]
},
"request_id": "5ef26a85751d4"
}
To see a breakdown of the attributes, please see The Folder Object section.
Delete Shared Folder File
Delete Shared Folder 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"}'
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
.
Delete Shared Folder File Request Attributes
Delete Shared Folder File Delete Shared Folder File POST Body (JSON)
{
"fileName": "MyTest.jmx"
}
Attributes
-
filename
stringrequired
The filename of the file you want to delete
Delete Shared Folder File Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": true
}
Delete a Shared Folder
Delete a Shared Folder
curl 'https://a.blazemeter.com/api/v4/folders/5b96c41fad67294528f03df8' \
-X DELETE \
--user 'api_key_id:api_key_secret'
Response 204 No content
API Explorer: /folders/{folderId}
To delete a shared folder, you need to know the folderId
. The sample code deletes a shared folder with an ID of 5b96c41fad67294528f03df8
. Use the folderId
of the actual shared folder to delete in place of the 5b96c41fad67294528f03df8
.
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.
The Schedule Object
The Schedule Object
{
"api_version": 4,
"error": null,
"result": {
"id": "5c83ec4a7b12f573685c5f36",
"cron": "0 0 * * 1-5",
"nextRun": 1553126400,
"enabled": false,
"type": "testRun",
"created": 1552149578,
"updated": 1553117534,
"testCollectionId": 12345678,
"createdById": 123456,
"lastUpdatedById": 123456,
"nextExecutions": [
1593043200,
1593129600,
1593388800,
1593475200,
1593561600,
1593648000,
1593734400,
1593993600,
1594080000,
1594166400
]
},
"request_id": "5ef3b1640a13a"
}
Attributes
-
id
stringread-Only
The
scheduleId
for the created schedule -
cron
stringThe cron schedule you want to use for the test
-
nextRun
integerread-Only
The timestamp of the next test run
-
enabled
booleanDenotes if the schedule is active
-
type
stringread-Only
Type of schedule
-
created
integerread-Only
Timestamp the schedule was created
-
updated
integerread-Only
Timestamp the schedule was updated
-
testId
integerread-Only
required
Test Only
The
testId
of the test. Cannot be changed after creating the schedule -
testCollectionId
integerread-Only
required
Test Only
The
collectionId
of the multi test. Cannot be changed after creating the schedule -
createdById
integerread-Only
The
userId
of the user that created the schedule -
lastUpdatedById
integerread-Only
The
userId
of the user that updated the schedule -
nextExecutions
arrayread-Only
The list of timestamps of the next executions
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":1234567}'
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
1234567
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
1234567
with the testId
of your test and the cron
attribute with your desired cron schedule.
Create a Schedule for Test Request Attributes
Create a Schedule Create a Schedule for Test POST Body (JSON)
{
"cron": "0 0 * * 1-5",
"testId": 1234567
}
Attributes
-
cron
stringrequired
The cron schedule you want to use for the test
-
testId
integerrequired
Test Only
The
testId
of the test
Create a Schedule for Test Response Attributes
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": 1234567,
"createdById": 123456
}
}
To see a breakdown of the attributes, please see The Schedule Object section.
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":12345678}'
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 for Multi Test Request Attributes
Create a Schedule Create a Schedule for Multi Test POST Body (JSON)
{
"cron": "0 0 * * 1-5",
"testCollectionId": 12345678
}
Attributes
-
cron
stringrequired
The cron schedule you want to use for the test
-
testCollectionId
integerrequired
Multi Test Only
The
collectionId
of the multi test
Create a Schedule for Multi Test Response Attributes
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": 12345678,
"createdById": 123456
}
}
To see a breakdown of the attributes, please see The Schedule Object section.
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}'
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.
Update Schedule Request Attributes
Update Schedule Update Schedule PATCH Body (JSON)
{
"enabled": false
}
Attributes
-
enabled
booleanDenotes if the schedule is active (if
true
) or not (iffalse
)
Update Schedule Response Attributes
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": 1234567,
"createdById": 123456,
"lastUpdatedById": 123456
}
}
See the The Schedule Object for a full breakdown of the attributes.
List Schedules
List Schedules
curl 'https://a.blazemeter.com/api/v4/schedules?workspaceId=123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /schedules
To return a list of test schedules, an accountId
, a projectId
, a workspaceId
, a collectionId
, OR a testId
is required. The sample code returns a list for items with a workspaceId
of 123456
. 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.
List Schedules Parameters
Parameters
-
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of test schedules for -
accountId
integerrequired
The
accountId
you are wanting to get the list of test schedules for -
projectId
integerrequired
The
projectId
you are wanting to get the list of test schedules for -
testId
integerrequired
The
testId
you are wanting to get the list of test schedules for -
collectionId
integerrequired
The
collectionId
you are wanting to get the list of test schedules for -
enabled
booleanDenotes if you are wanting to get a list of test schedules that are enabled (if
true
) or disabled (iffalse
)
Also see: Pagination and Sorting
List Schedules Response Attributes
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
}
]
}
To see a breakdown of the attributes, please see The Schedule Object section.
Schedule Details
Schedule Details
curl 'https://a.blazemeter.com/api/v4/schedules/5c83ec4a7b12f573685c5f36' \
--user 'api_key_id:api_key_secret'
API Explorer: /schedules/{scheduleId}
To return the details of a test schedule, a scheduleId
is required. The sample code returns the details of the schedule with a scheduleId
of 5c83ec4a7b12f573685c5f36
. Use the actual ID value for the test schedule to return the details of that test schedule.
Schedule Details Parameters
Parameters
-
nextExecutions
integerDenotes the number of timestamps that is returned in the
nextExecutions
attribute in the response
Schedule Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": "5c83ec4a7b12f573685c5f36",
"cron": "0 0 * * 1-5",
"nextRun": 1553126400,
"enabled": false,
"type": "testRun",
"created": 1552149578,
"updated": 1553117534,
"testCollectionId": 12345678,
"createdById": 123456,
"lastUpdatedById": 123456,
"nextExecutions": [
1593043200,
1593129600,
1593388800,
1593475200,
1593561600,
1593648000,
1593734400,
1593993600,
1594080000,
1594166400
]
},
"request_id": "5ef3b1640a13a"
}
To see a breakdown of the attributes, please see The Schedule Object section.
List Schedule History
List Schedule History
curl 'https://a.blazemeter.com/api/v4/schedules/history?testId=1234567' \
--user 'api_key_id:api_key_secret'
API Explorer: /schedules/history
To return a list of test schedules, an accountId
, 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 1234567
. 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.
List Schedule History Parameters
Parameters
-
workspaceId
integerrequired
The
workspaceId
you are wanting to get the test schedule history for -
accountId
integerrequired
The
accountId
you are wanting to get the test schedule history for -
projectId
integerrequired
The
projectId
you are wanting to get the test schedule history for -
testId
integerrequired
The
testId
you are wanting to get the list of test schedule history for -
collectionId
integerrequired
The
collectionId
you are wanting to get the test schedule history for -
scheduleId
integerrequired
The
scheduleId
you are wanting to get the test schedule history for -
fromDate
integerThe timestamp from where to start the test schedule history
-
toDate
integerThe timestamp from where to end the test schedule history
Also see: Pagination and Sorting
List Schedule History Response Attributes
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": 123456,
"workspaceId": 123429,
"accountId": 123456,
"testId": 1234567,
"masterId": 12345678,
"created": 1552152721,
"updated": 1552152723
}
]
}
Attributes
-
id
stringThe
historyId
for the test run history -
runAt
integerThe timestamp of when the schedule ran
-
success
booleanDenotes if the test ran or not
-
name
stringThe name of the test that was run
-
scheduleId
stringThe
scheduleId
for the created schedule -
scheduleType
stringType of schedule
-
scheduleCronExpression
stringThe cron schedule used for the test
-
projectId
integerThe
projectId
of the project -
workspaceId
integerThe
workspaceId
of the workspace for the test -
accountId
integerThe
accountId
of the account -
testId
integerThe
testId
of the test -
testCollectionId
integerThe
collectionId
of the multi test -
masterId
integerThe
masterId
of the master -
created
integerThe timestamp of when the master was created
-
updated
integerThe timestamp of when the master was updated
Delete a Schedule
Delete a Schedule
curl 'https://a.blazemeter.com/api/v4/schedules/5c83f8667ffbc232772ad363' \
-X DELETE \
--user 'api_key_id:api_key_secret'
Response 204 No content
API Explorer: /schedules/{scheduleId}
To delete a test schedule, you need to know the scheduleId
. The sample code deletes a test schedule with an ID of 5c83f8667ffbc232772ad363
. Use the scheduleId
of the actual test schedule to delete in place of the 5c83f8667ffbc232772ad363
.
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 shipId
s).
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 or manager workspace access for the API Key that you use, as they are the only users that can create and change private locations.
The Private Location Object
**The Private Location Object
{
"api_version": 4,
"error": null,
"result": {
"id": "5b0323b3c648be3b4c7b23c8",
"name": "Example Private Location",
"userId": 123456,
"consoleXms": 1024,
"consoleXmx": 4096,
"engineXms": 1024,
"engineXmx": 4096,
"threadsPerEngine": 1000,
"slots": 1,
"type": "large",
"disabled": false,
"hidden": false,
"created": 1526932403,
"updated": 1593104036,
"accountId": 123456,
"shipsId": [
{
"$oid": "5dd841d46c6cd5b0064fa941"
}
],
"workspacesId": [
123456,
234567,
345678,
456789,
567890
],
"funcIds": [
"performance",
"functionalApi",
"proxyRecorder",
"mockServices",
"functionalGui",
"firefox:default",
"chrome:default"
],
"ships": [
{
"id": "5dd841d46c6cd5b0064fa941",
"name": "Example Agent",
"address": "172.31.9.152",
"publicIpAddress": "104.197.80.57",
"disabled": false,
"state": "idle",
"lastHeartBeat": 1593113786,
"lastCommandOutput": "",
"isLocked": false,
"installedVersion": "3.5.14",
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 20941426688,
"freePercent": 50.399999999999999
}
},
"platform": [
"linux",
"linux-x86_64"
],
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": true,
"info": {
"operatingSystem": "Ubuntu 16.04.5 LTS",
"operatingSystemType": "linux",
"memory": 8364474368,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "18.09.1",
"images": [
{
"Containers": -1,
"Created": 1592135649,
"Id": "sha256:51742f8148452b6a430d36f2e48d282e1d14adc21f816abb8d807989e1d6a116",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.20.51",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 6057428244,
"VirtualSize": 6057428244
},
{
"Containers": -1,
"Created": 1591189045,
"Id": "sha256:b2437a3424f204ced0d50248d0730bd77d91524e2c25b607b1a86ac7a9f3714d",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/crane@sha256:4db1384498f8004c769ecf5e1ab263a6b1a3d3901301ac96c3f56f2503730080"
],
"RepoTags": [
"blazemeter/crane:3.5.14",
"blazemeter/crane:latest",
"gcr.io/verdant-bulwark-278/blazemeter/crane:3.5.14"
],
"SharedSize": -1,
"Size": 52096988,
"VirtualSize": 52096988
},
{
"Containers": -1,
"Created": 1590781539,
"Id": "sha256:b599a4dff82d23ee0105080a783e5cc9d1eff950eb22f9e9a16c6b14f7ecae7d",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/service-mock@sha256:937312834575c484fab2d73c7f4608809e9acd118fe6e7ab5646697f6b85c3c2"
],
"RepoTags": [
"blazemeter/service-mock:3.6.0",
"blazemeter/service-mock:latest",
"gcr.io/verdant-bulwark-278/blazemeter/service-mock:3.6.0"
],
"SharedSize": -1,
"Size": 372896323,
"VirtualSize": 372896323
},
{
"Containers": -1,
"Created": 1590781538,
"Id": "sha256:5e37add71f0f3a48527c46a08278b3b17530443e2b7ff8426b50340c6a7ed6bd",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/sv-bridge@sha256:34d5c73460a4de7aa7d5f97aab2671ac0b18abdbc7f1a75bc11696a40acd4530"
],
"RepoTags": [
"blazemeter/sv-bridge:3.6.0",
"blazemeter/sv-bridge:latest",
"gcr.io/verdant-bulwark-278/blazemeter/sv-bridge:3.6.0"
],
"SharedSize": -1,
"Size": 349876453,
"VirtualSize": 349876453
},
{
"Containers": -1,
"Created": 1589900192,
"Id": "sha256:2d59cc77c273988b10f90eb62d2cee5fec0d7ac40f307e11093bfd2dd0828be1",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/apm@sha256:5949ff7b8f820555f912a21fdc0eef96146e7e1b19c43d9290646ad3db91abb8"
],
"RepoTags": [
"apm-image:1.4.7",
"apm-image:latest",
"gcr.io/verdant-bulwark-278/blazemeter/apm:1.4.7"
],
"SharedSize": -1,
"Size": 357829202,
"VirtualSize": 357829202
},
{
"Containers": -1,
"Created": 1589893087,
"Id": "sha256:44d6f361eef7b27849186dac0680783b9870017f353700b1e8379eb20046640b",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/proxy-recorder@sha256:19921c689a689f4de8860e8ff2f61a4c6ccbb8fd552f3fceab3cdf34138fb6e1"
],
"RepoTags": [
"blazemeter/proxy-recorder:1.11.7",
"blazemeter/proxy-recorder:latest",
"gcr.io/verdant-bulwark-278/blazemeter/proxy-recorder:1.11.7"
],
"SharedSize": -1,
"Size": 879555522,
"VirtualSize": 879555522
},
{
"Containers": -1,
"Created": 1583919985,
"Id": "sha256:e61377ea370bc7a01ac1547cc34c1afb7ba88e04c8a8d2c8fa13b808b2c225d7",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
}
]
}
}
},
"isAutoUpdate": true,
"hasJetlag": true,
"hasJetpack": true,
"useMasterFiles": true,
"uptime": 18661425,
"portRange": "5000-5556",
"baseUrl": "https://a.blazemeter.com",
"hasProxy": false,
"verifySSL": true,
"created": 1574453716,
"updated": 1593113786,
"updaterStatus": {
"status": "success",
"lastUpdateCheck": 1593112089,
"nextUpdateCheck": 1593115689
},
"ts": 1593113786
}
]
},
"request_id": "5ef4fcbdb6300"
}
Attributes
-
id
stringread-only
The
harborId
of the private location -
name
stringrequired
The name of the private location
-
userId
integerread-only
The
userId
of the user to access the API -
consoleXms
integerThe minimum memory usage for JVM Arguments. Must match
engineXms
-
consoleXmx
integerThe maximum memory usage for JVM Arguments. Must match
engineXmx
-
engineXms
integerThe minimum memory usage for JVM Arguments. Must match
consoleXms
-
engineXmx
integerThe maximum memory usage for JVM Arguments. Must match
consoleXmx
-
threadsPerEngine
integerrequired
The maximum number of threads per instance you can run with. The max value is plan dependent or 1000 threads, whichever is the smallest
-
slots
integerrequired
This controls the number of "engines" that can run in one agent. If
type
is "large", this must be1
. Iftype
is "small", this can vary -
type
stringThe type of private location to create (only accepts "large" or "small"). The "large" version refers to the Dedicated engine, while the "small" version refers to a Shared engine, as explained in this article
-
disabled
booleanDenotes if the private location is disabled (if
true
) or not (iffalse
) -
hidden
booleanread-only
Denotes if the private location is hidden or not. No longer used
-
created
integerread-only
The timestamp of when the private location was created
-
updated
integerread-only
The timestamp of when the private location was updated
-
accountId
integerrequired
The
accountId
the private location is tied to -
shipsId
arrayread-only
The list of
shipId
s that are tied to the private location-
$oid
stringread-only
The
shipId
of the agent tied to the private location
-
-
workspacesId
arrayrequired
The list of
workspaceId
s that the private location is available in. TheseworkspaceId
s must be included in the same accountId -
funcIds
arrayrequired
The list of functionalities that this private location will use. For Dedicated ("large") type, ONLY ONE functionality can be used, while the Shared ("small") can have one or more functionalities. Visit this link for full list of functionalities. If you are using private cloud, see this link
-
ships
arrayread-only
A list of ship/server objects describing the agents available in the private location
The Server Object
The Server Object
{
"api_version": 4,
"error": null,
"result": {
"id": "5dd841d46c6cd5b0064fa941",
"name": "New Agent Check",
"address": "10.142.0.25",
"publicIpAddress": "35.196.139.239",
"disabled": false,
"state": "idle",
"lastHeartBeat": 1593113721,
"lastCommandOutput": "",
"isLocked": false,
"installedVersion": "3.5.14",
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 20941471744,
"freePercent": 50.399999999999999
},
"/var/lib/docker": {
"present": false
},
"/home/blazemeter": {
"present": true,
"freeSpace": 70525837312
}
},
"platform": [
"linux",
"linux-x86_64"
],
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": true,
"info": {
"operatingSystem": "Ubuntu 16.04.5 LTS",
"operatingSystemType": "linux",
"memory": 8364474368,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "18.09.1",
"images": [{
"Containers": -1,
"Created": 1592135649,
"Id": "sha256:51742f8148452b6a430d36f2e48d282e1d14adc21f816abb8d807989e1d6a116",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.20.51",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 6057428244,
"VirtualSize": 6057428244
},
{
"Containers": -1,
"Created": 1591189045,
"Id": "sha256:b2437a3424f204ced0d50248d0730bd77d91524e2c25b607b1a86ac7a9f3714d",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/crane@sha256:4db1384498f8004c769ecf5e1ab263a6b1a3d3901301ac96c3f56f2503730080"
],
"RepoTags": [
"blazemeter/crane:3.5.14",
"blazemeter/crane:latest",
"gcr.io/verdant-bulwark-278/blazemeter/crane:3.5.14"
],
"SharedSize": -1,
"Size": 52096988,
"VirtualSize": 52096988
},
{
"Containers": -1,
"Created": 1590781539,
"Id": "sha256:b599a4dff82d23ee0105080a783e5cc9d1eff950eb22f9e9a16c6b14f7ecae7d",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/service-mock@sha256:937312834575c484fab2d73c7f4608809e9acd118fe6e7ab5646697f6b85c3c2"
],
"RepoTags": [
"blazemeter/service-mock:3.6.0",
"blazemeter/service-mock:latest",
"gcr.io/verdant-bulwark-278/blazemeter/service-mock:3.6.0"
],
"SharedSize": -1,
"Size": 372896323,
"VirtualSize": 372896323
},
{
"Containers": -1,
"Created": 1590781538,
"Id": "sha256:5e37add71f0f3a48527c46a08278b3b17530443e2b7ff8426b50340c6a7ed6bd",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/sv-bridge@sha256:34d5c73460a4de7aa7d5f97aab2671ac0b18abdbc7f1a75bc11696a40acd4530"
],
"RepoTags": [
"blazemeter/sv-bridge:3.6.0",
"blazemeter/sv-bridge:latest",
"gcr.io/verdant-bulwark-278/blazemeter/sv-bridge:3.6.0"
],
"SharedSize": -1,
"Size": 349876453,
"VirtualSize": 349876453
},
{
"Containers": -1,
"Created": 1589900192,
"Id": "sha256:2d59cc77c273988b10f90eb62d2cee5fec0d7ac40f307e11093bfd2dd0828be1",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/apm@sha256:5949ff7b8f820555f912a21fdc0eef96146e7e1b19c43d9290646ad3db91abb8"
],
"RepoTags": [
"apm-image:1.4.7",
"apm-image:latest",
"gcr.io/verdant-bulwark-278/blazemeter/apm:1.4.7"
],
"SharedSize": -1,
"Size": 357829202,
"VirtualSize": 357829202
},
{
"Containers": -1,
"Created": 1589893087,
"Id": "sha256:44d6f361eef7b27849186dac0680783b9870017f353700b1e8379eb20046640b",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"gcr.io/verdant-bulwark-278/blazemeter/proxy-recorder@sha256:19921c689a689f4de8860e8ff2f61a4c6ccbb8fd552f3fceab3cdf34138fb6e1"
],
"RepoTags": [
"blazemeter/proxy-recorder:1.11.7",
"blazemeter/proxy-recorder:latest",
"gcr.io/verdant-bulwark-278/blazemeter/proxy-recorder:1.11.7"
],
"SharedSize": -1,
"Size": 879555522,
"VirtualSize": 879555522
},
{
"Containers": -1,
"Created": 1583919985,
"Id": "sha256:e61377ea370bc7a01ac1547cc34c1afb7ba88e04c8a8d2c8fa13b808b2c225d7",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
}
]
}
}
},
"isAutoUpdate": true,
"hasJetlag": true,
"hasJetpack": true,
"useMasterFiles": true,
"uptime": 18661360,
"portRange": "5000-5556",
"baseUrl": "https://a.blazemeter.com",
"hasProxy": false,
"verifySSL": true,
"created": 1574453716,
"updated": 1593113721,
"updaterStatus": {
"status": "success",
"lastUpdateCheck": 1593112089,
"nextUpdateCheck": 1593115689,
"lastUpdate": 1551225507
},
"ts": 1593113721
},
"request_id": "5ef4fc79c353d"
}
Attributes
-
id
stringread-only
The
shipId
of the private location -
name
stringrequired
The name of the agent
-
address
stringThe internal or manually assigned IP address of the machine where the agent is installed
-
publicIpAddress
stringread-only
The public IP address that is gathered from the machine where the agent is installed
-
disabled
booleanDenotes if the agent is disabled (if
true
) or not (iffalse
) -
state
stringread-only
The status of the agent. Can be one of the following:
idle
downloading
running
detached
error
empty
-
lastHeartBeat
integerread-only
The timestamp of when the last heartbeat was received
-
lastCommandOutput
stringread-only
Describes the last command handled by the agent
-
isLocked
booleanread-only
Denotes if the agent is avaiable for use or not
-
installedVersion
stringread-only
The version of the
blazemeter/crane
currently running on the machine the agent is installed -
hostInfo
objectread-only
The agent host information details
-
diskSpace
objectread-only
The agent machine disk space information
-
/tmp
objectread-only
The agent machine
/tmp
folder disk space information-
present
booleanread-only
Denotes if this folder is present on the agent's machine
-
freeSpace
integerread-only
Denotes remaining disk space available in this folder in bytes
-
freePercent
floatread-only
Denotes the percent of the disk space available in this folder
-
-
/var/lib/docker
objectread-only
The agent machine
/var/lib/docker
folder disk space information-
present
booleanread-only
Denotes if this folder is present on the agent's machine
-
-
/home/blazemeter
objectread-only
The agent machine
/home/blazemeter
folder disk space information-
present
booleanread-only
Denotes if this folder is present on the agent's machine
-
freeSpace
integerread-only
Denotes remaining disk space of the disk space in this folder in bytes
-
-
-
platform
arrayread-only
The list of agent machine platform details
-
containerManager
objectread-only
The container information from the agent machine
-
type
stringread-only
Indicates the installation type of the agent. Can be any of the following:
DockerManger
- Indicates the instance was installed in DockerKubernetesManager
- Indicates the instance was installed in Kubernetes -
usingDockerRegistry
booleanread-only
Denotes that this agent is pulling from a Docker registry. This will always be
true
-
info
objectread-only
The machine information details
-
operatingSystem
stringread-only
The operating system that is installed on the agent's machine
-
operatingSystemType
stringread-only
The type of operating system that is installed on the agent's machine
-
memory
integerread-only
The amount of memory on the agent's machine in bytes
-
cpus
integerread-only
The amount of CPUs on the agent's machine
-
dockerRootDir
stringread-only
The location of the root directory for the agent installation
-
dockerVersion
stringread-only
The version of Docker installed on the agent's machine
-
images
arrayread-only
List of images installed on the machine
-
Containers
integerread-only
This value is always
-1
-
Created
integerread-only
The timestamp of when the image was created
-
Id
stringread-only
The image ID of the image
-
Labels
nullread-only
This value is always
null
-
ParentId
stringread-only
This value is always empty
-
RepoDigests
nullread-only
This value is always
null
-
RepoTags
arrayread-only
This value denotes all the image tags for the image. You can find a full list of images in the appendix
-
SharedSize
integerread-only
This value is always
-1
-
Size
integerread-only
This value denotes the size of the image in bytes
-
VirtualSize
integerread-only
This value denotes the size of the image in bytes
-
-
-
-
-
isAutoUpdate
booleanread-only
Denotes if the agent auto updates (if
true
) or not (iffalse
) -
uptime
integerread-only
The time (in seconds) the private location has been running
-
portRange
stringThe range of ports available for the proxy recorder functionality. Must be a range of at least 2 ports using the following format:
{startPort}-{endPort}
-
baseUrl
stringread-only
The base URL being used by the OPL. Will only be different for private cloud users, otherwise will alwasy be https://a.blazemeter.com
-
hasProxy
booleanread-only
Denotes if the OPL uses is setup to go through a proxy (if
true
) or not (iffalse
) -
verifySSL
booleanread-only
Denotes if the OPL uses SSL verification (if
true
) or not (iffalse
) -
created
integerread-only
The timestamp of when the agent was created
-
updated
integerread-only
The timestamp of when the agent was last updated
-
updaterStatus
objectread-only
The update status details
-
status
stringread-only
Indicates what the status of the last update is. Will be
success
if everything updated without issue orfailed
if not (and will generated thelastError
attribute) -
lastUpdateCheck
integerread-only
The timestamp of the last update check
-
nextUpdateCheck
integerread-only
The timestamp of the next update check
-
lastUpdate
integerread-only
The timestamp of the last update
-
lastError
objectread-only
Details the last error details that was observed during the update
-
errorType
stringread-only
The type of error that was generated during the update (i.e.
OutOfDiskSpaceError
) -
errorMessage
stringread-only
The error message that was generated during the update
-
-
-
ts
integerread-only
The timestamp of when the agent was last updated
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]}'
API Explorer: /private-locations
The steps for creating a private location are as follows:
- Create the private-locations object with the Create a Private Location API.
- Capture the
harborId
returned asid
from the response. - Add agent(s) to the private location by using the
harborId
, which is explained in the Create an Agent section. - Capture the
shipId
returned asid
from the response. - Generate the
docker run
command using theshipId
, which is explained in Generate Docker Command section. - Go to step 5 of the Agent installation article and follow the reamining steps to complete the agent installation.
Create a Dedicated Private Location Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Create a Private Location Create a Dedicated Private Location POST Body (JSON)
{
"consoleXms": 1024,
"consoleXmx": 4096,
"engineXms": 1024,
"engineXmx": 4096,
"funcIds":["performance"],
"name": "My Private Location",
"slots": 1,
"threadsPerEngine": 1000,
"type": "large",
"overrideCPU": 2,
"overrideMemory": 4096,
"accountId": 123456,
"workspacesId": [
123456
]
}
Attributes
-
consoleXms
integerThe minimum memory usage for JVM Arguments. Must match
engineXms
-
consoleXmx
integerThe maximum memory usage for JVM Arguments. Must match
engineXmx
-
engineXms
integerThe minimum memory usage for JVM Arguments. Must match
consoleXms
-
engineXmx
integerThe maximum memory usage for JVM Arguments. Must match
consoleXmx
-
funcIds
arrayrequired
The list of functionalities that this private location will use. For Dedicated ("large") type, ONLY ONE functionality can be used, while the Shared ("small") can have one or more functionalities. Visit this link for full list of functionalities
-
name
stringrequired
The name of the private location
-
slots
integerThis controls the number of "engines" that can run in one agent. If
type
is "large", this must be1
. Iftype
is "small", this can vary -
threadsPerEngine
integerrequired
The maximum number of threads per instance you can run with. The max value is plan dependent or 1000 threads, whichever is the smallest
-
type
stringrequired
The type of private location to create (only accepts "large" or "small"). The "large" version refers to the Dedicated engine, while the "small" version refers to a Shared engine, as explained in this article
-
overrideCPU
integerSets the number of CPU(s) the agent will spin an instance up with
-
overrideMemory
integerSets the amount of memory the agent will spin an instance up with
-
accountId
integerrequired
The
accountId
of your account -
workspacesId
arrayrequired
Can contain a list of
workspaceId
s from the same account
Create a Dedicated Private Location Response Attributes
Response (Dedicated) 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",
"funcIds": [
"performance"
],
"hidden": false,
"overrideCPU": 2,
"overrideMemory": 4096,
"created": 1561739682,
"updated": 1561739682,
"accountId": 123456,
"workspacesId": [
123456
],
"ships": []
},
"request_id": "5d1641a1c3fd1"
}
To see a breakdown of the attributes, please see The Private Location Object section.
Create a Shared Private Location Request Attributes
Create a Private Location Create a Shared Private Location POST Body (JSON)
{
"consoleXms": 1024,
"consoleXmx": 4096,
"engineXms": 1024,
"engineXmx": 4096,
"name": "My Private Location",
"slots": 5,
"threadsPerEngine": 1000,
"type": "small",
"funcIds":["performance","functionalApi","proxyRecorder"],
"overrideCPU": 1,
"overrideMemory": 4096,
"accountId": 123456,
"workspacesId": [
123456
]
}
Attributes
-
consoleXms
integerThe minimum memory usage for JVM Arguments. Must match
engineXms
-
consoleXmx
integerThe maximum memory usage for JVM Arguments. Must match
engineXmx
-
engineXms
integerThe minimum memory usage for JVM Arguments. Must match
consoleXms
-
engineXmx
integerThe maximum memory usage for JVM Arguments. Must match
consoleXmx
-
funcIds
arrayrequired
The list of functionalities that this private location will use. For Dedicated ("large") type, ONLY ONE functionality can be used, while the Shared ("small") can have one or more functionalities. Visit this link for full list of functionalities
-
name
stringrequired
The name of the private location
-
slots
integerThis controls the number of "engines" that can run in one agent. If
type
is "large", this must be 1. Iftype
is "small", this can vary -
threadsPerEngine
integerrequired
The maximum number of threads per instance you can run with. The max value is plan dependent or 1000 threads, whichever is the smallest
-
type
stringrequired
The type of private location to create (only accepts "large" or "small"). The "large" version refers to the Dedicated engine, while the "small" version refers to a Shared engine, as explained in this article
-
overrideCPU
integerSets the number of CPU(s) the agent will spin an instance up with
-
overrideMemory
integerSets the amount of memory the agent will spin an instance up with
-
accountId
integerrequired
The
accountId
of your account -
workspacesId
arrayrequired
Can contain a list of
workspaceId
s from the same account
Create a Shared Private Location Response Attributes
Response (Shared) 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": 5,
"type": "large",
"funcIds": [
"performance",
"functionalApi",
"proxyRecorder"
],
"hidden": false,
"overrideCPU": 1,
"overrideMemory": 4096,
"created": 1561739682,
"updated": 1561739682,
"accountId": 123456,
"workspacesId": [
123456
],
"ships": []
},
"request_id": "5d1641a1c3fd1"
}
To see a breakdown of the attributes, please see The Private Location Object section.
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","address":"123.12.12.123"}'
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 agent name My Agent
and using an IP of 123.12.12.123
in the address
attribute. To use this API, replace the harborId
of 5d1641a21726d36d4632fd34
with your harborId
and give the name
attribute a name of your choosing and, optionally, the IP of your machine.
Create an Agent Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Create an Agent Create an Agent POST Body (JSON)
{
"name": "My Agent",
"address": "123.12.12.123"
}
Attributes
-
name
stringrequired
The name of the agent
-
address
stringThe IP address of the agent
Create an Agent Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": "5d2657219583d81adc3778b4",
"name": "My Agent",
"address": "123.12.12.123",
"state": "empty",
"hasJetlag": false,
"created": 1562793761,
"updated": 1562793761,
"ts": null
},
"request_id": "5d265720cf008"
}
To see a breakdown of the attributes, please see The Server Object section.
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'
API Explorer: /private-locations/{harborId}/ships/{shipId}/docker-command
To generate a Docker command, 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
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"
}
Attributes
-
dockerCommand
stringThe generated
docker run
command used for agent installation
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": 234567}'
API Explorer: /private-locations/{harborId}/add-workspace
To create a workspace to your private location, 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
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 thecurl
example.Add a Workspace to Private Location Add a Workspace to Private Location POST Body (JSON)
{
"workspaceId": 234567
}
Attributes
-
workspaceId
integerrequired
The
workspaceId
of the workspace to be added
Add a Workspace to Private Location Response Attributes
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": 123456,
"shipsId": [
{
"$oid": "5d2657219583d81adc3778b4"
}
],
"workspacesId": [
123456,
234567
],
"ships": [
{
"id": "5d2657219583d81adc3778b4",
"name": "My Agent",
"address": "123.12.12.123",
"state": "empty",
"hasJetlag": false,
"created": 1561739682,
"updated": 1562854544,
"ts": null
}
]
},
"request_id": "5d2744ad525c5"
}
To see a breakdown of the attributes, please see The Private Location Object section.
List Private Locations
List Private Locations
curl 'https://a.blazemeter.com/api/v4/private-locations?accountId=123429&workspaceId=123456' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations
To return a list of created private locations, an accountId
or a workspaceId
is required. The sample code returns a list of private locations within an accountId
of 123456
and a workspaceId
of 123456
. Use the actual ID values for the account or workspace to return the list of its private locations.
You can return a list specifying either a accountId
, a workspaceId
, or both. The returned list contains each private location's harborId
(shows up as id
in the response) and configuration.
List Private Locations Parameters
Parameters
-
accountId
integerrequired
The
accountId
you are wanting to get the list of private locations from -
workspaceId
integerrequired
The
workspaceId
you are wanting to get the list of private locations from -
types[]
stringFilters the returned agent list to specific private location types. The following values are possible values:
small
- This type references the Shared private location typelarge
- This type references the Dedicated private location type
Also see: Pagination and Sorting
List Private Locations Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": "5db9c5640634d626d0665efc",
"name": "Example Private Location",
"userId": 123456,
"consoleXms": 1024,
"consoleXmx": 4096,
"engineXms": 1024,
"engineXmx": 4096,
"threadsPerEngine": 300,
"slots": 5,
"type": "small",
"funcIds": [
"performance",
"functionalApi",
"proxyRecorder",
"mockServices",
"functionalGui",
"firefox:65",
"firefox:64",
"firefox:63",
"firefox:62",
"firefox:61",
"firefox:60",
"firefox:59",
"chrome:69",
"chrome:68",
"chrome:67",
"chrome:66",
"chrome:65"
],
"hidden": false,
"disabled": false,
"created": 1572455780,
"updated": 1572539142,
"accountId": 123456,
"shipsId": [
{
"$oid": "5db9c5ad71996f2cd40898b3"
},
{
"$oid": "5dbb081245137a19771c8253"
}
],
"workspacesId": [
123456
],
"ships": [
{
"id": "5db9c5ad71996f2cd40898b3",
"name": "New Agent",
"address": "10.123.1.123",
"publicIpAddress": "35.234.234.123",
"state": "idle",
"lastHeartBeat": 1572539183,
"lastCommandOutput": "",
"isLocked": false,
"installedVersion": "3.1.17-1526",
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 70527119360
},
"/var/lib/docker": {
"present": false
},
"/home/blazemeter": {
"present": true,
"freeSpace": 70527119360
}
},
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": false,
"info": {
"operatingSystem": "Ubuntu 16.04.6 LTS",
"operatingSystemType": "linux",
"memory": 7836102656,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "19.03.4",
"images": [
{
"Containers": -1,
"Created": 1572528902,
"Id": "sha256:2c5bf36dbce6ee135018cf6464c8d279d19e6c58b599c0996fa8743e871eaee9",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/service-mock:0.2.4-11",
"blazemeter/service-mock:latest"
],
"SharedSize": -1,
"Size": 164849267,
"VirtualSize": 164849267
},
{
"Containers": -1,
"Created": 1572456591,
"Id": "sha256:2f483a78ff30833b3041ff0bc153d44e22fa32d399ee52c17039e0173ee0aab5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/crane:3.1.17-1526",
"blazemeter/crane:latest"
],
"SharedSize": -1,
"Size": 140327991,
"VirtualSize": 140327991
},
{
"Containers": -1,
"Created": 1572456586,
"Id": "sha256:9196998214abb796f7087746246135d17b076ea877fd10882ee379d3591e27e5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_65.0.3325.181:2.1.0-266",
"blazemeter/charmander/chrome_65.0.3325.181:latest"
],
"SharedSize": -1,
"Size": 1456486511,
"VirtualSize": 1456486511
},
{
"Containers": -1,
"Created": 1572456554,
"Id": "sha256:3d18e73cb7b0ff57095e5445ec16a75b668c822e86c1ea286b4f5681c6a395cf",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
},
{
"Containers": -1,
"Created": 1572456436,
"Id": "sha256:c4eb412e5798c44da65ecb3158be3542e33cab266289e0294bbf7ec8802d65d8",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_60.0.2:2.1.0-266",
"blazemeter/charmander/firefox_60.0.2:latest"
],
"SharedSize": -1,
"Size": 1414052702,
"VirtualSize": 1414052702
},
{
"Containers": -1,
"Created": 1572456406,
"Id": "sha256:f2b81d8b717f86bf43d0292f7799cc66c6961a34406bf0a8c2486dad9c270ee0",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/proxy-recorder:1.10.1-850",
"blazemeter/proxy-recorder:latest"
],
"SharedSize": -1,
"Size": 599224295,
"VirtualSize": 599224295
},
{
"Containers": -1,
"Created": 1572456392,
"Id": "sha256:956e58859917127603d91b6a0a41033e203bf8a67f8287b9f348f32c1ddc4da6",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_61.0.2:2.1.0-266",
"blazemeter/charmander/firefox_61.0.2:latest"
],
"SharedSize": -1,
"Size": 1411259801,
"VirtualSize": 1411259801
},
{
"Containers": -1,
"Created": 1572456361,
"Id": "sha256:229f8d1f721a87f879ab2914b601661ccdf54e6cf199545be2ae7906989d5aea",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_62.0.3:2.1.0-266",
"blazemeter/charmander/firefox_62.0.3:latest"
],
"SharedSize": -1,
"Size": 1414549206,
"VirtualSize": 1414549206
},
{
"Containers": -1,
"Created": 1572456328,
"Id": "sha256:4b972899d53e4e810fc405995584a1eb492f06630e001b343db07e2e1b73f598",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_69.0.3497.92:2.1.0-266",
"blazemeter/charmander/chrome_69.0.3497.92:latest"
],
"SharedSize": -1,
"Size": 1467895980,
"VirtualSize": 1467895980
},
{
"Containers": -1,
"Created": 1572456295,
"Id": "sha256:3499ac54e173d86a670678f6c939d50db95f7a9acc408408d35dbf3571755c43",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"apm-image:1.3.0-826",
"apm-image:latest"
],
"SharedSize": -1,
"Size": 349033017,
"VirtualSize": 349033017
},
{
"Containers": -1,
"Created": 1572456287,
"Id": "sha256:741a0dfb03a60b2a92c7919ad2917061a81b0ce18f80b205458f1305cda2ef66",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_59.0.3:2.1.0-266",
"blazemeter/charmander/firefox_59.0.3:latest"
],
"SharedSize": -1,
"Size": 1417551431,
"VirtualSize": 1417551431
},
{
"Containers": -1,
"Created": 1572456254,
"Id": "sha256:7acc33b007cdfa24b43f9b472ce8609edac67bd0489d1c65ae4d4c60df5873cc",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_66.0.3359.181:2.1.0-266",
"blazemeter/charmander/chrome_66.0.3359.181:latest"
],
"SharedSize": -1,
"Size": 1456797479,
"VirtualSize": 1456797479
},
{
"Containers": -1,
"Created": 1572456220,
"Id": "sha256:fc74752e5c679ea92c9c8debb8a51fc25950535fab78ae9ae7494dbc80aa2e56",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.17.5-1053",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 5116339960,
"VirtualSize": 5116339960
},
{
"Containers": -1,
"Created": 1572456106,
"Id": "sha256:5cc41950e3e7151227ba092c99461ddac2c0775159c4c71169bf3327b410af88",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_68.0.3440.84:2.1.0-266",
"blazemeter/charmander/chrome_68.0.3440.84:latest"
],
"SharedSize": -1,
"Size": 1463143595,
"VirtualSize": 1463143595
},
{
"Containers": -1,
"Created": 1572456072,
"Id": "sha256:50ec6f7ad24d01e9e181314951f72b945483cfb89720174682eb93a3c500f59e",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_67.0.3396.79:2.1.0-266",
"blazemeter/charmander/chrome_67.0.3396.79:latest"
],
"SharedSize": -1,
"Size": 1457708938,
"VirtualSize": 1457708938
},
{
"Containers": -1,
"Created": 1572456036,
"Id": "sha256:80bd52151d5cd55cf1cd8bd64e6d959195a2759734eef3aab3aa9965963adc50",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_65.0.2:2.1.0-266",
"blazemeter/charmander/firefox_65.0.2:latest"
],
"SharedSize": -1,
"Size": 1450140743,
"VirtualSize": 1450140743
},
{
"Containers": -1,
"Created": 1572456004,
"Id": "sha256:162a133de9627a628b231349e28d341d4c36a466be76c5ab0e91555997b1ffe7",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_63.0.1:2.1.0-266",
"blazemeter/charmander/firefox_63.0.1:latest"
],
"SharedSize": -1,
"Size": 1419334668,
"VirtualSize": 1419334668
},
{
"Containers": -1,
"Created": 1572455968,
"Id": "sha256:e579437c8f0c793f5af786a24c9e53409da0a03b34ebef4f902a2d299e1b8e0a",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_64.0.2:2.1.0-266",
"blazemeter/charmander/firefox_64.0.2:latest"
],
"SharedSize": -1,
"Size": 1439905832,
"VirtualSize": 1439905832
}
]
}
}
},
"isAutoUpdate": true,
"hasJetlag": true,
"hasJetpack": true,
"useMasterFiles": true,
"uptime": 616003,
"baseUrl": "https://a.blazemeter.com",
"hasProxy": false,
"verifySSL": true,
"created": 1572455853,
"updated": 1572539183,
"updaterStatus": {
"status": "success",
"lastUpdateCheck": 1572536148,
"nextUpdateCheck": 1572539748,
"lastUpdate": 1572528902
},
"ts": 1572539183
}
]
}
],
"request_id": "5dbb0b48f06fa"
}
To see a breakdown of the attributes, please see The Private Location Object section.
Private Location Details
Private Location Details
curl 'https://a.blazemeter.com/api/v4/private-locations/5db9c5640634d626d0665efc' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations/{harborId}
To return the details of a private location, a harborId
is required. The sample code returns the details of the private location with a harborId
of 5db9c5640634d626d0665efc
. Use the actual ID values for the private locations to return the details of its private location.
Private Location Details Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 2,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": "5db9c5640634d626d0665efc",
"name": "Example Private Location",
"userId": 123456,
"consoleXms": 1024,
"consoleXmx": 4096,
"engineXms": 1024,
"engineXmx": 4096,
"threadsPerEngine": 300,
"slots": 5,
"type": "small",
"funcIds": [
"performance",
"functionalApi",
"proxyRecorder",
"mockServices",
"functionalGui",
"firefox:65",
"firefox:64",
"firefox:63",
"firefox:62",
"firefox:61",
"firefox:60",
"firefox:59",
"chrome:69",
"chrome:68",
"chrome:67",
"chrome:66",
"chrome:65"
],
"hidden": false,
"disabled": false,
"created": 1572455780,
"updated": 1572539142,
"accountId": 123456,
"shipsId": [
{
"$oid": "5db9c5ad71996f2cd40898b3"
},
{
"$oid": "5dbb081245137a19771c8253"
}
],
"workspacesId": [
123456
],
"ships": [
{
"id": "5db9c5ad71996f2cd40898b3",
"name": "New Agent",
"address": "10.123.1.123",
"publicIpAddress": "35.234.234.123",
"state": "idle",
"lastHeartBeat": 1572539183,
"lastCommandOutput": "",
"isLocked": false,
"installedVersion": "3.1.17-1526",
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 70527119360
},
"/var/lib/docker": {
"present": false
},
"/home/blazemeter": {
"present": true,
"freeSpace": 70527119360
}
},
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": false,
"info": {
"operatingSystem": "Ubuntu 16.04.6 LTS",
"operatingSystemType": "linux",
"memory": 7836102656,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "19.03.4",
"images": [
{
"Containers": -1,
"Created": 1572528902,
"Id": "sha256:2c5bf36dbce6ee135018cf6464c8d279d19e6c58b599c0996fa8743e871eaee9",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/service-mock:0.2.4-11",
"blazemeter/service-mock:latest"
],
"SharedSize": -1,
"Size": 164849267,
"VirtualSize": 164849267
},
{
"Containers": -1,
"Created": 1572456591,
"Id": "sha256:2f483a78ff30833b3041ff0bc153d44e22fa32d399ee52c17039e0173ee0aab5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/crane:3.1.17-1526",
"blazemeter/crane:latest"
],
"SharedSize": -1,
"Size": 140327991,
"VirtualSize": 140327991
},
{
"Containers": -1,
"Created": 1572456586,
"Id": "sha256:9196998214abb796f7087746246135d17b076ea877fd10882ee379d3591e27e5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_65.0.3325.181:2.1.0-266",
"blazemeter/charmander/chrome_65.0.3325.181:latest"
],
"SharedSize": -1,
"Size": 1456486511,
"VirtualSize": 1456486511
},
{
"Containers": -1,
"Created": 1572456554,
"Id": "sha256:3d18e73cb7b0ff57095e5445ec16a75b668c822e86c1ea286b4f5681c6a395cf",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
},
{
"Containers": -1,
"Created": 1572456436,
"Id": "sha256:c4eb412e5798c44da65ecb3158be3542e33cab266289e0294bbf7ec8802d65d8",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_60.0.2:2.1.0-266",
"blazemeter/charmander/firefox_60.0.2:latest"
],
"SharedSize": -1,
"Size": 1414052702,
"VirtualSize": 1414052702
},
{
"Containers": -1,
"Created": 1572456406,
"Id": "sha256:f2b81d8b717f86bf43d0292f7799cc66c6961a34406bf0a8c2486dad9c270ee0",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/proxy-recorder:1.10.1-850",
"blazemeter/proxy-recorder:latest"
],
"SharedSize": -1,
"Size": 599224295,
"VirtualSize": 599224295
},
{
"Containers": -1,
"Created": 1572456392,
"Id": "sha256:956e58859917127603d91b6a0a41033e203bf8a67f8287b9f348f32c1ddc4da6",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_61.0.2:2.1.0-266",
"blazemeter/charmander/firefox_61.0.2:latest"
],
"SharedSize": -1,
"Size": 1411259801,
"VirtualSize": 1411259801
},
{
"Containers": -1,
"Created": 1572456361,
"Id": "sha256:229f8d1f721a87f879ab2914b601661ccdf54e6cf199545be2ae7906989d5aea",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_62.0.3:2.1.0-266",
"blazemeter/charmander/firefox_62.0.3:latest"
],
"SharedSize": -1,
"Size": 1414549206,
"VirtualSize": 1414549206
},
{
"Containers": -1,
"Created": 1572456328,
"Id": "sha256:4b972899d53e4e810fc405995584a1eb492f06630e001b343db07e2e1b73f598",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_69.0.3497.92:2.1.0-266",
"blazemeter/charmander/chrome_69.0.3497.92:latest"
],
"SharedSize": -1,
"Size": 1467895980,
"VirtualSize": 1467895980
},
{
"Containers": -1,
"Created": 1572456295,
"Id": "sha256:3499ac54e173d86a670678f6c939d50db95f7a9acc408408d35dbf3571755c43",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"apm-image:1.3.0-826",
"apm-image:latest"
],
"SharedSize": -1,
"Size": 349033017,
"VirtualSize": 349033017
},
{
"Containers": -1,
"Created": 1572456287,
"Id": "sha256:741a0dfb03a60b2a92c7919ad2917061a81b0ce18f80b205458f1305cda2ef66",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_59.0.3:2.1.0-266",
"blazemeter/charmander/firefox_59.0.3:latest"
],
"SharedSize": -1,
"Size": 1417551431,
"VirtualSize": 1417551431
},
{
"Containers": -1,
"Created": 1572456254,
"Id": "sha256:7acc33b007cdfa24b43f9b472ce8609edac67bd0489d1c65ae4d4c60df5873cc",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_66.0.3359.181:2.1.0-266",
"blazemeter/charmander/chrome_66.0.3359.181:latest"
],
"SharedSize": -1,
"Size": 1456797479,
"VirtualSize": 1456797479
},
{
"Containers": -1,
"Created": 1572456220,
"Id": "sha256:fc74752e5c679ea92c9c8debb8a51fc25950535fab78ae9ae7494dbc80aa2e56",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.17.5-1053",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 5116339960,
"VirtualSize": 5116339960
},
{
"Containers": -1,
"Created": 1572456106,
"Id": "sha256:5cc41950e3e7151227ba092c99461ddac2c0775159c4c71169bf3327b410af88",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_68.0.3440.84:2.1.0-266",
"blazemeter/charmander/chrome_68.0.3440.84:latest"
],
"SharedSize": -1,
"Size": 1463143595,
"VirtualSize": 1463143595
},
{
"Containers": -1,
"Created": 1572456072,
"Id": "sha256:50ec6f7ad24d01e9e181314951f72b945483cfb89720174682eb93a3c500f59e",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_67.0.3396.79:2.1.0-266",
"blazemeter/charmander/chrome_67.0.3396.79:latest"
],
"SharedSize": -1,
"Size": 1457708938,
"VirtualSize": 1457708938
},
{
"Containers": -1,
"Created": 1572456036,
"Id": "sha256:80bd52151d5cd55cf1cd8bd64e6d959195a2759734eef3aab3aa9965963adc50",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_65.0.2:2.1.0-266",
"blazemeter/charmander/firefox_65.0.2:latest"
],
"SharedSize": -1,
"Size": 1450140743,
"VirtualSize": 1450140743
},
{
"Containers": -1,
"Created": 1572456004,
"Id": "sha256:162a133de9627a628b231349e28d341d4c36a466be76c5ab0e91555997b1ffe7",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_63.0.1:2.1.0-266",
"blazemeter/charmander/firefox_63.0.1:latest"
],
"SharedSize": -1,
"Size": 1419334668,
"VirtualSize": 1419334668
},
{
"Containers": -1,
"Created": 1572455968,
"Id": "sha256:e579437c8f0c793f5af786a24c9e53409da0a03b34ebef4f902a2d299e1b8e0a",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_64.0.2:2.1.0-266",
"blazemeter/charmander/firefox_64.0.2:latest"
],
"SharedSize": -1,
"Size": 1439905832,
"VirtualSize": 1439905832
}
]
}
}
},
"isAutoUpdate": true,
"hasJetlag": true,
"hasJetpack": true,
"useMasterFiles": true,
"uptime": 616003,
"baseUrl": "https://a.blazemeter.com",
"hasProxy": false,
"verifySSL": true,
"created": 1572455853,
"updated": 1572539183,
"updaterStatus": {
"status": "success",
"lastUpdateCheck": 1572536148,
"nextUpdateCheck": 1572539748,
"lastUpdate": 1572528902
},
"ts": 1572539183
}
]
}
],
"request_id": "5dbb0b48f06fa"
}
To see a breakdown of the attributes, please see The Private Location Object section.
Update a Private Location
Update a Private Location
curl 'https://a.blazemeter.com/api/v4/private-locations/5b0323b3c648be3b4c7b23c8' \
-X PATCH \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name":"My Private Location"}'
API Explorer: /private-locations/{harborId}
To update a private location, you will need to know the harborId
. The sample code updates a private location with a harborId
of 5b0323b3c648be3b4c7b23c8
with a new private location name My Private Location
. To use this API, replace the harborId
of 5b0323b3c648be3b4c7b23c8
with your harborId
and change the name
attribute a name of your choosing.
Update a Private Location Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Update a Private Location Update a Private Location PATCH Body (JSON)
{
"name":"My Private Location"
}
Attributes
-
name
stringThe name of the private location
Update a Private Location Response Attributes
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",
"funcIds": [
"performance"
],
"hidden": false,
"overrideCPU": 2,
"overrideMemory": 4096,
"created": 1561739682,
"updated": 1561739682,
"accountId": 123456,
"workspacesId": [
123456
],
"ships": []
},
"request_id": "5d1641a1c3fd1"
}
To see a breakdown of the attributes, please see The Private Location Object section.
List Agents
List Agents
curl 'https://a.blazemeter.com/api/v4/private-locations/5db9c5640634d626d0665efc/servers' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations/{harborId}/servers
To return a list of created agents, a harborId
is required. The sample code returns a list of agents within a harborId
of 5db9c5ad71996f2cd40898b3
. Use the actual ID value for the private location to return the list of its agents.
The returned list contains each agent's shipId
(shows up as id
in the response) and configuration.
List Agents Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": [
{
"id": "5db9c5ad71996f2cd40898b3",
"name": "New Agent",
"address": "10.128.0.104",
"publicIpAddress": "35.222.210.178",
"state": "idle",
"lastHeartBeat": 1572550685,
"lastCommandOutput": "",
"isLocked": false,
"created": 1572455853,
"updated": 1572550685,
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 70525837312
},
"/var/lib/docker": {
"present": false
},
"/home/blazemeter": {
"present": true,
"freeSpace": 70525837312
}
},
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": false,
"info": {
"operatingSystem": "Ubuntu 16.04.6 LTS",
"operatingSystemType": "linux",
"memory": 7836102656,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "19.03.4",
"images": [
{
"Containers": -1,
"Created": 1572528902,
"Id": "sha256:2c5bf36dbce6ee135018cf6464c8d279d19e6c58b599c0996fa8743e871eaee9",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/service-mock:0.2.4-11",
"blazemeter/service-mock:latest"
],
"SharedSize": -1,
"Size": 164849267,
"VirtualSize": 164849267
},
{
"Containers": -1,
"Created": 1572456591,
"Id": "sha256:2f483a78ff30833b3041ff0bc153d44e22fa32d399ee52c17039e0173ee0aab5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/crane:3.1.17-1526",
"blazemeter/crane:latest"
],
"SharedSize": -1,
"Size": 140327991,
"VirtualSize": 140327991
},
{
"Containers": -1,
"Created": 1572456586,
"Id": "sha256:9196998214abb796f7087746246135d17b076ea877fd10882ee379d3591e27e5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_65.0.3325.181:2.1.0-266",
"blazemeter/charmander/chrome_65.0.3325.181:latest"
],
"SharedSize": -1,
"Size": 1456486511,
"VirtualSize": 1456486511
},
{
"Containers": -1,
"Created": 1572456554,
"Id": "sha256:3d18e73cb7b0ff57095e5445ec16a75b668c822e86c1ea286b4f5681c6a395cf",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
},
{
"Containers": -1,
"Created": 1572456436,
"Id": "sha256:c4eb412e5798c44da65ecb3158be3542e33cab266289e0294bbf7ec8802d65d8",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_60.0.2:2.1.0-266",
"blazemeter/charmander/firefox_60.0.2:latest"
],
"SharedSize": -1,
"Size": 1414052702,
"VirtualSize": 1414052702
},
{
"Containers": -1,
"Created": 1572456406,
"Id": "sha256:f2b81d8b717f86bf43d0292f7799cc66c6961a34406bf0a8c2486dad9c270ee0",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/proxy-recorder:1.10.1-850",
"blazemeter/proxy-recorder:latest"
],
"SharedSize": -1,
"Size": 599224295,
"VirtualSize": 599224295
},
{
"Containers": -1,
"Created": 1572456392,
"Id": "sha256:956e58859917127603d91b6a0a41033e203bf8a67f8287b9f348f32c1ddc4da6",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_61.0.2:2.1.0-266",
"blazemeter/charmander/firefox_61.0.2:latest"
],
"SharedSize": -1,
"Size": 1411259801,
"VirtualSize": 1411259801
},
{
"Containers": -1,
"Created": 1572456361,
"Id": "sha256:229f8d1f721a87f879ab2914b601661ccdf54e6cf199545be2ae7906989d5aea",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_62.0.3:2.1.0-266",
"blazemeter/charmander/firefox_62.0.3:latest"
],
"SharedSize": -1,
"Size": 1414549206,
"VirtualSize": 1414549206
},
{
"Containers": -1,
"Created": 1572456328,
"Id": "sha256:4b972899d53e4e810fc405995584a1eb492f06630e001b343db07e2e1b73f598",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_69.0.3497.92:2.1.0-266",
"blazemeter/charmander/chrome_69.0.3497.92:latest"
],
"SharedSize": -1,
"Size": 1467895980,
"VirtualSize": 1467895980
},
{
"Containers": -1,
"Created": 1572456295,
"Id": "sha256:3499ac54e173d86a670678f6c939d50db95f7a9acc408408d35dbf3571755c43",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"apm-image:1.3.0-826",
"apm-image:latest"
],
"SharedSize": -1,
"Size": 349033017,
"VirtualSize": 349033017
},
{
"Containers": -1,
"Created": 1572456287,
"Id": "sha256:741a0dfb03a60b2a92c7919ad2917061a81b0ce18f80b205458f1305cda2ef66",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_59.0.3:2.1.0-266",
"blazemeter/charmander/firefox_59.0.3:latest"
],
"SharedSize": -1,
"Size": 1417551431,
"VirtualSize": 1417551431
},
{
"Containers": -1,
"Created": 1572456254,
"Id": "sha256:7acc33b007cdfa24b43f9b472ce8609edac67bd0489d1c65ae4d4c60df5873cc",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_66.0.3359.181:2.1.0-266",
"blazemeter/charmander/chrome_66.0.3359.181:latest"
],
"SharedSize": -1,
"Size": 1456797479,
"VirtualSize": 1456797479
},
{
"Containers": -1,
"Created": 1572456220,
"Id": "sha256:fc74752e5c679ea92c9c8debb8a51fc25950535fab78ae9ae7494dbc80aa2e56",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.17.5-1053",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 5116339960,
"VirtualSize": 5116339960
},
{
"Containers": -1,
"Created": 1572456106,
"Id": "sha256:5cc41950e3e7151227ba092c99461ddac2c0775159c4c71169bf3327b410af88",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_68.0.3440.84:2.1.0-266",
"blazemeter/charmander/chrome_68.0.3440.84:latest"
],
"SharedSize": -1,
"Size": 1463143595,
"VirtualSize": 1463143595
},
{
"Containers": -1,
"Created": 1572456072,
"Id": "sha256:50ec6f7ad24d01e9e181314951f72b945483cfb89720174682eb93a3c500f59e",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/chrome_67.0.3396.79:2.1.0-266",
"blazemeter/charmander/chrome_67.0.3396.79:latest"
],
"SharedSize": -1,
"Size": 1457708938,
"VirtualSize": 1457708938
},
{
"Containers": -1,
"Created": 1572456036,
"Id": "sha256:80bd52151d5cd55cf1cd8bd64e6d959195a2759734eef3aab3aa9965963adc50",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_65.0.2:2.1.0-266",
"blazemeter/charmander/firefox_65.0.2:latest"
],
"SharedSize": -1,
"Size": 1450140743,
"VirtualSize": 1450140743
},
{
"Containers": -1,
"Created": 1572456004,
"Id": "sha256:162a133de9627a628b231349e28d341d4c36a466be76c5ab0e91555997b1ffe7",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_63.0.1:2.1.0-266",
"blazemeter/charmander/firefox_63.0.1:latest"
],
"SharedSize": -1,
"Size": 1419334668,
"VirtualSize": 1419334668
},
{
"Containers": -1,
"Created": 1572455968,
"Id": "sha256:e579437c8f0c793f5af786a24c9e53409da0a03b34ebef4f902a2d299e1b8e0a",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/charmander/firefox_64.0.2:2.1.0-266",
"blazemeter/charmander/firefox_64.0.2:latest"
],
"SharedSize": -1,
"Size": 1439905832,
"VirtualSize": 1439905832
}
]
}
}
},
"hasJetlag": true,
"ts": 1572550685
}
],
"request_id": "5dbb382ca437f"
}
To see a breakdown of the attributes, please see The Server Object section.
Agent Details
Agent Details
curl 'https://a.blazemeter.com/api/v4/private-locations/5db9c5640634d626d0665efc/servers/5db9c5640634d626d0665efc' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations/{harborId}/servers/{shipId}
To return the details of an agent, a harborId
and a shipId
is required. The sample code returns the details of the agent with a harborId
of 5db9c5640634d626d0665efc
and a shipId
of 5db9c5640634d626d0665efc
. Use the actual ID values for the private location and agent to return the details of the agent.
Agent Details Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"id": "5da78c8240055536a5297345",
"name": "New Centos Agent",
"address": "10.128.0.101",
"publicIpAddress": "35.223.16.91",
"state": "detached",
"lastHeartBeat": 1572275227,
"lastCommandOutput": "",
"isLocked": false,
"installedVersion": "3.1.15-1514",
"hostInfo": {
"diskSpace": {
"/tmp": {
"present": true,
"freeSpace": 88910917632
},
"/var/lib/docker": {
"present": false
},
"/home/blazemeter": {
"present": true,
"freeSpace": 88910917632
}
},
"containerManager": {
"type": "DockerManager",
"usingDockerRegistry": false,
"info": {
"operatingSystem": "CentOS Linux 7 (Core)",
"operatingSystemType": "linux",
"memory": 7672881152,
"cpus": 2,
"dockerRootDir": "/var/lib/docker",
"dockerVersion": "19.03.4",
"images": [
{
"Containers": -1,
"Created": 1571261948,
"Id": "sha256:a86d5359539a74870ef1e1d27014522c583dba3f7fb36d08f4ebe3c03400a5dd",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter:1.4.1-92",
"blazemeter:latest"
],
"SharedSize": -1,
"Size": 5579810429,
"VirtualSize": 5579810429
},
{
"Containers": -1,
"Created": 1571261816,
"Id": "sha256:2d84898fc32397cb934eec3b1de9fe5ddb06a3ed58de18435850259b31272589",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/proxy-recorder:1.10.1-850",
"blazemeter/proxy-recorder:latest"
],
"SharedSize": -1,
"Size": 599224295,
"VirtualSize": 599224295
},
{
"Containers": -1,
"Created": 1571261802,
"Id": "sha256:f78b261dc02cbedebeaa0be0a61e8c39170dd7d3c19c19139859f8cc3f9bbbdc",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/service-mock:0.2.4-11",
"blazemeter/service-mock:latest"
],
"SharedSize": -1,
"Size": 164849267,
"VirtualSize": 164849267
},
{
"Containers": -1,
"Created": 1571261797,
"Id": "sha256:65059e5c63d8d77571d6ef02f89b1d54d439cef040851da349d5e6aca68ba01d",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"chrome_69.0.3497.92:latest",
"chrome_69.0.3497.92_charmander_1.1.7.231:chrome_69.0.3497.92_charmander_1.1.7.231",
"chrome_69.0.3497.92_charmander_1.1.7.231:latest"
],
"SharedSize": -1,
"Size": 1410761196,
"VirtualSize": 1410761196
},
{
"Containers": -1,
"Created": 1571261761,
"Id": "sha256:d0de7e20f9ebad580979ec296edc90b5a79374b6007b7cc3375128fbca198ac5",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"apm-image:1.3.0-826",
"apm-image:latest"
],
"SharedSize": -1,
"Size": 349033017,
"VirtualSize": 349033017
},
{
"Containers": -1,
"Created": 1571261737,
"Id": "sha256:84a22bc8c2dcc63c31c4c60b526ddd87a44f3beb79b4c9d3358c2c07751a84ae",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"taurus-cloud:1.17.4-1049",
"taurus-cloud:latest"
],
"SharedSize": -1,
"Size": 5115062238,
"VirtualSize": 5115062238
},
{
"Containers": -1,
"Created": 1571261635,
"Id": "sha256:220e832427b069a1011e2f73370725c7f755a51a0b1149691af03d30fb4a0967",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"blazemeter/crane:3.1.15-1514",
"blazemeter/crane:latest"
],
"SharedSize": -1,
"Size": 136891718,
"VirtualSize": 136891718
},
{
"Containers": -1,
"Created": 1571261626,
"Id": "sha256:65debd84b2d95ddc61e57080484c2c4eb8b80b22d629e8c6e146ade588cdf0f3",
"Labels": null,
"ParentId": "",
"RepoDigests": null,
"RepoTags": [
"firefox_65.0.2:latest",
"firefox_65.0.2_charmander_1.1.7.231:firefox_65.0.2_charmander_1.1.7.231",
"firefox_65.0.2_charmander_1.1.7.231:latest"
],
"SharedSize": -1,
"Size": 1393006212,
"VirtualSize": 1393006212
}
]
}
}
},
"isAutoUpdate": true,
"hasJetlag": true,
"hasJetpack": true,
"useMasterFiles": true,
"uptime": 1013843,
"baseUrl": "https://a.blazemeter.com",
"hasProxy": false,
"verifySSL": true,
"created": 1571261570,
"updated": 1593180006,
"updaterStatus": {
"status": "success",
"lastUpdateCheck": 1572273500,
"nextUpdateCheck": 1572277100
},
"ts": 1572275227
},
"request_id": "5ef5fff2b6387"
}
To see a breakdown of the attributes, please see The Agent Object section.
Update an Agent
Update an Agent
curl 'https://a.blazemeter.com/api/v4/private-locations/5b0323b3c648be3b4c7b23c8/servers/5d2657219583d81adc3778b4' \
-X PATCH \
-H 'Content-Type: application/json' \
--user 'api_key_id:api_key_secret' \
-d '{"name":"My New Agent"}'
API Explorer: /private-locations/{harborId}/servers/{shipId}
To update an agent, you will need to know the harborId
and the shipId
. The sample code adds an agent to a private location with a harborId
of 5b0323b3c648be3b4c7b23c8
and an agent with the shipId
of 5d2657219583d81adc3778b4
with a new agent name My Agent
. To use this API, replace the harborId
of 5b0323b3c648be3b4c7b23c8
with your harborId
, replace the shipId
of 5d2657219583d81adc3778b4
with your shipId
and give the name
attribute a name of your choosing and, optionally, the IP of your machine.
Update an Agent Request Attributes
The following JSON sample provides a more readable version of the content contained in the above
curl
example. This example represents the attributes and values contained in the-d
flag of thecurl
example.Update an Agent Update an Agent PATCH Body (JSON)
{
"name": "My New Agent"
}
Attributes
-
name
stringThe name of the agent
Update an Agent Response Attributes
Response 201 Created
{
"api_version": 4,
"error": null,
"result": {
"id": "5d2657219583d81adc3778b4",
"name": "My New Agent",
"address": "123.12.12.123",
"state": "empty",
"hasJetlag": false,
"created": 1562793761,
"updated": 1562793761,
"ts": null
},
"request_id": "5d265720cf008"
}
To see a breakdown of the attributes, please see The Server Object section.
Private Location Image Versions
Private Location Image Versions
curl 'https://a.blazemeter.com/api/v4/private-locations/5db9c5640634d626d0665efc/ships/5b0323b9c85b7cbd587b23c7/versions' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations/{harborId}/ships/{shipId}/versions
To return a list of the latest image versions, a harborId
and a shipId
is required. The sample code returns a list of images available within a harborId
of 5db9c5ad71996f2cd40898b3
and shipId
of 5b0323b9c85b7cbd587b23c7
. Use the actual ID value for the private location and agent to return the list of the current image versions.
Private Location Image Versions Response Attributes
Response 200 OK
{
"api_version": 4,
"error": null,
"result": {
"resources": {
"apmDockerImage": {
"dockerTag": "apm-image",
"type": "dockerImage",
"url": "https://blazemeter-images.s3.amazonaws.com/apm/1.3.0-826.tar",
"version": "1.3.0-826",
"imageRelativePath": "blazemeter/apm",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/crane": {
"dockerTag": "blazemeter/crane",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/crane/3.1.18-1532.tar",
"version": "3.1.18-1532",
"imageRelativePath": "blazemeter/crane",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"engineDockerImage": {
"dockerTag": "blazemeter",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/v3/v3-engine-packer-1551185708700-docker.tar",
"version": "1.4.1-92",
"imageRelativePath": "blazemeter/v3",
"blacklist": [
"disableOTC"
],
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"taurusEngineDockerImage": {
"dockerTag": "taurus-cloud",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/v4/1.17.5-1053.tar",
"version": "1.17.5-1053",
"imageRelativePath": "blazemeter/v4",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/proxy-recorder": {
"dockerTag": "blazemeter/proxy-recorder",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/proxy-recorder/1.10.1-850.tar",
"version": "1.10.1-850",
"imageRelativePath": "blazemeter/proxy-recorder",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/sv-bridge": {
"dockerTag": "blazemeter/sv-bridge",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/sv-bridge/0.1.0.tar",
"version": "0.1.0",
"imageRelativePath": "blazemeter/sv-bridge",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/service-mock": {
"dockerTag": "blazemeter/service-mock",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/service-mock/0.2.4-11.tar",
"version": "0.2.4-11",
"imageRelativePath": "blazemeter/service-mock",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/charmander/firefox/65": {
"dockerTag": "blazemeter/charmander/firefox_65.0.2",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/charmander/2.1.0-266/firefox/firefox_65.0.2.tar",
"version": "2.1.0-266",
"imageRelativePath": "blazemeter/charmander/firefox_65.0.2",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
},
"blazemeter/charmander/chrome/69": {
"dockerTag": "blazemeter/charmander/chrome_69.0.3497.92",
"type": "dockerImage",
"url": "https://s3.amazonaws.com/blazemeter-images/charmander/2.1.0-266/chrome/chrome_69.0.3497.92.tar",
"version": "2.1.0-266",
"imageRelativePath": "blazemeter/charmander/chrome_69.0.3497.92",
"validHarborTypes": [
"small",
"large",
"marathon",
"functional"
]
}
}
},
"request_id": "5dc1d999e6c24"
}
Attributes
-
resources
objectThe image resource details
-
apmDockerImage
objectThe image for implementing APM integrations through a private location
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/crane
objectThe image for the agent installation
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
engineDockerImage
objectThe image used for running legacy BlazeMeter tests
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
taurusEngineDockerImage
objectThe image used to run performance and functional tests
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/proxy-recorder
objectThe image used to run the proxy recorder on an agent
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/sv-bridge
objectThe image used to bridge BlazeMeter mock services to Service Virtualization
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/service-mock
objectThe image used to run mock services
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/charmander/firefox/65
objectThe image used for running GUI functional tests on Firefox 65. There can be numerous version numbers for Firefox (see the list for details)
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
blazemeter/charmander/chrome/69
objectThe image that runs GUI functional in Chrome 69. There can be numerous version numbers for Chrome (see the list for details)
-
dockerTag
stringThe Docker tag the image will use on the agent machine
-
type
stringThe type of image this image is. Currently, all use
dockerImage
-
url
stringThe download URL of the image
-
version
stringThe current version of the image
-
imageRelativePath
stringA reference to the path this image is located
-
validHarborTypes
arrayList of harbor types that support this image. Currently, only the
small
andlarge
types are used
-
-
List Private Locations Supported Browsers
List Private Locations Supported Browsers
curl 'https://a.blazemeter.com/api/v4/private-locations/browsers' \
--user 'api_key_id:api_key_secret'
API Explorer: /private-locations/browsers
The sample code returns a list of private locations tied to the API key that was used.
The returned list contains each private location's location Id
(shows up as id
in the response), name, and supported browser versions.
List Private Locations Supported Browsers Parameters
Parameters
-
accountId
integerThe
accountId
you are wanting to get the list of private locations and their supported browsers -
workspaceId
integerThe
accountId
you are wanting to get the list of private locations and their supported browsers -
types[]
stringDenotes what type of private location you want returned. The accepted values are as follows:
small
- This represents a Shared private location typelarge
- This represents a Dedicated private lcoation type
Also see: Pagination and Sorting
List Private Locations Supported Browsers Response Attributes
Response 200 OK
{
"limit": 10,
"skip": 0,
"total": 0,
"hidden": 0,
"api_version": 4,
"error": null,
"result": [
{
"id": "harbor-5da77211ea73e4f27d7cd6a5",
"name": "My OPL",
"browserVersions": {
"firefox": [
"65"
],
"chrome": [
"69"
]
}
},
{
"id": "harbor-5da782b9813af817563aada3",
"name": "My CI OPL",
"browserVersions": {
"firefox": [
"69",
"68",
"67",
"66",
"65",
"64",
"63",
"62",
"61",
"60",
"59"
],
"chrome": [
"74",
"73",
"72",
"71",
"70",
"69",
"68",
"67",
"66",
"65"
]
}
},
{
"id": "harbor-5da782dbaef98819f87ed165",
"name": "My Load Engine Location",
"browserVersions": {
"firefox": [
"65"
],
"chrome": [
"69"
]
}
}
],
"request_id": "5e0a829838fc0"
}
Attributes
-
id
stringThe
location Id
of the private location -
name
stringThe name of the private location
-
browserVersions
objectAll browser versions information
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 DELETE \
-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 a private location, 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=123456&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": 1234567,
"name": "Test 2",
"isNewTest": true,
"userId": 123456,
"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": 123456,
"lastUpdatedById": 123456,
"configuration": {
"type": "taurus",
"executionType": "taurusCloud",
"threads": 500,
"testMode": "",
"plugins": {
"jmeter": {
"version": "auto"
},
"thresholds": {
"thresholds": [],
"ignoreRampup": false,
"slidingWindow": false
}
}
}
},
{
"id": 2345678,
"name": "My Test",
"isNewTest": true,
"userId": 123456,
"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": 123456,
"lastUpdatedById": 123456,
"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.
Use
skip
to set the first item to return. For example, to start on the eleventh item, setskip=10
Use
limit
to set the maximum number of items returned. For example, to limit the number of items returned to 20 items, setlimit=20
The sample code sets pagination for items with a projectId
of 123456
. 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=123456&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 123456
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 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": 123456
}
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).
Private Cloud Functionalities
This list of functionalities supported in private cloud.
Functionalities
-
Performance
Can be used in performance tests
-
Proxy Recorder
Can be used as a proxy recorder
-
Mock Services
Can be used to host a mock service
-
GUI Functional
Can be used for GUI functional tests. See GUI Functional Browsers for the full list of supported browsers
-
Service Virtualization Bridge
Can be used for Service Virtualization Bridge connections
Functional Locations List
You can use this article for other methods to find the same list of locations provided below.
API Functional Locations List
The following list is all the locations for API Functional tests:
Location Name | Location ID |
---|---|
Functional Testing Default Location | harbor-58d3b97ff132adc0347b23c6 |
US East (S. Carolina) - Functional Test | harbor-59464ffd67f3bf63cb7b23c9 |
Us West (N. California) - Functional Test | harbor-59465fcde4d6a240d97b23c6 |
Us West (Oregon) - Functional Test | harbor-594662d6e6e960aedb7b23c7 |
Canada (Central) - Functional Test | harbor-5946677fe4d6a21adb7b23c8 |
EU West (Belgium) - Functional Test | harbor-59466cb1e4d6a296e37b23c8 |
EU Central (Frankfurt) - Functional Test | harbor-59466f1b67f3bfebe27b23c7 |
EU West (London) - Functional Test | harbor-5946708a65e00138e57b23c6 |
Asia Pacific (Singapore) - Functional Test | harbor-59467342e4d6a205e67b23c6 |
Australia (Sydney) - Functional Test | harbor-5946756fe4d6a204e37b23c6 |
Asia Pacific (Seoul) - Functional Test | harbor-5946770be6e960e5e57b23cf |
GUI Functional Locations List
The following list is all the locations for GUI Functional tests:
Location Name | Location ID |
---|---|
US East (Virginia) - Functional GUI Test | harbor-5ab3c64ec8589f914c7b25db |
EU West (London) - Functional GUI Test | harbor-5d25f94f9950ce73cd105f53 |
US West (Oregon) - Functional GUI Test | harbor-5d25f95f206f10730f21f1b4 |
Private Locations Location ID
When wanting to add a private location to your test, you will need to get the harborId
for the private location you want and use the following format as the location ID
:
harbor-harborId
Private Location Appendix
List of Private Location Functionalities
Private Locations gives you the option of choosing which functionalities you want to use with your private location. Below is the list of support functionalities.
Functionality | Description |
---|---|
performance |
This adds the Performance functionality to the private location. |
functionalApi |
This adds the API Testing functionality to the private location. |
proxyRecorder |
This adds the Proxy Recorder functionality to the private location. |
mockServices |
This adds the Mock Services functionality to the private location. |
functionalGui Shared Type Only |
This adds the GUI Functional functionality to the private location. See here for the list of supported browsers. |
sv-bridge |
This adds the Service Virtualization Bridge functionality to the private location. |
List of GUI Functional Browsers
This list of browsers should be included in the funcIds
if you include functionalGui
as part of your private locations functionalities.
Functionalities
-
firefox:default
This adds the default Firefox browser to the private location (currently is version 78). This must be included with the
firefox:default
functionality and cannot be used with the version specific Firefox or Chrome functionalities (i.e.firefox:65
). -
chrome:default
This adds the default Chrome browser to the private location (currently is version 84). This must be included with the
chrome:default
functionality and cannot be used with the version specific Firefox or Chrome functionalities (i.e.chrome:65
). -
firefox:78
This adds the Firefox version 78 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:77
This adds the Firefox version 77 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:76
This adds the Firefox version 76 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:75
This adds the Firefox version 75 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:74
This adds the Firefox version 74 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:73
This adds the Firefox version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:72
This adds the Firefox version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:71
This adds the Firefox version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:70
This adds the Firefox version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:69
This adds the Firefox version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:68
This adds the Firefox version 68 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:67
This adds the Firefox version 67 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:66
This adds the Firefox version 66 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:65
This adds the Firefox version 65 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:64
This adds the Firefox version 64 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:63
This adds the Firefox version 63 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:62
This adds the Firefox version 62 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:61
This adds the Firefox version 61 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:60
This adds the Firefox version 60 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
firefox:59
This adds the Firefox version 59 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
firefox:65
). -
chrome:84
This adds the Chrome version 84 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:83
This adds the Chrome version 83 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:82
This adds the Chrome version 82 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:81
This adds the Chrome version 81 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:80
This adds the Chrome version 80 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:79
This adds the Chrome version 79 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:78
This adds the Chrome version 78 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:77
This adds the Chrome version 77 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:76
This adds the Chrome version 76 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:75
This adds the Chrome version 75 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:74
This adds the Chrome version 74 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:73
This adds the Chrome version 73 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:72
This adds the Chrome version 72 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:71
This adds the Chrome version 71 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:70
This adds the Chrome version 70 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:69
This adds the Chrome version 69 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:68
This adds the Chrome version 68 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:67
This adds the Chrome version 67 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:66
This adds the Chrome version 66 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
). -
chrome:65
This adds the Chrome version 65 browser to the private location. This can be included with any of the version specific Firefox and Chrome functionalities (i.e.
chrome:65
).
List of Private Location Images
Below is a full list of all the private locations images available.
Images
-
blazemeter/crane
This is the image for the crane container that handles all the communications with BlazeMeter and the other containers on private locations.
-
torero
Private Cloud Only
This is the image for incorporating the test validator in prviate cloud.
-
blazemeter
Legacy Users Only
This is the image for running legacy JMeter tests on private locations.
-
apm-image
This is the image for incorporating the APM integrations on private locations.
-
taurus-cloud
This is the image for running performance, API functional, and GUI functional tests on private locations.
-
blazemeter/proxy-recorder
This is the image for the proxy recorder integration on private locations.
-
blazemeter/service-mock
This is the image for the mock services integration on private locations.
-
blazemeter/pc-mock-service
Private Cloud Only
This is the image for the mock services integration on private locations in private cloud.
-
blazemeter/sv-bridge
This is the image for the Service Virtualization Bridge integration on private locations.
-
blazemeter/charmander/chrome
This is the image for the Chrome GUI Functional integration on private locations. There are several supported Chrome browser versions for this image.
-
blazemeter/charmander/firefox
This is the image for the Firefox GUI Functional integration on private locations. There are several supported Firefox browser versions for this image.
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:
- Add User to Account
- List Account Invitations
- Account User List
- Update Account User
- Account Engine Utilization Report
- Account Functionalities List
- Create a Workspace
- Workspaces List
- Projects List
- Create a Private Location
- List Private Locations
- List Private Locations Supported Browsers
It is found through the BlazeMeter URL, using the following example:
https://a.blazemeter.com/app/#/accounts/{account ID}...
If can be found in these APIs:
- Workspace Details
- Workspaces List
- Add a Workspace to Private Location
- List Private Locations
- Private Location Details
- Update a Private Location
The number that 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:
- List Tests
- Test Details
- List Test Suites
- Test Suite Details
- Start a Test
- Start a Test Suite
- List Masters
- Master Details
Collection ID
This is the unique identifier of a multi test. It is used in the following APIs:
- Add Tests to Test Suite
- Delete a Test in Test Suite
- Test Suite Details
- Update a Test Suite
- Duplicate a Test Suite
- Delete a Test Suite
- Start a Test Suite
- Create a Schedule
- List Schedules
- List Schedule History
It is found in the response of the following APIs:
- Create a Test Suite
- List Test Suites
- List Masters
- Master Details
- Update Schedule
- List Schedules
- List Schedule History
For another method for finding this value, visit this article.
Data Model ID
This is the unique identifier of a data model for test data generation. It is used in the following APIs:
It is found in the response of the following APIs:
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:
- List Tests
- Test Details
- List Test Suites
- Start a Test
- Start a Test Suite
- List Masters
- Master Details
Folder ID
This is the unique identifier of the shared folder. It is used in the following APIs:
- Create a Test
- Update a Test
- Shared Folder Details
- Update a Shared Folder
- Upload or Update Files to Shared Folder
- List Shared Folder Files
- Delete Shared Folder File
- Delete Shared Folder
It is found in the response of the following APIs:
Group ID
This is the unique identifier for API Functional test groups. It is used in the following APIs:
It is found in the repsones of the following APIs:
Harbor ID
This is the unique identifier of the private location. It is used in the following APIs:
- Create an Agent
- Generate Docker Command
- Add a Workspace to Private Location
- List Private Locations
- Update a Private Location
- List Agents
- Agent Details
- Update an Agent
- Private Location Image Versions
- Delete a Workspace in Private Locations
- Delete an Agent
- Delete a Private Location
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:
Location ID
This is the unique identifier for a cloud location or a private location. Visit the Functional Locations List appendix for more details on this term. It is used in the following APIs:
It is found in the response of the following APIs:
- Upload or Update Asset Files
- Update a Test
- List Tests
- Test Details
- Duplicate a Test
- Start a Test
- Start a Test Suite
- List Masters
- Master Details
- List Private Locations Supported Browsers
For another method for finding this value, visit this article. For the full list of functional locations, see here.
Master ID
This is the unique identifier that identifies a test run. It is used in the following APIs:
- Master Details
- API Functional Summary Statistics
- API Functional Full Report
- GUI Functional Scenarios Summary
- GUI Functional Summary Statistics
- Test Suite Summary
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:
- Create a Project
- Project Details
- Update a Project
- Delete a Project
- Create a Test
- Update a Test
- List Tests
- Test Details
- Create a Test Suite
- List Test Suites
- List Masters
- List Schedules
- List Schedule History
It is found in the response of the following APIs:
- Projects List
- Upload or Update Asset Files
- Update a Test
- List Tests
- Duplicate a Test
- Add Tests to Test Suite
- Delete Test to Test Suite
- Test Suite Details
- Update a Test Suite
- Duplicate a Test Suite
- Start a Test
- List Masters
- Master Details
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:
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:
- Start a Test
- Master Details
- List Masters
- API Functional Summary Statistics
- GUI Functional Summary Statistics
- GUI Functional Scenarios Summary
For another method for finding this value, visit this article.
Ship ID
This is the unique identifier of an agent within a private location. It is used in the following APIs:
- Generate Docker Command
- Agent Details
- Update an Agent
- Private Location Image Versions
- Delete an Agent
It is found in the response of the 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:
- Upload or Update Asset Files
- List Test Files
- Delete Asset Files
- Validate a File
- Check File Validation
- Update a Test
- Test Details
- Duplicate a Test
- Delete a Test
- Add Tests to Test Suite
- Delete a Test in Test Suite
- Start a Test
- Start a Test Suite
- List Masters
- Create a Schedule
- List Schedules
- List Schedule History
It is found in the response of the following APIs:
- Create a Test
- List Tests
- List Test Suites
- Update a Test Suite
- Duplicate a Test Suite
- List Masters
- Master Details
- Update Schedule
- List Schedules
- Schedule Details
- List Schedule History
For another method for finding this value, visit this article.
Test Data Model properties and requirements
To generate test data, you define a data model.
The properties section is where you declare data properties and their types. The syntax is based on the property type section of the JSON Schema specification.
"properties":{
"name":{ "type":"string"},
"age":{"type":"integer"},
"email":{"type":"string"}
}
The requirements section is BlazeMeter's custom extension of the JSON Schema. In this section, you define requirements for the values of each property. The requirements are expressions using ECMAScript 6 syntax, such as “randInt(x,y) + 10” or "$name".
Requirements commonly use BlazeMeter data generator functions, such as randText(5,10). For more information, see Get List of Data Generator Functions, Get List of Seedlists, and Get List of CardIssuers.
"requirements":{
"name":"randText(5,10)",
"email":"$name + '@acme.com'"
"age":"randRange(18,99)"
}
In the requirements, you can also use JavaScript expressiosn such as yield, await, new, delete, typeof, void, instanceof, in, arrow functions, spread, shift, variables and operators, such as $name + '@acme.com'. Valid number literals are limited to decimal literals; hex, octal and binary literals are not supported.
Example:
{ "data":{
"type":"datamodel",
"attributes":{
"id":"datamodel/Pet",
"title":"Pet",
"description":"A Pet can be dog or cat",
"type":"object",
"kind":"tdm",
"repeat":1,
"properties":{
"name":{ "type":"string"},
"age":{"type":"integer"},
"email":{"type":"string"}
},
"requirements":{
"name":"randText(5, 10)",
"email":"$name + '@acme.com'"
"age":"randRange(18,99)"
}
}
}
}
User ID
This is the unique identifier that identifies a user. It is used in the following APIs:
It is found in the response of the following APIs:
Workspace ID
This is the unique identifier that identifies a workspace. It is used in the following APIs:
- Workspaces Details
- Add User to Workspace
- Workspace User List
- Update Workspace User
- Create a Project
- Projects List
- Update a Project
- Delete a Project
- List Tests
- List Test Suites
- List Masters
- Create a Shared Folder
- List Shared Folders
- Shared Folder Details
- List Shared Folder Files
- List Schedules
- List Schedule History
- Create a Private Location
- Add a Workspace to Private Location
- List Private Locations
- Delete a Workspace in Private Location
It is found in the response of the following APIs:
- Create a Workspace
- Workspaces List
- Project Details
- Create a Schedule
- List Schedules
- Schedule Details
- List Schedule History
- List Private Locations
- Private Locations Details
- Update a Private Location
For another method for finding this value, visit this article.