This article covers how to get started with the Synthetics Monitoring APIs.
Notes:
The API Tester in the v4 Portal enables you to securely call the methods of these APIs using your organization's Kentik data.
For information about Kentik's synthetic monitoring capabilities, start with Synthetics.
Protobuf and OpenAPI specifications for Kentik’s v6 APIs are available in our api-schema-public repository.
Synthetics Usage
The topics below provide important background information for the use of these APIs.
Overview
The Synthetics Monitoring API provides programmatic access to Kentik's synthetic monitoring system. The API consists of two endpoints:
Endpoint | Purpose |
---|
SyntheticsAdminService | CRUD operations for synthetic tests, agents, and offline agent alerts |
SyntheticsDataService | Retrieval of synthetic test results and network traces |
Both REST endpoint and gRPC RPCs are provided. Note: API version v202309 is the same as v202202 except that the timestamps returned for synthetic test results are closer to when the test was actually run.
Known Limitations
The API currently does not support the following Synthetic Test Types:
Additional Public Resources
Kentik community Python and Go SDKs provide language-specific support for using this and other Kentik APIs. These SDKs can be also used as example code for development. A Terraform provider is available for configuring tests and agents for Kentik synthetic monitoring.
Anatomy of a Synthetic Test
Each Test
consists of one or more tasks. Tasks are executed by monitoring Agents that send synthetic traffic (probes) over the network. The API currently supports following tasks:
Task name | Purpose |
---|
ping | Test basic address, and optionally TCP port reachability |
traceroute (a.k.a. trace) | Discover unidirectional network path |
http | Perform a simple HTTP/HTTPS request |
page-load | Use headless Chromium to execute an HTTP/HTTPS request |
dns | Execute a DNS query |
The set of tasks executed on behalf of a given test depends on the type
of that test. The following test types are currently supported by the API:
API type | Portal (UI) equivalent | Tasks |
---|
ip | IP Address | ping, traceroute |
hostname | Hostname | ping, traceroute |
network_grid | Network Grid | ping, traceroute |
agent | Agent-to-Agent | ping, traceroute |
network_mesh | Network Mesh | ping, traceroute |
flow | Autonomous Tests (5 variants) | ping, traceroute |
url | HTTP(S) or API | http, ping (optional), traceroute (optional) |
page_load | Page Load | page-load, ping (optional), traceroute (optional) |
dns | DNS Server Monitor | dns |
dns_grid | DNS Server Grid | dns |
Note: ping
and traceroute
tasks are always run together (never one without the other).
Test Attributes and Settings
The attributes of the test object enable configuration of test settings, access to test metadata, and access to runtime state information.
State and Metadata Attributes
The following table lists the metadata and state attributes:
Attribute | Access | Purpose |
---|
id | RO | System-generated unique identifier of the test |
name | RW | User specified name for the test (need not be unique) |
type | RO (after creation) | Type of the test (set on creation; read-only thereafter) |
status | RW | Life-cycle status of the test |
cdate | RO | Creation timestamp |
edate | RO | Last-modification timestamp |
created_by | RO | Identity of the user that created the test |
last_updated_by | RO | Identity of the latest user to modify the test |
labels | RW | List of names of labels applied to the test |
Test configuration is performed via the test's settings
attribute. Some settings are common to all tests while others are specific to tests of a given type.
Common Test Settings
The following settings are used for tests of all types:
Attribute | Purpose | Required |
---|
agentIds | IDs of agents to execute tasks for the test | YES |
period | Test execution interval in seconds | NO (default 60s) |
family | IP address family. Used only for tests whose type is url or dns. Selects which type of DNS resource is queried for resolving hostname to target address | NO (default IP_FAMILY_DUAL) |
notificationChannels | List of notification channels for the test | NO (default empty list) |
healthSettings | A HealthSettings object that configures health settings for this test, which includes metric thresholds that define health status (warning and critical) and trigger associated alarms. | YES |
ping | A TestPingSettings object that configures the ping task of the test | NO (default depends on test type) |
trace | A TestTraceSettings object that configures the trace task of the test | NO (default depends on test type) |
tasks | List of names of the tasks that will be executed for this test | YES |
Type-specific Settings
Each test type has its own configuration object that represents the settings for that type. These type-specific objects are referenced by the attributes in Test.settings
:
Test type | Settings attribute | Configuration object |
---|
ip | ip | IpTest |
hostname | hostname | HostnameTest |
network_grid | networkGrid | IpTest |
agent | agent | AgentTest |
network_mesh | networkMesh | NetworkMeshTest |
flow | flow | FlowTest |
url | url | UrlTest |
page_load | pageLoad | PageLoadTest |
dns | dns | DnsTest |
dns_grid | dnsGrid | DnsTest |
Test Results
Results of synthetic tests are returned as a sequence of TestResults
objects. Each such object represents measurements and health evaluation for a single test at specific point in time. Measurements and health evaluation are grouped by agent and by task. Granularity of timestamps in test results depends on the frequency (period) of the test and on the requested time range. The minimum granularity is 1 minute (even when period < 1 minute). The longer the time range, the lower the granularity.
Network Traces
Synthetic tests that include the traceroute
task collect the unidirectional network path from the agent to the target for each agent/target pair. The trace data are returned in the GetTraceForTestResponse
object. The paths
attribute of this object contains the collected network path for each agent/target pair and the round-trip time (RTT) to each hop. Hops in actual network traces are identified by a nodeId
. The mapping of node IDs to address, name, location, and other attributes of the hop is provided in a map that is stored in the nodes
attribute of the GetTraceForTestResponse
object.
Agents
The Kentik synthetic monitoring system recognizes 2 types of agents:
Global (public): Managed by Kentik and available to every Kentik user. All information about global agents in this API is read-only.
Private: Deployed by each customer and available only to that customer. To be visible in this API, a private agent must first associate itself with a customer account by contacting the Kentik system (via private API). Once the agent is associated it can be authorized via the API by changing its status
to AGENT_STATUS_OK
. For more information about private agent deployment, see Synthetic Agent Deployments.
Synthetics RPCs
The tables below provide a quick reference to key information about each Remote Procedure Call in these APIs. Use the links in the tables to see schemas for the request and/or response body (if any).
Note: To test methods using your own Kentik data, use the portal's API Tester.
ListAgentAlerts
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /agentAlerts | Lists all agent alert configurations, optionally filtered by a list of agent ids. |
Parameters:
Name | Description | Required | Type |
---|
agentIds | Undefined. | false | array |
|
CreateAgentAlert
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
POST | /synthetics/v202309 /agentAlerts | Creates a new agent alert configuration. |
|
GetAgentAlert
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /agentAlerts/{id} | Retrieves an existing agent alert configuration. |
Parameters:
Name | Description | Required | Type |
---|
id | Undefined. | true | string |
|
DeleteAgentAlert
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
DELETE | /synthetics/v202309 /agentAlerts/{id} | Deletes an existing agent alert configuration. |
Parameters: Name | Description | Required | Type |
---|
id | Undefined. | true | string |
|
UpdateAgentAlert
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
PUT | /synthetics/v202309 /agentAlerts/{id} | Updates an existing agent alert configuration with the time threshold and notification channels provided. |
Parameters: Name | Description | Required | Type |
---|
id | Undefined. | true | string |
|
ListAgents
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /agents | Returns list of all synthetic agents available in the account. |
|
UpdateAgent
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
PUT | /synthetics/v202309 /agents/{agent.id} | Update configuration of a synthetic agent. |
Parameters: Name | Description | Required | Type |
---|
agent.id | Unique identifier of the agent | true | string |
|
GetAgent
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /agents/{agent.id} | Returns information about the requested synthetic agent. |
Parameters: Name | Description | Required | Type |
---|
agent.id | ID of the requested agent | true | string |
|
DeleteAgent
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
DELETE | /synthetics/v202309 /agents/{agent.id} | Deletes the requested agent. The deleted agent is removed from configuration of all tests. |
Parameters: Name | Description | Required | Type |
---|
agent.id | ID of the agent to be deleted | true | string |
|
ListTests
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /tests | Returns a list of all configured active and paused synthetic tests. |
|
CreateTest
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
POST | /synthetics/v202309 /tests | Create synthetic test based on configuration provided in the request. |
|
GetTest
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
GET | /synthetics/v202309 /tests/{id} | Returns configuration and status for the requested synthetic test. |
Parameters: Name | Description | Required | Type |
---|
id | ID of requested test | true | string |
|
DeleteTest
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
DELETE | /synthetics/v202309 /tests/{id} | Deletes the synthetics test. All accumulated results for the test cease to be accessible. |
Parameters: Name | Description | Required | Type |
---|
id | ID of the test to be deleted | true | string |
|
UpdateTest
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
PUT | /synthetics/v202309 /tests/{id} | Updates configuration of a synthetic test. |
Parameters: Name | Description | Required | Type |
---|
id | Unique ID of the test | true | string |
|
SetTestStatus
API: SyntheticsAdminService
REST Method | REST Endpoint | Description |
---|
PUT | /synthetics/v202309 /tests/{id}/status | Update status of a synthetic test |
Parameters: Name | Description | Required | Type |
---|
id | ID of the test which status is to be modified | true | string |
|
GetResultsForTests
API: SyntheticsDataService
REST Method | REST Endpoint | Description |
---|
POST | /synthetics/v202309 /results | Returns probe results for a set of tests for specified period of time. |
|
GetTraceForTest
API: SyntheticsDataService
REST Method | REST Endpoint | Description |
---|
POST | /synthetics/v202309 /trace | Get network trace data for a specific synthetic test. The test must have traceroute task configured. |
|
Synthetics Schemas
This API uses the following schemas.
AgentMetadataIpValue
Schema: AgentMetadataIpValue | Type: object |
Properties: Name | Value |
---|
Value | type: string |
|
protobufAny
Schema: protobufAny | Type: object |
Properties: Name | Value |
---|
typeUrl | type: string | value | type: string format: byte |
|
rpcStatus
Schema: rpcStatus | Type: object |
Properties: Name | Value |
---|
code | type: integer format: int32 | message | type: string | details | type: array items: $ref: protobufAny |
|
Location
Schema: syntheticsv202309Location | Type: object |
Properties: Name | Value |
---|
latitude | type: number format: double description: Latitude in signed decimal degrees | longitude | type: number format: double description: Longitude in signed decimal degrees | country | type: string description: Country of the location | region | type: string description: Geographic region within the country | city | type: string description: City of the location |
|
UserInfo
Schema: v202303UserInfo | Type: object |
Properties: Name | Value |
---|
id | type: string description: Unique system generated ID readOnly: true | email | type: string description: E-mail address of the user readOnly: true | fullName | type: string description: Full name of the user readOnly: true |
|
ActivationSettings
Schema: v202309ActivationSettings | Type: object |
Properties: Name | Value |
---|
gracePeriod | type: string description: Period of healthy status in minutes within the time window not cancelling alarm activation | timeUnit | type: string description: Time unit for specifying time window (m | h) | timeWindow | type: string description: Time window for evaluating of test for alarm activation | times | type: string description: Number of occurrences of unhealthy test status within the time window triggering alarm activation |
|
Agent
Schema: v202309Agent | Type: object |
Properties: Name | Value |
---|
id | type: string description: Unique identifier of the agent readOnly: true | siteName | type: string description: Name of the site where agent is located | status | $ref: v202309AgentStatus | alias | type: string description: User selected descriptive name of the agent | type | type: string description: Type of agent (global | private) readOnly: true | os | type: string description: OS version of server/VM hosting the agent readOnly: true | ip | type: string description: Public IP address of the agent (auto-detected) readOnly: true | lat | type: number format: double description: Latitude of agent's location (signed decimal degrees) | long | type: number format: double description: Longitude of agent's location (signed decimal degrees) | lastAuthed | type: string format: date-time description: Timestamp of the last authorization readOnly: true | family | $ref: v202309IPFamily | asn | type: integer format: int64 description: ASN of the AS owning agent's public address | siteId | type: string description: ID of the site hosting the agent (if configured in Kentik) | version | type: string description: Software version of the agent readOnly: true | city | type: string description: City where the agent is located | region | type: string description: Geographical region of agent's location | country | type: string description: Country of agent's location | testIds | type: array items: type: string description: IDs of user's test running on the agent readOnly: true | localIp | type: string description: Internal IP address of the agent | cloudRegion | type: string description: Cloud region (if any) hosting the agent | cloudProvider | type: string description: Cloud provider (if any) hosting the agent | agentImpl | $ref: v202309ImplementType | labels | type: array items: type: string description: List of names of labels associated with the agent | metadata | $ref: v202309AgentMetadata |
|
AgentAlert
Schema: v202309AgentAlert | Type: object |
Properties: Name | Value |
---|
id | type: string | thresholdSeconds | type: integer format: int64 | notificationChannelIds | type: array items: type: string | agentId | type: string | agentName | type: string |
|
AgentMetadata
Schema: v202309AgentMetadata | Type: object |
Properties: Name | Value |
---|
privateIpv4Addresses | type: array items: $ref: AgentMetadataIpValue description: List of private IPv4 addresses | publicIpv4Addresses | type: array items: $ref: AgentMetadataIpValue description: List of public IPv4 addresses readOnly: true | privateIpv6Addresses | type: array items: $ref: AgentMetadataIpValue description: List of private IPv6 addresses | publicIpv6Addresses | type: array items: $ref: AgentMetadataIpValue description: List of public IPv6 addresses readOnly: true |
|
AgentResults
Schema: v202309AgentResults | Type: object |
Properties: Name | Value |
---|
agentId | type: string description: ID of the agent providing results | health | type: string description: Overall health status of all task for the test executed by this agent | tasks | type: array items: $ref: v202309TaskResults description: List of results for individual tasks |
|
AgentStatus
Schema: v202309AgentStatus | Type: string |
Attributes: Key | Value |
---|
enum | AGENT_STATUS_UNSPECIFIED, AGENT_STATUS_OK, AGENT_STATUS_WAIT, AGENT_STATUS_DELETED | default | AGENT_STATUS_UNSPECIFIED | description | • AGENT_STATUS_UNSPECIFIED: Invalid value. • AGENT_STATUS_OK: Agent is ready to accept tests • AGENT_STATUS_WAIT: Agent is waiting for authorization • AGENT_STATUS_DELETED: Agent was deleted • not user settable |
|
AgentTest
Schema: v202309AgentTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: ID of the target agent | useLocalIp | type: boolean description: Boolean value indicating whether to use local (private) IP address of the target agent | reciprocal | type: boolean description: Boolean value indicating whether to make the test bidirectional |
|
CreateAgentAlertRequest
Schema: v202309CreateAgentAlertRequest | Type: object |
Properties: Name | Value |
---|
thresholdSeconds | type: integer format: int64 | notificationChannelIds | type: array items: type: string | agentId | type: string |
|
CreateAgentAlertResponse
Schema: v202309CreateAgentAlertResponse | Type: object |
Properties: |
CreateTestRequest
Schema: v202309CreateTestRequest | Type: object |
Properties: |
CreateTestResponse
Schema: v202309CreateTestResponse | Type: object |
Properties: |
DNSRecord
Schema: v202309DNSRecord | Type: string |
Attributes: Key | Value |
---|
enum | DNS_RECORD_UNSPECIFIED, DNS_RECORD_A, DNS_RECORD_AAAA, DNS_RECORD_CNAME, DNS_RECORD_DNAME, DNS_RECORD_NS, DNS_RECORD_MX, DNS_RECORD_PTR, DNS_RECORD_SOA | default | DNS_RECORD_UNSPECIFIED | description | • DNS_RECORD_UNSPECIFIED: Invalid value • DNS_RECORD_A: name to IPv4 address(es) mapping • DNS_RECORD_AAAA: name to IPv6 address(es) mapping • DNS_RECORD_CNAME: alternative resource name • DNS_RECORD_DNAME: alternative resource set name • DNS_RECORD_NS: domain to name server mapping • DNS_RECORD_MX: SMTP mail server record • DNS_RECORD_PTR: IPv4/6 address to name mapping • DNS_RECORD_SOA: domain meta-data |
|
DNSResponseData
Schema: v202309DNSResponseData | Type: object |
Properties: Name | Value |
---|
status | type: integer format: int64 description: Received DNS status | data | type: string description: Text rendering of received DNS resolution |
|
DNSResults
Schema: v202309DNSResults | Type: object |
Properties: |
DeleteAgentAlertResponse
Schema: v202309DeleteAgentAlertResponse | Type: object |
Properties: None |
DeleteAgentResponse
Schema: v202309DeleteAgentResponse | Type: object |
Properties: None |
DeleteTestResponse
Schema: v202309DeleteTestResponse | Type: object |
Properties: None |
DisabledMetrics
Schema: v202309DisabledMetrics | Type: object |
Properties: Name | Value |
---|
pingLatency | type: boolean | pingJitter | type: boolean | pingPacketLoss | type: boolean | httpLatency | type: boolean | type: boolean | type: boolean | httpCodes | type: boolean | httpCertExpiry | type: boolean | transactionLatency | type: boolean | dnsLatency | type: boolean | dnsCodes | type: boolean | dnsIps | type: boolean |
|
DnsTest
Schema: v202309DnsTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: Fully qualified DNS name to query | timeout | type: integer format: int64 description: --- Deprecated: value is ignored. --- | recordType | $ref: v202309DNSRecord | servers | type: array items: type: string description: List of IP addresses of DNS servers | port | type: integer format: int64 description: Target DNS server port |
|
FlowTest
Schema: v202309FlowTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: Target ASN, CDN, Country, Region of City for autonomous test (type of value depends on flow test sub-type) | targetRefreshIntervalMillis | type: integer format: int64 description: Period (in milliseconds) for refreshing list of targets based on available flow data | maxProviders | type: integer format: int64 description: Maximum number of IP providers to track autonomously | maxIpTargets | type: integer format: int64 description: Maximum number of target IP addresses to select based flow data query | type | type: string description: Autonomous test sub-type (asn | cdn | country | region | city) | inetDirection | type: string description: Selection of address from flow data (src = source address in inbound flows | dst = destination addresses in outbound flows) | direction | type: string description: Direction of flows to match target attribute for extraction of target addresses (src | dst) |
|
GetAgentAlertResponse
Schema: v202309GetAgentAlertResponse | Type: object |
Properties: |
GetAgentResponse
Schema: v202309GetAgentResponse | Type: object |
Properties: |
GetResultsForTestsRequest
Schema: v202309GetResultsForTestsRequest | Type: object |
Properties (* = required) Name | Value |
---|
ids * | type: array items: type: string description: List of test IDs for which to retrieve results | startTime * | type: string format: date-time description: Timestamp of the oldest results to include in results | endTime * | type: string format: date-time description: Timestamp of the newest results to include in results | agentIds | type: array items: type: string description: List of agent IDs from which to return results | targets | type: array items: type: string description: List of targets (test dependent) for which to retrieve results | aggregate | type: boolean description: If true, retrieve result aggregated across the requested time period, else return complete time series |
|
GetResultsForTestsResponse
Schema: v202309GetResultsForTestsResponse | Type: object |
Properties: |
GetTestResponse
Schema: v202309GetTestResponse | Type: object |
Properties: |
GetTraceForTestRequest
Schema: v202309GetTraceForTestRequest | Type: object |
Properties (* = required) Name | Value |
---|
id | type: string description: ID of test for which to retrieve network path trace data | startTime * | type: string format: date-time description: Timestamp of the oldest results to include in results | endTime * | type: string format: date-time description: Timestamp of the newest results to include in results | agentIds | type: array items: type: string description: List of agent IDs from which to return results | targetIps | type: array items: type: string description: List of target IP addresses for which to retrieve results |
|
GetTraceForTestResponse
Schema: v202309GetTraceForTestResponse | Type: object |
Properties: Name | Value |
---|
nodes | type: object additionalProperties: $ref: v202309NetNode description: Map of network node information keyed by node IDs | paths | type: array items: $ref: v202309Path description: List of retrieved network path data |
|
HTTPResponseData
Schema: v202309HTTPResponseData | Type: object |
Properties: Name | Value |
---|
status | type: integer format: int64 description: HTTP status in response | size | type: integer format: int64 description: Total size of received response body | data | type: string description: Detailed information about transaction timing, connection characteristics and response |
|
HTTPResults
Schema: v202309HTTPResults | Type: object |
Properties: |
HealthSettings
Schema: v202309HealthSettings | Type: object |
Properties: Name | Value |
---|
latencyCritical | type: number format: float description: Threshold for ping response latency (in microseconds) to trigger critical alarm | latencyWarning | type: number format: float description: Threshold for ping response latency (in microseconds) to trigger warning alarm | packetLossCritical | type: number format: float description: Threshold for ping packet loss (in %) to trigger critical alarm | packetLossWarning | type: number format: float description: Threshold for ping packet loss (in %) to trigger warning alarm | jitterCritical | type: number format: float description: Threshold for ping jitter (in microseconds) to trigger critical alarm | jitterWarning | type: number format: float description: Threshold for ping jitter (in microseconds) to trigger critical alarm | httpLatencyCritical | type: number format: float description: Threshold for HTTP response latency (in microseconds) to trigger critical alarm | httpLatencyWarning | type: number format: float description: Threshold for HTTP response latency (in microseconds) to trigger warning alarm | httpValidCodes | type: array items: type: integer format: int64 description: List of HTTP status codes indicating healthy state | dnsValidCodes | type: array items: type: integer format: int64 description: List of DNS status codes indicating healthy state | latencyCriticalStddev | type: number format: float description: Threshold for standard deviation (in microseconds) of ping response latency to trigger critical alarm | latencyWarningStddev | type: number format: float description: Threshold for standard deviation (in microseconds) of ping response latency to trigger warning alarm | jitterCriticalStddev | type: number format: float description: Threshold for standard deviation of ping jitter (in microseconds) to trigger critical alarm | jitterWarningStddev | type: number format: float description: Threshold for standard deviation of ping jitter (in microseconds) to trigger warning alarm | httpLatencyCriticalStddev | type: number format: float description: Threshold for standard deviation of HTTP response latency (in microseconds) to trigger critical alarm | httpLatencyWarningStddev | type: number format: float description: Threshold for standard deviation of HTTP response latency (in microseconds) to trigger warning alarm | unhealthySubtestThreshold | type: integer format: int64 description: Number of tasks (across all agents) that must report unhealthy status in order for alarm to be triggered | activation | $ref: v202309ActivationSettings | certExpiryWarning | type: integer format: int64 description: Threshold for remaining validity of TLS certificate (in days) to trigger warning alarm | certExpiryCritical | type: integer format: int64 description: Threshold for remaining validity of TLS certificate (in days) to trigger critical alarm | dnsValidIps | type: string description: Comma separated list of IP addresses expected to be received in response to DNS A or AAAA query | dnsLatencyCritical | type: number format: float description: Threshold for DNS response latency (in microseconds) to trigger critical alarm | dnsLatencyWarning | type: number format: float description: Threshold for DNS response latency (in microseconds) to trigger warning alarm | dnsLatencyCriticalStddev | type: number format: float description: Threshold for standard deviation (in microseconds) of DNS response latency to trigger critical alarm | dnsLatencyWarningStddev | type: number format: float description: Threshold for standard deviation (in microseconds) of DNS response latency to trigger warning alarm | perAgentAlerting | type: boolean description: Boolean value indicating whether to use per-agent alerting | disabledMetrics | $ref: v202309DisabledMetrics | healthDisabled | type: boolean description: Disable all health evaluation for this test |
|
HostnameTest
Schema: v202309HostnameTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: Fully qualified DNS name of the target host |
|
IPFamily
Schema: v202309IPFamily | Type: string |
Attributes: Key | Value |
---|
enum | IP_FAMILY_UNSPECIFIED, IP_FAMILY_V4, IP_FAMILY_V6, IP_FAMILY_DUAL | default | IP_FAMILY_UNSPECIFIED | description | • IP_FAMILY_UNSPECIFIED: Invalid value. • IP_FAMILY_V4: IPv4 only • IP_FAMILY_V6: IPv6 only • IP_FAMILY_DUAL: IPv4 and IPv6 supported |
|
ImplementType
Schema: v202309ImplementType | Type: string |
Attributes: Key | Value |
---|
enum | IMPLEMENT_TYPE_UNSPECIFIED, IMPLEMENT_TYPE_RUST, IMPLEMENT_TYPE_NODE, IMPLEMENT_TYPE_NETWORK | default | IMPLEMENT_TYPE_UNSPECIFIED | description | • IMPLEMENT_TYPE_RUST: ksynth, a.k.a network agent (implemented in Rust) capable of running all tasks except for page-load and transaction • IMPLEMENT_TYPE_NODE: ksynth-agent, a.k.a. app agent (implemented in NodeJS) with Chromium enabled capable of running all tasks • IMPLEMENT_TYPE_NETWORK: ksynth-agent, a.k.a. app agent with Chromium disabled, capable of running all tasks except for page-load and transaction |
|
IpTest
Schema: v202309IpTest | Type: object |
Properties: Name | Value |
---|
targets | type: array items: type: string description: List of IP addresses of targets | useLocalIp | type: boolean description: Boolean value indicating whether to use local (private) IP address of the target agents |
|
ListAgentAlertsResponse
Schema: v202309ListAgentAlertsResponse | Type: object |
Properties: |
ListAgentsResponse
Schema: v202309ListAgentsResponse | Type: object |
Properties: Name | Value |
---|
agents | type: array items: $ref: v202309Agent description: List of available agents | invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data |
|
ListTestsResponse
Schema: v202309ListTestsResponse | Type: object |
Properties: Name | Value |
---|
tests | type: array items: $ref: v202309Test description: List of configured active or paused tests | invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data |
|
MetricData
Schema: v202309MetricData | Type: object |
Properties: Name | Value |
---|
current | type: integer format: int64 description: Current value of metric | rollingAvg | type: integer format: int64 description: Rolling average of metric | rollingStddev | type: integer format: int64 description: Rolling average of standard deviation of metric | health | type: string description: Health evaluation status for the metric (healthy | warning | critical) |
|
NetNode
Schema: v202309NetNode | Type: object |
Properties: Name | Value |
---|
ip | type: string description: IP address of the node in standard textual notation | asn | type: integer format: int64 description: AS number owning the address of the node | asName | type: string description: Name of the AS owning the address of the node | location | $ref: syntheticsv202309Location | dnsName | type: string description: DNS name of the node (obtained by reverse DNS resolution) | deviceId | type: string description: ID of the device corresponding with the node in Kentik configuration | siteId | type: string description: ID of the site containing the device corresponding with the node in Kentik configuration |
|
NetworkMeshTest
Schema: v202309NetworkMeshTest | Type: object |
Properties: Name | Value |
---|
useLocalIp | type: boolean description: Boolean value indicating whether to use local (private) IP address of the target agents |
|
PacketLossData
Schema: v202309PacketLossData | Type: object |
Properties: Name | Value |
---|
current | type: number format: double description: Current packet loss value | health | type: string description: Health evaluation status for the metric (healthy | warning | critical) |
|
PageLoadTest
Schema: v202309PageLoadTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: HTTP or HTTPS URL to request | timeout | type: integer format: int64 description: HTTP transaction timeout (in milliseconds) | headers | type: object additionalProperties: type: string description: Map of HTTP header values keyed by header names | ignoreTlsErrors | type: boolean description: Boolean indicating whether to ignore TLS certificate verification errors | cssSelectors | type: object additionalProperties: type: string description: Map of CSS selector values keyed by selector name |
|
Path
Schema: v202309Path | Type: object |
Properties: Name | Value |
---|
agentId | type: string description: ID of the agent generating the path data | targetIp | type: string description: IP address of the target of the path | hopCount | $ref: v202309Stats | maxAsPathLength | type: integer format: int32 description: Maximum length of AS path across all traces | traces | type: array items: $ref: v202309PathTrace description: Data for individual traces | time | type: string format: date-time description: Timestamp (UTC) of initiation of the path trace |
|
PathTrace
Schema: v202309PathTrace | Type: object |
Properties: Name | Value |
---|
asPath | type: array items: type: integer format: int32 description: AS path of the network trace | isComplete | type: boolean description: Indication whether response from target was received | hops | type: array items: $ref: v202309TraceHop description: List of hops in the trace |
|
PingResults
Schema: v202309PingResults | Type: object |
Properties: |
SetTestStatusRequest
Schema: v202309SetTestStatusRequest | Type: object |
Properties (* = required) Name | Value |
---|
id * | type: string description: ID of the test which status is to be modified | status | $ref: v202309TestStatus |
|
SetTestStatusResponse
Schema: v202309SetTestStatusResponse | Type: object |
Properties: None. |
Stats
Schema: v202309Stats | Type: object |
Properties: Name | Value |
---|
average | type: integer format: int32 description: Average value | min | type: integer format: int32 description: Minimum value | max | type: integer format: int32 description: Maximum value |
|
TaskResults
Schema: v202309TaskResults | Type: object |
Properties: |
Test
Schema: v202309Test | Type: object |
Properties: Name | Value |
---|
id | type: string description: Unique ID of the test readOnly: true | name | type: string description: User selected name of the test | type | type: string description: Type of the test | status | $ref: v202309TestStatus | settings | $ref: v202309TestSettings | cdate | type: string format: date-time description: Creation timestamp (UTC) readOnly: true | edate | type: string format: date-time description: Last modification timestamp (UTC) readOnly: true | createdBy | $ref: v202303UserInfo | lastUpdatedBy | $ref: v202303UserInfo | labels | type: array items: type: string description: Set of labels associated with the test |
|
TestPingSettings
Schema: v202309TestPingSettings | Type: object |
Properties: Name | Value |
---|
count | type: integer format: int64 description: Number of probe packets to send in one iteration | protocol | type: string description: Transport protocol to use (icmp | tcp) | port | type: integer format: int64 description: Target port for TCP probes (ignored for ICMP) | timeout | type: integer format: int64 description: Timeout in milliseconds for execution of the task | delay | type: number format: float description: Inter-probe delay in milliseconds | dscp | type: integer format: int64 description: DSCP code to be set in IP header of probe packets |
|
TestResults
Schema: v202309TestResults | Type: object |
Properties: Name | Value |
---|
testId | type: string description: ID of the test for which results are provided | time | type: string format: date-time description: Results timestamp (UTC) | health | type: string description: Health status of the test | agents | type: array items: $ref: v202309AgentResults description: List of results from agents executing tasks on behalf of the test |
|
TestSettings
Schema: v202309TestSettings | Type: object |
Properties: |
TestStatus
Schema: v202309TestStatus | Type: string |
Attributes: Name | Value |
---|
enum | TEST_STATUS_UNSPECIFIED, TEST_STATUS_ACTIVE, TEST_STATUS_PAUSED, TEST_STATUS_DELETED, TEST_STATUS_PREVIEW | default | TEST_STATUS_UNSPECIFIED | description | • TEST_STATUS_UNSPECIFIED: Invalid value. • TEST_STATUS_ACTIVE: Test is active. • TEST_STATUS_PAUSED: Test is paused. • TEST_STATUS_DELETED: Test is deleted. Not user settable. • TEST_STATUS_PREVIEW: Test is preview |
|
TestTraceSettings
Schema: v202309TestTraceSettings | Type: object |
Properties: Name | Value |
---|
count | type: integer format: int64 description: Number of probe packets to send in one iteration | protocol | type: string description: Transport protocol to use (icmp | tcp | udp) | port | type: integer format: int64 description: Target port for TCP or UDP probes (ignored for ICMP) | timeout | type: integer format: int64 description: Timeout in milliseconds for execution of the task | limit | type: integer format: int64 description: Maximum number of hops to probe (i.e. maximum TTL) | delay | type: number format: float description: Inter-probe delay in milliseconds | dscp | type: integer format: int64 description: DSCP code to be set in IP header of probe packets |
|
TraceHop
Schema: v202309TraceHop | Type: object |
Properties: Name | Value |
---|
latency | type: integer format: int32 description: Round-trip packet latency to the node (in microseconds) - 0 if no response was received | nodeId | type: string description: ID of the node for this hop in the Nodes map - empty if no response was received |
|
UpdateAgentAlertRequest
Schema: v202309UpdateAgentAlertRequest | Type: object |
Properties: Name | Value |
---|
id | type: string | thresholdSeconds | type: integer format: int64 | notificationChannelIds | type: array items: type: string |
|
UpdateAgentAlertResponse
Schema: v202309UpdateAgentAlertResponse | Type: object |
Properties: |
UpdateAgentRequest
Schema: v202309UpdateAgentRequest | Type: object |
Properties: |
UpdateAgentResponse
Schema: v202309UpdateAgentResponse | Type: object |
Properties: |
UpdateTestRequest
Schema: v202309UpdateTestRequest | Type: object |
Properties: |
UpdateTestResponse
Schema: v202309UpdateTestResponse | Type: object |
Properties: |
UrlTest
Schema: v202309UrlTest | Type: object |
Properties: Name | Value |
---|
target | type: string description: HTTP or HTTPS URL to request | timeout | type: integer format: int64 description: HTTP transaction timeout (in milliseconds) | method | type: string description: HTTP method to use (GET | HEAD | PATCH | POST | PUT) | headers | type: object additionalProperties: type: string description: Map of HTTP header values keyed by header names | body | type: string description: HTTP request body | ignoreTlsErrors | type: boolean description: Boolean indicating whether to ignore TLS certificate verification errors |
|
© 2014-25 Kentik