Skip to content

Measurement Definitions

The definitions array contains one or more measurement definition objects. Each describes what you want to measure.

Required Fields

Every definition needs at minimum:

  • description — a name for this measurement
  • type — the measurement type (see below)
  • af — address family: 4 (IPv4) or 6 (IPv6)
  • target — what to measure against (required for all types except DNS, which uses query_argument instead)

Measurement Types

  • ping — ICMP echo requests to a target. Configure packet count, size, and interval.
  • traceroute — Trace the path to a target hop by hop. Supports UDP, ICMP, and TCP protocols, with options like Paris traceroute and first/max hop control.
  • dns — DNS queries against a resolver or the probe's local resolver. Specify the query name, record type, class, and various DNS flags (RD, CD, DO, NSID).
  • sslcert — Retrieve the TLS/SSL certificate from a target. Useful for monitoring certificate validity and chain.
  • http — Make an HTTP request to a target. Configure path, method, port, and HTTP version.
  • ntp — Query an NTP server to check time synchronisation.

Each type has its own set of optional fields for fine-tuning behaviour. For the complete list of fields, defaults, and constraints for each type, see the REST API Reference.

Common Optional Fields

Beyond the type-specific fields, all definitions share some common options:

  • is_oneoff — run the measurement once (true) or on a recurring schedule (false, the default)
  • interval — seconds between measurements per probe (for recurring measurements)
  • is_public — whether results are publicly visible (default: true)
  • resolve_on_probe — resolve the target hostname on the probe rather than centrally
  • tags — an array of strings to organize and label measurements

See Global Fields for fields like start_time, stop_time, and bill_to that can be set at the request level.

WARNING

For DNS measurements with use_probe_resolver set to true, set_rd_bit is silently enabled for privacy reasons.

Multiple Definitions

You can submit multiple definitions in a single request. Each can have a different type and configuration. The response returns one measurement ID per definition, in the same order.

json
{
    "definitions": [
        {"target": "ripe.net", "description": "Ping", "type": "ping", "af": 4},
        {"target": "ripe.net", "description": "Trace", "type": "traceroute", "af": 4}
    ],
    "probes": [{"requested": 5, "type": "region", "value": "europe"}]
}