Chilkat Online Tools

PureBasic / Datadog API Collection / Get the list of all Synthetic tests

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    queryParams.i = CkJsonObject::ckCreate()
    If queryParams.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(queryParams,"page_size","tempor Ut sed velit")
    CkJsonObject::ckUpdateString(queryParams,"page_number","tempor Ut sed velit")

    CkHttp::ckSetRequestHeader(http,"Accept","application/json")

    resp.i = CkHttp::ckQuickRequestParams(http,"GET","https://api.app.ddog-gov.com/api/v1/synthetics/tests",queryParams)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        ProcedureReturn
    EndIf

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpResponse::ckGetBodySb(resp,sbResponseBody)

    jResp.i = CkJsonObject::ckCreate()
    If jResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jResp,sbResponseBody)
    CkJsonObject::setCkEmitCompact(jResp, 0)

    Debug "Response Body:"
    Debug CkJsonObject::ckEmit(jResp)

    respStatusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "Response Status Code = " + Str(respStatusCode)
    If respStatusCode >= 400
        Debug "Response Header:"
        Debug CkHttpResponse::ckHeader(resp)
        Debug "Failed."
        CkHttpResponse::ckDispose(resp)

        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        CkStringBuilder::ckDispose(sbResponseBody)
        CkJsonObject::ckDispose(jResp)
        ProcedureReturn
    EndIf

    CkHttpResponse::ckDispose(resp)

    ; Sample JSON response:
    ; (Sample code for parsing the JSON response is shown below)

    ; {
    ;   "tests": [
    ;     {
    ;       "config": {
    ;         "configVariables": [
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           },
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           }
    ;         ],
    ;         "request": {
    ;           "allow_insecure": false,
    ;           "basicAuth": {
    ;             "password": "PaSSw0RD!",
    ;             "username": "my_username",
    ;             "type": "web"
    ;           },
    ;           "body": "nisi elit aute proident minim",
    ;           "bodyType": "text/plain",
    ;           "callType": "unary",
    ;           "certificate": {
    ;             "cert": {
    ;               "content": "Lorem irure",
    ;               "filename": "Excepteur occaecat",
    ;               "updatedAt": "quis exercitation"
    ;             },
    ;             "key": {
    ;               "content": "officia aliquip",
    ;               "filename": "Lorem in sed",
    ;               "updatedAt": "exercitation commodo"
    ;             }
    ;           },
    ;           "compressedJsonDescriptor": "dolore ea reprehenderit ad",
    ;           "dnsServer": "cupida",
    ;           "dnsServerPort": 54877,
    ;           "follow_redirects": true,
    ;           "headers": {
    ;             "site_": "adipisicing ea",
    ;             "sit1": "in incididunt exercitation eu"
    ;           },
    ;           "host": "ipsum",
    ;           "message": "in cupidatat",
    ;           "metadata": {
    ;             "pariaturd5f": "qui sed ullamco et",
    ;             "veniam2": "in ut adipisicing voluptate velit",
    ;             "consectetura": "laborum sed Lorem in"
    ;           },
    ;           "method": "commodo non",
    ;           "noSavingResponseBody": false,
    ;           "numberOfPackets": 6,
    ;           "persistCookies": false,
    ;           "port": 4381428,
    ;           "proxy": {
    ;             "url": "https://example.com",
    ;             "headers": {
    ;               "in081": "exercitation a"
    ;             }
    ;           },
    ;           "query": {},
    ;           "servername": "in",
    ;           "service": "Greeter",
    ;           "shouldTrackHops": false,
    ;           "timeout": -9075364.229425669,
    ;           "url": "https://example.com"
    ;         },
    ;         "variables": [
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           },
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           }
    ;         ]
    ;       },
    ;       "creator": {
    ;         "email": "eiusmod in",
    ;         "handle": "commodo enim",
    ;         "name": "magna do occaeca"
    ;       },
    ;       "locations": [
    ;         "aws:eu-west-3"
    ;       ],
    ;       "message": "velit Lorem amet non",
    ;       "monitor_id": -1212470,
    ;       "name": "esse incididunt consectetur labore",
    ;       "options": {
    ;         "accept_self_signed": false,
    ;         "allow_insecure": false,
    ;         "checkCertificateRevocation": false,
    ;         "ci": {
    ;           "executionRule": "blocking"
    ;         },
    ;         "device_ids": [
    ;           "laptop_large",
    ;           "laptop_large"
    ;         ],
    ;         "disableCors": false,
    ;         "disableCsp": false,
    ;         "follow_redirects": false,
    ;         "httpVersion": "http2",
    ;         "ignoreServerCertificateError": true,
    ;         "initialNavigationTimeout": -13991278,
    ;         "min_failure_duration": -25741137,
    ;         "min_location_failed": 16891533,
    ;         "monitor_name": "veniam occaecat Lorem do",
    ;         "monitor_options": {
    ;           "renotify_interval": 206
    ;         },
    ;         "monitor_priority": 1,
    ;         "noScreenshot": true,
    ;         "restricted_roles": [
    ;           "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    ;         ],
    ;         "retry": {
    ;           "count": 75644948,
    ;           "interval": 62584402.461459786
    ;         },
    ;         "rumSettings": {
    ;           "applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    ;           "clientTokenId": 12345,
    ;           "isEnabled": true
    ;         },
    ;         "scheduling": {
    ;           "timeframes": [
    ;             {
    ;               "day": 1,
    ;               "from": "07:00",
    ;               "to": "16:00"
    ;             },
    ;             {
    ;               "day": 3,
    ;               "from": "07:00",
    ;               "to": "16:00"
    ;             }
    ;           ],
    ;           "timezone": "America/New_York"
    ;         },
    ;         "tick_every": 276495
    ;       },
    ;       "public_id": "incididunt consequat officia nisi",
    ;       "status": "live",
    ;       "steps": [
    ;         {
    ;           "allowFailure": false,
    ;           "isCritical": false,
    ;           "name": "qui",
    ;           "noScreenshot": false,
    ;           "params": {},
    ;           "timeout": 50285708,
    ;           "type": "assertElementContent"
    ;         },
    ;         {
    ;           "allowFailure": true,
    ;           "isCritical": false,
    ;           "name": "esse minim ullamco occaecat",
    ;           "noScreenshot": true,
    ;           "params": {},
    ;           "timeout": -14507495,
    ;           "type": "assertElementContent"
    ;         }
    ;       ],
    ;       "subtype": "http",
    ;       "tags": [
    ;         "exercitation Ut",
    ;         "esse et sit"
    ;       ],
    ;       "type": "browser"
    ;     },
    ;     {
    ;       "config": {
    ;         "configVariables": [
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           },
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           }
    ;         ],
    ;         "request": {
    ;           "allow_insecure": false,
    ;           "basicAuth": {
    ;             "password": "PaSSw0RD!",
    ;             "username": "my_username",
    ;             "type": "web"
    ;           },
    ;           "body": "voluptate minim",
    ;           "bodyType": "text/plain",
    ;           "callType": "unary",
    ;           "certificate": {
    ;             "cert": {
    ;               "content": "qui Lorem non",
    ;               "filename": "nostrud laboris culpa adipisicing",
    ;               "updatedAt": "et esse cupidatat consectetur do"
    ;             },
    ;             "key": {
    ;               "content": "cupidatat sunt",
    ;               "filename": "pariatur nostru",
    ;               "updatedAt": "Lorem dolor"
    ;             }
    ;           },
    ;           "compressedJsonDescriptor": "aliquip laboris amet",
    ;           "dnsServer": "magna",
    ;           "dnsServerPort": 35750,
    ;           "follow_redirects": false,
    ;           "headers": {
    ;             "est_d9d": "anim",
    ;             "cupidatat98f": "esse"
    ;           },
    ;           "host": "ea esse",
    ;           "message": "consequat ipsum ut Lorem",
    ;           "metadata": {
    ;             "esse_ef4": "commodo",
    ;             "do_b06": "tempor adipisicing dolor",
    ;             "dolore_a5a": "nostrud"
    ;           },
    ;           "method": "laboris",
    ;           "noSavingResponseBody": true,
    ;           "numberOfPackets": 9,
    ;           "persistCookies": true,
    ;           "port": -288377,
    ;           "proxy": {
    ;             "url": "https://example.com",
    ;             "headers": {
    ;               "irure_15": "in",
    ;               "tempor40": "laboris veniam tempor qui nulla"
    ;             }
    ;           },
    ;           "query": {},
    ;           "servername": "ad laborum cupidatat",
    ;           "service": "Greeter",
    ;           "shouldTrackHops": true,
    ;           "timeout": -4889397.044413894,
    ;           "url": "https://example.com"
    ;         },
    ;         "variables": [
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           },
    ;           {
    ;             "description": "Example for the variable.",
    ;             "type": "string"
    ;           }
    ;         ]
    ;       },
    ;       "creator": {
    ;         "email": "in Duis nisi ex",
    ;         "handle": "fugiat sint sed consequa",
    ;         "name": "ipsum ut"
    ;       },
    ;       "locations": [
    ;         "aws:eu-west-3"
    ;       ],
    ;       "message": "Excepteur ipsum exercitat",
    ;       "monitor_id": 17707116,
    ;       "name": "deserunt elit proident Lorem",
    ;       "options": {
    ;         "accept_self_signed": false,
    ;         "allow_insecure": false,
    ;         "checkCertificateRevocation": false,
    ;         "ci": {
    ;           "executionRule": "skipped"
    ;         },
    ;         "device_ids": [
    ;           "laptop_large",
    ;           "laptop_large"
    ;         ],
    ;         "disableCors": false,
    ;         "disableCsp": false,
    ;         "follow_redirects": false,
    ;         "httpVersion": "http1",
    ;         "ignoreServerCertificateError": false,
    ;         "initialNavigationTimeout": 29100273,
    ;         "min_failure_duration": 5817749,
    ;         "min_location_failed": 84916784,
    ;         "monitor_name": "velit quis",
    ;         "monitor_options": {
    ;           "renotify_interval": 427
    ;         },
    ;         "monitor_priority": 1,
    ;         "noScreenshot": false,
    ;         "restricted_roles": [
    ;           "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    ;         ],
    ;         "retry": {
    ;           "count": 37028687,
    ;           "interval": -23788886.712954804
    ;         },
    ;         "rumSettings": {
    ;           "applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    ;           "clientTokenId": 12345,
    ;           "isEnabled": true
    ;         },
    ;         "scheduling": {
    ;           "timeframes": [
    ;             {
    ;               "day": 1,
    ;               "from": "07:00",
    ;               "to": "16:00"
    ;             },
    ;             {
    ;               "day": 3,
    ;               "from": "07:00",
    ;               "to": "16:00"
    ;             }
    ;           ],
    ;           "timezone": "America/New_York"
    ;         },
    ;         "tick_every": 256938
    ;       },
    ;       "public_id": "Exc",
    ;       "status": "live",
    ;       "steps": [
    ;         {
    ;           "allowFailure": true,
    ;           "isCritical": true,
    ;           "name": "ipsum conse",
    ;           "noScreenshot": false,
    ;           "params": {},
    ;           "timeout": -75416003,
    ;           "type": "assertElementContent"
    ;         },
    ;         {
    ;           "allowFailure": false,
    ;           "isCritical": false,
    ;           "name": "non do ex",
    ;           "noScreenshot": false,
    ;           "params": {},
    ;           "timeout": -91980592,
    ;           "type": "assertElementContent"
    ;         }
    ;       ],
    ;       "subtype": "http",
    ;       "tags": [
    ;         "fugiat ex amet minim",
    ;         "dolore occaecat ad dolor ex"
    ;       ],
    ;       "type": "api"
    ;     }
    ;   ]
    ; }

    ; Sample code for parsing the JSON response...
    ; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

    Allow_insecure.i
    Password.s
    Username.s
    v_Type.s
    Body.s
    BodyType.s
    CallType.s
    Content.s
    Filename.s
    UpdatedAt.s
    KeyContent.s
    KeyFilename.s
    KeyUpdatedAt.s
    CompressedJsonDescriptor.s
    DnsServer.s
    DnsServerPort.i
    Follow_redirects.i
    Site_.s
    Sit1.s
    Host.s
    Message.s
    Pariaturd5f.s
    Veniam2.s
    Consectetura.s
    Method.s
    NoSavingResponseBody.i
    NumberOfPackets.i
    PersistCookies.i
    Port.i
    v_Url.s
    In081.s
    Servername.s
    Service.s
    ShouldTrackHops.i
    Timeout.s
    RequestUrl.s
    v_Email.s
    Handle.s
    Name.s
    message.s
    monitor_id.i
    name.s
    Accept_self_signed.i
    optionsAllow_insecure.i
    CheckCertificateRevocation.i
    ExecutionRule.s
    DisableCors.i
    DisableCsp.i
    optionsFollow_redirects.i
    HttpVersion.s
    IgnoreServerCertificateError.i
    InitialNavigationTimeout.i
    Min_failure_duration.i
    Min_location_failed.i
    Monitor_name.s
    Renotify_interval.i
    Monitor_priority.i
    NoScreenshot.i
    Count.i
    Interval.s
    ApplicationId.s
    ClientTokenId.i
    IsEnabled.i
    Timezone.s
    Tick_every.i
    public_id.s
    status.s
    subtype.s
    v_type.s
    Est_d9d.s
    Cupidatat98f.s
    Esse_ef4.s
    Do_b06.s
    Dolore_a5a.s
    Irure_15.s
    Tempor40.s
    j.i
    count_j.i
    description.s
    strVal.s
    day.i
    from.s
    v_to.s
    allowFailure.i
    isCritical.i
    noScreenshot.i
    timeout.i

    i.i = 0
    count_i.i = CkJsonObject::ckSizeOfArray(jResp,"tests")
    While i < count_i
        CkJsonObject::setCkI(jResp, i)
        Allow_insecure = CkJsonObject::ckBoolOf(jResp,"tests[i].config.request.allow_insecure")
        Password = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.basicAuth.password")
        Username = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.basicAuth.username")
        v_Type = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.basicAuth.type")
        Body = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.body")
        BodyType = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.bodyType")
        CallType = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.callType")
        Content = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.cert.content")
        Filename = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.cert.filename")
        UpdatedAt = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.cert.updatedAt")
        KeyContent = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.key.content")
        KeyFilename = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.key.filename")
        KeyUpdatedAt = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.certificate.key.updatedAt")
        CompressedJsonDescriptor = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.compressedJsonDescriptor")
        DnsServer = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.dnsServer")
        DnsServerPort = CkJsonObject::ckIntOf(jResp,"tests[i].config.request.dnsServerPort")
        Follow_redirects = CkJsonObject::ckBoolOf(jResp,"tests[i].config.request.follow_redirects")
        Site_ = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.headers.site_")
        Sit1 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.headers.sit1")
        Host = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.host")
        Message = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.message")
        Pariaturd5f = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.pariaturd5f")
        Veniam2 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.veniam2")
        Consectetura = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.consectetura")
        Method = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.method")
        NoSavingResponseBody = CkJsonObject::ckBoolOf(jResp,"tests[i].config.request.noSavingResponseBody")
        NumberOfPackets = CkJsonObject::ckIntOf(jResp,"tests[i].config.request.numberOfPackets")
        PersistCookies = CkJsonObject::ckBoolOf(jResp,"tests[i].config.request.persistCookies")
        Port = CkJsonObject::ckIntOf(jResp,"tests[i].config.request.port")
        v_Url = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.proxy.url")
        In081 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.proxy.headers.in081")
        Servername = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.servername")
        Service = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.service")
        ShouldTrackHops = CkJsonObject::ckBoolOf(jResp,"tests[i].config.request.shouldTrackHops")
        Timeout = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.timeout")
        RequestUrl = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.url")
        v_Email = CkJsonObject::ckStringOf(jResp,"tests[i].creator.email")
        Handle = CkJsonObject::ckStringOf(jResp,"tests[i].creator.handle")
        Name = CkJsonObject::ckStringOf(jResp,"tests[i].creator.name")
        message = CkJsonObject::ckStringOf(jResp,"tests[i].message")
        monitor_id = CkJsonObject::ckIntOf(jResp,"tests[i].monitor_id")
        name = CkJsonObject::ckStringOf(jResp,"tests[i].name")
        Accept_self_signed = CkJsonObject::ckBoolOf(jResp,"tests[i].options.accept_self_signed")
        optionsAllow_insecure = CkJsonObject::ckBoolOf(jResp,"tests[i].options.allow_insecure")
        CheckCertificateRevocation = CkJsonObject::ckBoolOf(jResp,"tests[i].options.checkCertificateRevocation")
        ExecutionRule = CkJsonObject::ckStringOf(jResp,"tests[i].options.ci.executionRule")
        DisableCors = CkJsonObject::ckBoolOf(jResp,"tests[i].options.disableCors")
        DisableCsp = CkJsonObject::ckBoolOf(jResp,"tests[i].options.disableCsp")
        optionsFollow_redirects = CkJsonObject::ckBoolOf(jResp,"tests[i].options.follow_redirects")
        HttpVersion = CkJsonObject::ckStringOf(jResp,"tests[i].options.httpVersion")
        IgnoreServerCertificateError = CkJsonObject::ckBoolOf(jResp,"tests[i].options.ignoreServerCertificateError")
        InitialNavigationTimeout = CkJsonObject::ckIntOf(jResp,"tests[i].options.initialNavigationTimeout")
        Min_failure_duration = CkJsonObject::ckIntOf(jResp,"tests[i].options.min_failure_duration")
        Min_location_failed = CkJsonObject::ckIntOf(jResp,"tests[i].options.min_location_failed")
        Monitor_name = CkJsonObject::ckStringOf(jResp,"tests[i].options.monitor_name")
        Renotify_interval = CkJsonObject::ckIntOf(jResp,"tests[i].options.monitor_options.renotify_interval")
        Monitor_priority = CkJsonObject::ckIntOf(jResp,"tests[i].options.monitor_priority")
        NoScreenshot = CkJsonObject::ckBoolOf(jResp,"tests[i].options.noScreenshot")
        Count = CkJsonObject::ckIntOf(jResp,"tests[i].options.retry.count")
        Interval = CkJsonObject::ckStringOf(jResp,"tests[i].options.retry.interval")
        ApplicationId = CkJsonObject::ckStringOf(jResp,"tests[i].options.rumSettings.applicationId")
        ClientTokenId = CkJsonObject::ckIntOf(jResp,"tests[i].options.rumSettings.clientTokenId")
        IsEnabled = CkJsonObject::ckBoolOf(jResp,"tests[i].options.rumSettings.isEnabled")
        Timezone = CkJsonObject::ckStringOf(jResp,"tests[i].options.scheduling.timezone")
        Tick_every = CkJsonObject::ckIntOf(jResp,"tests[i].options.tick_every")
        public_id = CkJsonObject::ckStringOf(jResp,"tests[i].public_id")
        status = CkJsonObject::ckStringOf(jResp,"tests[i].status")
        subtype = CkJsonObject::ckStringOf(jResp,"tests[i].subtype")
        v_type = CkJsonObject::ckStringOf(jResp,"tests[i].type")
        Est_d9d = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.headers.est_d9d")
        Cupidatat98f = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.headers.cupidatat98f")
        Esse_ef4 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.esse_ef4")
        Do_b06 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.do_b06")
        Dolore_a5a = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.metadata.dolore_a5a")
        Irure_15 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.proxy.headers.irure_15")
        Tempor40 = CkJsonObject::ckStringOf(jResp,"tests[i].config.request.proxy.headers.tempor40")
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].config.configVariables")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            description = CkJsonObject::ckStringOf(jResp,"tests[i].config.configVariables[j].description")
            v_type = CkJsonObject::ckStringOf(jResp,"tests[i].config.configVariables[j].type")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].config.variables")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            description = CkJsonObject::ckStringOf(jResp,"tests[i].config.variables[j].description")
            v_type = CkJsonObject::ckStringOf(jResp,"tests[i].config.variables[j].type")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].locations")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"tests[i].locations[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].options.device_ids")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"tests[i].options.device_ids[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].options.restricted_roles")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"tests[i].options.restricted_roles[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].options.scheduling.timeframes")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            day = CkJsonObject::ckIntOf(jResp,"tests[i].options.scheduling.timeframes[j].day")
            from = CkJsonObject::ckStringOf(jResp,"tests[i].options.scheduling.timeframes[j].from")
            v_to = CkJsonObject::ckStringOf(jResp,"tests[i].options.scheduling.timeframes[j].to")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].steps")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            allowFailure = CkJsonObject::ckBoolOf(jResp,"tests[i].steps[j].allowFailure")
            isCritical = CkJsonObject::ckBoolOf(jResp,"tests[i].steps[j].isCritical")
            name = CkJsonObject::ckStringOf(jResp,"tests[i].steps[j].name")
            noScreenshot = CkJsonObject::ckBoolOf(jResp,"tests[i].steps[j].noScreenshot")
            timeout = CkJsonObject::ckIntOf(jResp,"tests[i].steps[j].timeout")
            v_type = CkJsonObject::ckStringOf(jResp,"tests[i].steps[j].type")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"tests[i].tags")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            strVal = CkJsonObject::ckStringOf(jResp,"tests[i].tags[j]")
            j = j + 1
        Wend
        i = i + 1
    Wend


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(queryParams)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jResp)


    ProcedureReturn
EndProcedure

Curl Command

curl -G -d "page_size=tempor%20Ut%20sed%20velit"
	-d "page_number=tempor%20Ut%20sed%20velit"
	-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/synthetics/tests

Postman Collection Item JSON

{
  "name": "Get the list of all Synthetic tests",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v1/synthetics/tests?page_size=tempor Ut sed velit&page_number=tempor Ut sed velit",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "synthetics",
        "tests"
      ],
      "query": [
        {
          "key": "page_size",
          "value": "tempor Ut sed velit",
          "description": "Used for pagination. The number of tests returned in the page."
        },
        {
          "key": "page_number",
          "value": "tempor Ut sed velit",
          "description": "Used for pagination. Which page you want to retrieve. Starts at zero."
        }
      ]
    },
    "description": "Get the list of all Synthetic tests."
  },
  "response": [
    {
      "name": "OK - Returns the list of all Synthetic tests.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "description": "Added as a part of security scheme: apikey",
            "key": "DD-API-KEY",
            "value": "<API Key>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/synthetics/tests?page_size=tempor Ut sed velit&page_number=tempor Ut sed velit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "synthetics",
            "tests"
          ],
          "query": [
            {
              "key": "page_size",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. The number of tests returned in the page."
            },
            {
              "key": "page_number",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. Which page you want to retrieve. Starts at zero."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"tests\": [\n    {\n      \"config\": {\n        \"configVariables\": [\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          },\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          }\n        ],\n        \"request\": {\n          \"allow_insecure\": false,\n          \"basicAuth\": {\n            \"password\": \"PaSSw0RD!\",\n            \"username\": \"my_username\",\n            \"type\": \"web\"\n          },\n          \"body\": \"nisi elit aute proident minim\",\n          \"bodyType\": \"text/plain\",\n          \"callType\": \"unary\",\n          \"certificate\": {\n            \"cert\": {\n              \"content\": \"Lorem irure\",\n              \"filename\": \"Excepteur occaecat\",\n              \"updatedAt\": \"quis exercitation\"\n            },\n            \"key\": {\n              \"content\": \"officia aliquip\",\n              \"filename\": \"Lorem in sed\",\n              \"updatedAt\": \"exercitation commodo\"\n            }\n          },\n          \"compressedJsonDescriptor\": \"dolore ea reprehenderit ad\",\n          \"dnsServer\": \"cupida\",\n          \"dnsServerPort\": 54877,\n          \"follow_redirects\": true,\n          \"headers\": {\n            \"site_\": \"adipisicing ea\",\n            \"sit1\": \"in incididunt exercitation eu\"\n          },\n          \"host\": \"ipsum\",\n          \"message\": \"in cupidatat\",\n          \"metadata\": {\n            \"pariaturd5f\": \"qui sed ullamco et\",\n            \"veniam2\": \"in ut adipisicing voluptate velit\",\n            \"consectetura\": \"laborum sed Lorem in\"\n          },\n          \"method\": \"commodo non\",\n          \"noSavingResponseBody\": false,\n          \"numberOfPackets\": 6,\n          \"persistCookies\": false,\n          \"port\": 4381428,\n          \"proxy\": {\n            \"url\": \"https://example.com\",\n            \"headers\": {\n              \"in081\": \"exercitation a\"\n            }\n          },\n          \"query\": {},\n          \"servername\": \"in\",\n          \"service\": \"Greeter\",\n          \"shouldTrackHops\": false,\n          \"timeout\": -9075364.229425669,\n          \"url\": \"https://example.com\"\n        },\n        \"variables\": [\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          },\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          }\n        ]\n      },\n      \"creator\": {\n        \"email\": \"eiusmod in\",\n        \"handle\": \"commodo enim\",\n        \"name\": \"magna do occaeca\"\n      },\n      \"locations\": [\n        \"aws:eu-west-3\"\n      ],\n      \"message\": \"velit Lorem amet non\",\n      \"monitor_id\": -1212470,\n      \"name\": \"esse incididunt consectetur labore\",\n      \"options\": {\n        \"accept_self_signed\": false,\n        \"allow_insecure\": false,\n        \"checkCertificateRevocation\": false,\n        \"ci\": {\n          \"executionRule\": \"blocking\"\n        },\n        \"device_ids\": [\n          \"laptop_large\",\n          \"laptop_large\"\n        ],\n        \"disableCors\": false,\n        \"disableCsp\": false,\n        \"follow_redirects\": false,\n        \"httpVersion\": \"http2\",\n        \"ignoreServerCertificateError\": true,\n        \"initialNavigationTimeout\": -13991278,\n        \"min_failure_duration\": -25741137,\n        \"min_location_failed\": 16891533,\n        \"monitor_name\": \"veniam occaecat Lorem do\",\n        \"monitor_options\": {\n          \"renotify_interval\": 206\n        },\n        \"monitor_priority\": 1,\n        \"noScreenshot\": true,\n        \"restricted_roles\": [\n          \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n        ],\n        \"retry\": {\n          \"count\": 75644948,\n          \"interval\": 62584402.461459786\n        },\n        \"rumSettings\": {\n          \"applicationId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n          \"clientTokenId\": 12345,\n          \"isEnabled\": true\n        },\n        \"scheduling\": {\n          \"timeframes\": [\n            {\n              \"day\": 1,\n              \"from\": \"07:00\",\n              \"to\": \"16:00\"\n            },\n            {\n              \"day\": 3,\n              \"from\": \"07:00\",\n              \"to\": \"16:00\"\n            }\n          ],\n          \"timezone\": \"America/New_York\"\n        },\n        \"tick_every\": 276495\n      },\n      \"public_id\": \"incididunt consequat officia nisi\",\n      \"status\": \"live\",\n      \"steps\": [\n        {\n          \"allowFailure\": false,\n          \"isCritical\": false,\n          \"name\": \"qui\",\n          \"noScreenshot\": false,\n          \"params\": {},\n          \"timeout\": 50285708,\n          \"type\": \"assertElementContent\"\n        },\n        {\n          \"allowFailure\": true,\n          \"isCritical\": false,\n          \"name\": \"esse minim ullamco occaecat\",\n          \"noScreenshot\": true,\n          \"params\": {},\n          \"timeout\": -14507495,\n          \"type\": \"assertElementContent\"\n        }\n      ],\n      \"subtype\": \"http\",\n      \"tags\": [\n        \"exercitation Ut\",\n        \"esse et sit\"\n      ],\n      \"type\": \"browser\"\n    },\n    {\n      \"config\": {\n        \"configVariables\": [\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          },\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          }\n        ],\n        \"request\": {\n          \"allow_insecure\": false,\n          \"basicAuth\": {\n            \"password\": \"PaSSw0RD!\",\n            \"username\": \"my_username\",\n            \"type\": \"web\"\n          },\n          \"body\": \"voluptate minim\",\n          \"bodyType\": \"text/plain\",\n          \"callType\": \"unary\",\n          \"certificate\": {\n            \"cert\": {\n              \"content\": \"qui Lorem non\",\n              \"filename\": \"nostrud laboris culpa adipisicing\",\n              \"updatedAt\": \"et esse cupidatat consectetur do\"\n            },\n            \"key\": {\n              \"content\": \"cupidatat sunt\",\n              \"filename\": \"pariatur nostru\",\n              \"updatedAt\": \"Lorem dolor\"\n            }\n          },\n          \"compressedJsonDescriptor\": \"aliquip laboris amet\",\n          \"dnsServer\": \"magna\",\n          \"dnsServerPort\": 35750,\n          \"follow_redirects\": false,\n          \"headers\": {\n            \"est_d9d\": \"anim\",\n            \"cupidatat98f\": \"esse\"\n          },\n          \"host\": \"ea esse\",\n          \"message\": \"consequat ipsum ut Lorem\",\n          \"metadata\": {\n            \"esse_ef4\": \"commodo\",\n            \"do_b06\": \"tempor adipisicing dolor\",\n            \"dolore_a5a\": \"nostrud\"\n          },\n          \"method\": \"laboris\",\n          \"noSavingResponseBody\": true,\n          \"numberOfPackets\": 9,\n          \"persistCookies\": true,\n          \"port\": -288377,\n          \"proxy\": {\n            \"url\": \"https://example.com\",\n            \"headers\": {\n              \"irure_15\": \"in\",\n              \"tempor40\": \"laboris veniam tempor qui nulla\"\n            }\n          },\n          \"query\": {},\n          \"servername\": \"ad laborum cupidatat\",\n          \"service\": \"Greeter\",\n          \"shouldTrackHops\": true,\n          \"timeout\": -4889397.044413894,\n          \"url\": \"https://example.com\"\n        },\n        \"variables\": [\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          },\n          {\n            \"description\": \"Example for the variable.\",\n            \"type\": \"string\"\n          }\n        ]\n      },\n      \"creator\": {\n        \"email\": \"in Duis nisi ex\",\n        \"handle\": \"fugiat sint sed consequa\",\n        \"name\": \"ipsum ut\"\n      },\n      \"locations\": [\n        \"aws:eu-west-3\"\n      ],\n      \"message\": \"Excepteur ipsum exercitat\",\n      \"monitor_id\": 17707116,\n      \"name\": \"deserunt elit proident Lorem\",\n      \"options\": {\n        \"accept_self_signed\": false,\n        \"allow_insecure\": false,\n        \"checkCertificateRevocation\": false,\n        \"ci\": {\n          \"executionRule\": \"skipped\"\n        },\n        \"device_ids\": [\n          \"laptop_large\",\n          \"laptop_large\"\n        ],\n        \"disableCors\": false,\n        \"disableCsp\": false,\n        \"follow_redirects\": false,\n        \"httpVersion\": \"http1\",\n        \"ignoreServerCertificateError\": false,\n        \"initialNavigationTimeout\": 29100273,\n        \"min_failure_duration\": 5817749,\n        \"min_location_failed\": 84916784,\n        \"monitor_name\": \"velit quis\",\n        \"monitor_options\": {\n          \"renotify_interval\": 427\n        },\n        \"monitor_priority\": 1,\n        \"noScreenshot\": false,\n        \"restricted_roles\": [\n          \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n        ],\n        \"retry\": {\n          \"count\": 37028687,\n          \"interval\": -23788886.712954804\n        },\n        \"rumSettings\": {\n          \"applicationId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n          \"clientTokenId\": 12345,\n          \"isEnabled\": true\n        },\n        \"scheduling\": {\n          \"timeframes\": [\n            {\n              \"day\": 1,\n              \"from\": \"07:00\",\n              \"to\": \"16:00\"\n            },\n            {\n              \"day\": 3,\n              \"from\": \"07:00\",\n              \"to\": \"16:00\"\n            }\n          ],\n          \"timezone\": \"America/New_York\"\n        },\n        \"tick_every\": 256938\n      },\n      \"public_id\": \"Exc\",\n      \"status\": \"live\",\n      \"steps\": [\n        {\n          \"allowFailure\": true,\n          \"isCritical\": true,\n          \"name\": \"ipsum conse\",\n          \"noScreenshot\": false,\n          \"params\": {},\n          \"timeout\": -75416003,\n          \"type\": \"assertElementContent\"\n        },\n        {\n          \"allowFailure\": false,\n          \"isCritical\": false,\n          \"name\": \"non do ex\",\n          \"noScreenshot\": false,\n          \"params\": {},\n          \"timeout\": -91980592,\n          \"type\": \"assertElementContent\"\n        }\n      ],\n      \"subtype\": \"http\",\n      \"tags\": [\n        \"fugiat ex amet minim\",\n        \"dolore occaecat ad dolor ex\"\n      ],\n      \"type\": \"api\"\n    }\n  ]\n}"
    },
    {
      "name": "Forbidden",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "description": "Added as a part of security scheme: apikey",
            "key": "DD-API-KEY",
            "value": "<API Key>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/synthetics/tests?page_size=tempor Ut sed velit&page_number=tempor Ut sed velit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "synthetics",
            "tests"
          ],
          "query": [
            {
              "key": "page_size",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. The number of tests returned in the page."
            },
            {
              "key": "page_number",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. Which page you want to retrieve. Starts at zero."
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    \"Bad Request\",\n    \"Bad Request\"\n  ]\n}"
    },
    {
      "name": "Synthetic Monitoring is not activated for the user.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "description": "Added as a part of security scheme: apikey",
            "key": "DD-API-KEY",
            "value": "<API Key>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/synthetics/tests?page_size=tempor Ut sed velit&page_number=tempor Ut sed velit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "synthetics",
            "tests"
          ],
          "query": [
            {
              "key": "page_size",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. The number of tests returned in the page."
            },
            {
              "key": "page_number",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. Which page you want to retrieve. Starts at zero."
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    \"Bad Request\",\n    \"Bad Request\"\n  ]\n}"
    },
    {
      "name": "Too many requests",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          },
          {
            "description": "Added as a part of security scheme: apikey",
            "key": "DD-API-KEY",
            "value": "<API Key>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/v1/synthetics/tests?page_size=tempor Ut sed velit&page_number=tempor Ut sed velit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "synthetics",
            "tests"
          ],
          "query": [
            {
              "key": "page_size",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. The number of tests returned in the page."
            },
            {
              "key": "page_number",
              "value": "tempor Ut sed velit",
              "description": "Used for pagination. Which page you want to retrieve. Starts at zero."
            }
          ]
        }
      },
      "status": "Too Many Requests",
      "code": 429,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    \"Bad Request\",\n    \"Bad Request\"\n  ]\n}"
    }
  ]
}