API checks can be created or edited using the Uptime.com Terraform provider or the REST API.
You may find below the list of the Commands, Variables and Validations, as well as their required format for your Terraform and API usage.
Commands:
Authentication & Settings: {"step_def":"C_SETTINGS_AND_AUTH","values":{"username":"","password":"","content_type":"application/json","certificate":"","key":"","passphrase":"","headers":{},"follow_redirects":true,"insecure_tls":""}},
GET URL: {"step_def":"C_GET","values":{"url":"uptime.com","headers":{}}},
POST to URL: {"step_def":"C_POST","values":{"url":"text/string","content_type":"","form":{},"files":{},"data":"","headers":{}}},
PUT to URL: {"step_def":"C_PUT","values":{"url":"text/string","content_type":"","form":{},"files":{},"data":"","headers":{}}},
PATCH to URL: {"step_def":"C_PATCH","values":{"url":"text/string","content_type":"","form":{},"files":{},"data":"","headers":{}}},
DELETE URL: {"step_def":"C_DELETE","values":{"url":"text/string","headers":{}}},
Variables:
Set variable name from current date and time: {"step_def":"C_SET_VARIABLE_DATETIME","values":{"name":"textstring","location":"UTC","offset":"0","format":"%Y-%m-%d %H:%M:%S"}},
Set variable name to a random value from a comma-separated list: {"step_def":"C_SET_VARIABLE_RANDOM_CHOICE","values":{"name":"textstring","variants":"text/string"}},
Set variable name to a random value from an exclusive range: {"step_def":"C_SET_VARIABLE_RANDOM_RANGE","values":{"name":"textstring","left":"0","right":"100"}},
Set variable name to a literal value: {"step_def":"C_SET_VARIABLE_LITERAL","values":{"name":"textstring","value":""}},
Set variable name from response body: {"step_def":"C_SET_VARIABLE_SELECTOR","values":{"name":"textstring","selector":"","regex":"","group":""}},
Set variable name from response header: {"step_def":"C_SET_VARIABLE_HEADER","values":{"name":"textstring","header":"text/string","regex":"","group":""}},
Validations:
HTTP status code should be status: {"step_def":"V_HTTP_STATUS_CODE_IS","values":{"status_code":"200"}},
HTTP status code indicates success: {"step_def":"V_HTTP_STATUS_CODE_SUCCESSFUL","values":{}},
Response header matches value: {"step_def":"V_HTTP_HEADER_MATCHES_TEXT","values":{"header":"text/string","value":"text/string"}},
Response header does not match value: {"step_def":"V_HTTP_HEADER_DOES_NOT_MATCH_TEXT","values":{"header":"text/string","value":"text/string"}},
Response header matches regex: {"step_def":"V_HTTP_HEADER_MATCHES_REGEX","values":{"header":"text/string","value":"text/string"}},
Response header does not match regex: {"step_def":"V_HTTP_HEADER_DOES_NOT_MATCH_REGEX","values":{"header":"text/string","value":"text/string"}},
Response should contain text: {"step_def":"V_BODY_CONTAINS_TEXT","values":{"value":"text/string"}},
Response should not contain text: {"step_def":"V_BODY_DOES_NOT_CONTAIN_TEXT","values":{"value":"text/string"}},
Response should match regex: {"step_def":"V_BODY_MATCHES_REGEX","values":{"value":"text/string"}},
Response should not match regex: {"step_def":"V_BODY_DOES_NOT_MATCH_REGEX","values":{"value":"text/string"}},
Selector value from response matches value: {"step_def":"V_SELECTOR_MATCHES_VALUE","values":{"selector":"text/string","value":"text/string"}},
Selector value from response does not match value: {"step_def":"V_SELECTOR_DOES_NOT_MATCH_VALUE","values":{"selector":"text/string","value":"text/string"}},
Selector value from response matches regex: {"step_def":"V_SELECTOR_MATCHES_REGEX","values":{"selector":"text/string","value":"text/string"}},
Selector value from response does not match regex: {"step_def":"V_SELECTOR_DOES_NOT_MATCH_REGEX","values":{"selector":"text/string","value":"text/string"}},
Numeric value selector condition value: {"step_def":"V_NUMERIC_VALUE_MEETS_CONDITION","values":{"selector":"text/string","condition":"==","value":"1"}},
Response protocol is value: {"step_def":"V_HTTP_PROTO","values":{"value":"HTTP/2.0"}}]
** Please note if there is a function that is not available in the above but is available in our UI, we can recommend creating a check via the UI and then using an API call to retrieve the syntax of the request.
Comments
0 comments