When working with the Monitor API endpoint, the monitor object contains API fields, which may vary depending on the monitor type and its configuration. For more information about the available HTTP methods and monitor object model, refer to the Uptrends API v4 documentation.
Common monitor fields
The table shows the fields that are generally available for all monitor types.
Field name | Description |
---|---|
MonitorGuid |
The unique identifier of the monitor. This field must be omitted in your request body when using POST. It may be specified in PUT or PATCH requests, but it must match the monitorGuid specified in the URL of your API call. |
Name |
The name of the monitor. |
MonitorType |
The type of monitor. Once a monitor is created, the type cannot be changed. The availability of monitor types depends on your pricing plan. Values include:
|
GenerateAlert |
Indicates true if the Generate Alerts setting is enabled in the monitor. Otherwise, false , meaning no alerts will be generated for this monitor in case of an error. |
IsActive |
Indicates
true if the monitor is actively running in the account. If the monitor mode is set to development mode, this value returns false . |
IsLocked |
Contains a read-only field and indicates true if the monitor is currently locked for editing. This happens if the Support team is reviewing your monitor. If you’ll include this field in a POST request, you must specify the value as false . If you’ll include this field in a PUT or PATCH request, you may only specify the current value for this monitor. For example, if the monitor is locked (true), your request must also be "locked": true . |
CustomFields |
Refers to the custom data set in the main settings of your monitor. This lets you include external information and custom data from third-party integrations as part of your alerting. For example,
{ "Component": "{{@CustomField(ComponentId)}}" } For more information, refer to the Custom fields article. |
SelectedCheckpoints |
An integer that refers to the checkpoint regions or individual checkpoints where the monitor is executed.
|
UsePrimaryCheckpointsOnly |
Indicates
true if the checkpoint selection is set to primary checkpoints, which is recommended. Otherwise, if the monitor is set to non-primary checkpoints, this returns false . For more information, refer to the Checkpoints article. |
CheckInterval |
An integer that indicates the time interval, in minutes, between individual checks. For more information, refer to the Check interval article.
|
MonitorMode |
Refers to whether the monitor is in
Development , Staging or Production mode. For more information, refer to the Monitor mode article. |
Notes |
Custom notes or description set for the monitor. |
Hash |
The hash value corresponding to the monitor. |
CreatedDate |
The date and time when the monitor is created. |
LastModifiedDate |
The date and time when the monitor is last updated. |
NameForPhoneAlerts |
Refers to the value of the speech-friendly monitor name. This is the monitor name we’ll use in text-to-speech phone alerting, provided that the Use alternate monitor names has been enabled in the phone alert integration. If not, this field will not be available through the API.
|
Concurrent monitoring fields
The table shows the fields related to concurrent monitoring that are generally available for all monitor types.
Field name | Description |
---|---|
UseConcurrentMonitoring |
Indicates
true if monitors can run multiple checks at once from multiple checkpoints. Otherwise, false . |
ConcurrentUnconfirmedErrorThreshold |
An integer that indicates the percentage of the total number of active checkpoints that returned unconfirmed errors. For more information, refer to the How concurrent monitoring works article.
|
ConcurrentConfirmedErrorThreshold |
An integer that indicates the percentage of the total number of active checkpoints that returned a confirmed error. For more information, refer to the How concurrent monitoring works article.
|
Other monitor fields
The table shows the fields that may be available depending on the monitor type. The Monitor type column indicates whether the field is available to monitor types, such as uptime (https, ssl, dns, and others), browser for full page checks, msa for multi-step API monitors, postman, and transaction monitors.
Field name | Description | Monitor type |
---|---|---|
BrowserType |
The type of browser used to test the monitor. For more information, refer to the Browser types article.
|
browser, transaction |
BrowserWindowDimensions |
The browser’s dimension, such as screen size, user agent, or device model, used to test your website’s behavior. | browser, transaction |
HttpMethod |
The type of HTTP method used (GET, POST ). |
https |
RequestHeaders |
The name and value of the request headers. For example,
{"Key": "Accept", "Value": "application/json"} . |
https, browser, transaction |
RequestBody |
The value of the request body. For example, name=Joe&productId={{ProductId}}&sols={{sols}} . |
https |
TlsVersion |
The TLS version used. For example, Tls12_Tls11_Tls10 . |
https |
HttpVersion |
The HTTP version used. For example Negotiate . |
https |
UserAgent |
The browser type and version used to execute the monitor. If you leave this value empty, the
Native user agent will be sent. For example, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 . For more information, refer to the User agent article. |
https, browser, transaction |
NetworkAddress |
The network address that should be used to connect to the server or service you want to monitor. When you specify a host name (for example, server.your-domain.com ), that host name will be resolved during a monitor check on the checkpoint server that performs the check, using the DNS settings that are available on that location. Alternatively, specify an IPv4 or IPv6 address. If you want to specify a specific port number (when appropriate), please use the Port field. Port numbers should not be included in the NetworkAddress field. |
sftp, ftp, smtp, pop3, imap, mssql, mysql, ping, connect |
Port |
The TCP port number that should be used to establish a connection to the host name or IP address you specified. | dns, sftp, ftp, smtp, pop3, imap, mssql, mysql, connect |
Url |
The full URL of the website, page, or service that you want to monitor. The URL should include http:// or https://. If necessary, you can also include a port number if you are using a non-default port number. For example, https://your-domain.com:8080/your-page . You can also use a fixed IP address as part of the URL instead of a host name, if your server listens to an incoming requests without a host name. |
https, ssl, browser |
IpVersion |
Indicates which IP version, such as IPv4 or IPv6 , should be used to connect to the server or network address you specify. If you choose IPv6, the monitor will only be executed on checkpoint locations that support IPv6. |
https, ssl, connect, dns, sftp, ftp, smtp, pop3, imap, mssql, mysql ping |
ThrottlingOptions |
Refers to the bandwidth throttling used and its type. The following fiels are available:
For example, |
browser, transaction |
IgnoreExternalElements |
Indicates true if the Ignore external elements is enabled in a Full Page Check monitor. This lets you ignore page elements of domains outside of the domain group when checking error conditions in the waterfall chart. |
browser |
DatabaseName |
The name of the database used for database server monitor types. For more information, refer to the Database server monitors article.
|
mssql, mysql |
ImapSecureConnection |
true or false . Refers to whether the IMAP monitor type is connected securely to an IMAP server. For more information, refer to the Mail server monitors article. |
imap |
Credits |
The number of credits used in the monitor. Uptrends uses credits to calculate the pricing for different monitoring services. For more information, refer to the Calculate credits article.
|
msa, postman, transaction |
Authentication fields
Field name | Description |
---|---|
AuthenticationType |
The type of authentication to send authentication data along with the outgoing request (
None, Basic, NTLM, Digest ). For more information, refer to the Authentication types article. |
Username |
The credential used for the username. |
Password |
The credential used for the password. |
Error condition fields
The ErrorConditions
field refers to the criteria configured in your monitor to detect any errors on your website, web service, or server. This includes the following fields that may vary depending on the monitor type (excluding multi-step API monitors) and configuration:
"ErrorConditions": [
{
"ErrorConditionType": "LoadTimeLimit1",
"Value": "2500",
"Effect": "Indicate"
},
{
"ErrorConditionType": "ConsoleContentMatch",
"Value": "error",
"Level": "Error",
"MatchType": "ErrorWhenContains"
},
{
"ErrorConditionType": "PageElementMaxSizeWithPercentage",
"Value": "50",
"Percentage": "10"
}
...
]
Field Name | Description |
---|---|
ErrorConditionType |
Refers to the type of error condition, which can be any of the following:
|
Value |
Refers to the threshold value set for the error condition type. |
Effect |
Refers to whether the error condition type generates an error or only shows a color-code status.
|
Percentage |
Refers to the percentage value of the error condition, if applicable. |
Level |
Specifies the console log level (Error, Warning, Info ) for ConsoleContentMatch error conditions. |
MatchType |
Defines how content matching is performed (ErrorWhenContains , ErrorWhenNotContains ). |
Domain group fields
Field name | Description | Monitor type |
---|---|---|
DomainGroupGuid |
The unique identifier of the domain group. | browser |
DomainGroupGuidSpecified |
Indicates
true if a domain group is used. Otherwise, false . For more information, refer to the Working with domain groups article. |
browser |
Blocking fields
Field name | Description | Monitor type |
---|---|---|
BlockGoogleAnalytics |
Indicates
true if Google Analytics is blocked. Otherwise, false . For more information, refer to the URL and analytics blocking article. |
browser, transaction |
BlockUptrendsRum |
Indicates
true if the Uptrends RUM is blocked. Otherwise, false . For more information, refer to the Working with domain groups article. |
browser, transaction |
BlockUrls |
Contains a list of full or partial URLs that will be blocked when the monitor makes a request. For more information, refer to the URL and analytics blocking article.
|
browser, transaction |
Custom metrics field
Field name | Description | Monitor type |
---|---|---|
CustomMetrics |
The custom metric name and variable name used within the API scenario. For example
"CustomMetrics": [{"Name": "ProductId", "VariableName": "ProductId"}] . For more information, refer to the Custom metrics article. |
msa , transaction |
Certificate fields
The following fields are available for SSL monitor types and other monitor types.
Field name | Description | Monitor type |
---|---|---|
CertificateName |
The common name of the certificate. | ssl |
CertificateOrganization |
The value of the certificate organization. | ssl |
CertificateOrganizationalUnit |
The value of the certificate organizational unit. | ssl |
CertificateSerialNumber |
The serial number of the certificate. | ssl |
CertificateFingerprint |
The fingerprint value of the certificate. | ssl |
CertificateIssuerName |
The common name of the issuer. | ssl |
CertificateIssuerCompanyName |
The organization name of the issuer. | ssl |
CertificateIssuerOrganizationalUnit |
The organizational unit of the issuer. | ssl |
CertificateExpirationWarningDays |
The number of days before the certificate expires. | ssl |
CheckCertificateErrors |
Indicates true if the Check SSL certificate errors monitor setting is enabled. Otherwise, false . |
https, ssl |
DNS fields
The following fields are available for DNS and other monitor types.
Field name | Description | Monitor type |
---|---|---|
DnsServer |
The domain name or IP address of your DNS server. | dns |
DnsQuery |
The type of DNS query used for testing (ARecord, CnameRecord, MxRecord, NsRecord, TxtRecord, SoaRecord, RootServer, AaaaRecord, SrvRecord ). |
dns |
DnsExpectedResult |
The value that you expect from the DNS query. | dns |
DnsTestValue |
The value that you test for. This is usually the domain name you want to verify in your DNS server. For example,
www.yourdomain.com . |
dns |
DnsBypasses |
Refers to the source and target domains used in a DNS bypass. This ensures that the specified domain or IP address is always resolved, regardless of the actual DNS record. For more information, refer to the DNS bypass article.
|
browser, dns, transaction |
Monitor-specific fields
Multi-step API (MSA) monitor fields
The table shows the fields that are available for multi-step API monitor types.
Field name | Description |
---|---|
PredefinedVariables |
The key and value of the predefined variable used within the API scenario. For example,
"PredefinedVariables": [ { "Key": "ProductPrice","Value": "ProductPriceValue"}], . For more information, refer to the Predefined variables article. |
UserDefinedFunctions |
The type and how the user-defined function was used. For example,
"UserDefinedFunctions": [{"Name": "CleanFileName","Type":"Regex","Regex": "(.+)\.jpg"}] . For more information, refer to the User-defined functions article. |
MultiStepApiTransactionScript |
A script that follows the value and definition of the MsaSteps field, but in a different format. This includes the step details, such as the monitored URL, request and response components, and other API configurations.
|
MsaSteps field
The MsaSteps
field in an MSA monitor returns a JSON object that defines the structure of a step, including the monitored URL, request and response components, and other API configurations. This field returns the same structure and output you see when you click Switch to script from the Multi-step API monitor editor. Simply copy and paste the output from the monitor editor and use it as a reference for your API.
"MsaSteps": [
{
"Url": "https://galacticresorts.com/api/Destinations/{{ProductId}}",
"Method": "GET",
"Body": "name=Joe&productId={{ProductId}}&sols={{sols}}\n",
"MultiPartForm": [
{
"Type": "VaultFile",
"Key": "file",
"Value": "b84daa9c-cdf3-4ba8-90fa-49aa70dc80c0"
}
],
"RequestHeaders": [
{
"Key": "Accept",
"Value": "application/json"
}
],
"Variables": [
{
"Source": "ResponseBodyJson",
"Property": "[0].ProductId",
"Name": "ProductId",
"Arguments": []
}
],
"Assertions": [
{
"Source": "ResponseStatusCode",
"Property": "",
"Comparison": "Equal",
"TargetValue": "200"
},
{
"Source": "Duration",
"Property": "",
"Comparison": "LessThan",
"TargetValue": "25000"
}
],
"Name": "Retrieve all destinations",
"UseFixedClientCertificate": false,
"Authentication": {
"Id": "32398b2a-246b-493b-be9a-f714cb0c0f61",
"AuthenticationType": "Basic",
"UserName": "uname",
"PasswordSpecified": false
},
"IgnoreCertificateErrors": false,
"Delay": 0,
"StepType": "HttpRequest",
"RetryUntilSuccessful": false,
"MaxAttempts": 0,
"RetryWaitMilliseconds": 1000,
"PreRequestScript": "",
"PostResponseScript": "// Get the value of a variable\nvar output = ut.variables.get(\"ProductId\");\n\n// Log its value in the console log\nut.log(\"Product ID: \" + output);",
"CalculatedContentType": "application/x-www-form-urlencoded",
"AllowedTlsVersions": [
"Tls13"
],
"MsaStepHttpVersion": "Http1_1"
....
}
]
MsaSteps field name | Description |
---|---|
Url |
The full URL of the website, page, or API endpoint that you want to monitor. |
Method |
The HTTP method, such as GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS . |
BodyType |
Type of request body (Raw, MultiPartForm, and others ) |
MultiPartForm |
Type of multi-part form along with its details. |
RequestHeaders |
Defines the HTTP request headers as key-value pairs. |
Variables |
Defines the variables that stores value from the response.
|
Assertions |
Refers to how the API response is checked and validated.
|
Name |
Name of the step. |
UseFixedClientCertificate |
Indicates true if a Client certificate option is selected in a step. Otherwise, false . For more information, refer to
Multi-step monitoring Client certificates. |
Authentication |
The type of authentication to send authentication data along with the outgoing request (
None, Basic, NTLM, Digest ). For more information, refer to the Authentication fields. |
IgnoreCertificateErrors |
Indicates true if the HTTPS connection setting is selected in a step. Otherwise, false . |
Delay |
An integer that specifies the wait step duration in milliseconds. |
StepType |
Refers to whether the step is a request step (HttpRequest ) or a wait step (Delay ). |
RetryUntilSuccessful |
Indicates true if the Maximum number of attempts setting is enabled in a step. Otherwise, false . |
MaxAttempts |
An integer that refers to how many times the monitor retries a step. |
RetryWaitMilliseconds |
An integer that refers to the interval in milliseconds before the monitor retries a step again. |
PreRequestScript |
The custom script written and executed in the Pre-Request tab. For more information, refer to the Multi-step API custom scripting article.
|
PostResponseScript |
The custom script written and executed in the Post-Response tab. For more information, refer to the Multi-step API custom scripting article.
|
CalculatedContentType |
The value of the Content-Type header when a request body is specified. |
AllowedTlsVersions |
Refers to the TLS version used in a step. |
MsaStepHttpVersion |
Refers to the HTTP version used in a step. |
For more information, refer to the Multi-step API script editor article.
Transaction monitor fields
The table shows the fields that are available for transaction monitor types.
Field name | Description |
---|---|
SelfServiceTransactionScript |
A script that follows the value and definition of the TransactionStepDefinition field output. This includes the step details, such as the monitored URL, request and response components, and other configurations. |
TransactionStepDefinition field
The TransactionStepDefinition
field in a transaction monitor returns a JSON object that defines a transaction step, including the monitored URL, test and validation types, and other configurations. This field returns the same structure and output you see when you click Switch to script from the Transaction monitor editor. Simply copy and paste the output from the monitor editor and use it as a reference for your API.
"TransactionStepDefinition": [
{
"name": "Navigate to start URL",
"recordWaterfall": true,
"recordFilmstrip": true,
"collectPageSource": true,
"actions": [
{
"navigate": {
"url": "http://galacticresorts.com/Products",
"description": "Navigate to URL"
}
},
{
"testDocumentContent": {
"value": "Book now",
"testType": "Contains",
"description": "Content check"
}
},
{
"screenshot": {}
}
],
"errorConditions": [
{
"type": "PageElementUrlMatch",
"data": {
"matchType": "ErrorWhenContainsRegex",
"value": "error"
},
"additionalConditions": []
},
]
},
{
"name": "Select holiday destination (random)",
"recordWaterfall": false,
"recordFilmstrip": false,
"collectPageSource": false,
"actions": [
{
"click": {
"element": {
"xpath": "(//a[@class='btn btn-primary btn-lg'])[{{@RandomInt(1,3)}}]"
},
"description": "Select 1 of the 3 destinations randomly"
}
},
{
"testElementContent": {
"value": ".*",
"testType": "MatchesRegex",
"assignVariable": "{{DestinationName}}",
"element": {
"xpath": "//div[@class='productdetail']//h1"
},
"description": "Save destination name to variable"
}
}
],
"errorConditions": []
},
....
]
TransactionStepDefinition field name | Description |
---|---|
Name |
Name of the step. |
recordWaterfall |
Indicates
true if the Waterfall option is enabled in a step. For more information, refer to the Waterfall article. |
recordFilmstrip |
Indicates
true if the Filmstrip option is enabled in a step. For more information, refer to the Filmstrip article. |
collectPageSource |
Indicates
true if the Page source option is enabled in a step. For more information, refer to the Page source article. |
actions |
An array of page interactions that describe what the monitor should do and verify within a step. Actions can include navigation to a URL, validating page content, taking screenshots, or other interactions that confirm the expected behavior of the application.
|
errorConditions |
The criteria configured in a step to detect any errors on your website, web service, or server. For more information, refer to the Error conditions field section.
|
For more information, refer to the Transaction monitor script editor article.
SFTP fields
The following fields are available for SFTP monitors.
Field name | Description | Monitor type |
---|---|---|
SftpAction |
Refers to the type of action or test the monitor performs. For example
ConnectOnly or TestFileExists . |
sftp |
SftpActionPath |
Refers to the file name or relative path to the test file. For example, /test.txt . |
sftp |