SolarWinds Logs MCP Server
by jakenuts
- docs
openapi: 3.0.0
info:
title: SolarWinds Observability
contact:
name: SolarWinds Support
url: https://support.solarwinds.com
email: technicalsupport@solarwinds.com
license:
name: SolarWinds Software Services Agreement
url: https://www.solarwinds.com/legal/software-services-agreement
description: >-
SolarWinds Observability REST API
[Rest API
Documentation](https://documentation.solarwinds.com/en/success_center/observability/content/api/api-swagger.htm)
version: 1.0.5
tags:
- name: changeEvents
- name: dem
- name: entities
- name: entities/websites
- name: logs
- name: metrics
- name: metadata
- name: tokens
paths:
/v1/changeevents:
post:
operationId: createChangeEvent
summary: Create an event
parameters: []
responses:
'200':
description: The ID of the created event
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: integer
format: int64
readOnly: true
tags:
- changeEvents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeEvent'
description: The created change event
/v1/dem/settings:
get:
operationId: getDemSettings
summary: Get DEM settings
parameters: []
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/OutageConfiguration'
tags:
- dem
put:
operationId: setDemSettings
summary: Set DEM settings
parameters: []
responses:
'200':
description: The request has succeeded.
tags:
- dem
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OutageConfiguration'
description: Default conditions when an entity is considered down.
/v1/dem/websites:
post:
operationId: createWebsite
summary: Create website monitoring configuration
parameters: []
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Website'
description: The created website monitoring configuration
/v1/dem/websites/{entityId}:
get:
operationId: getWebsite
summary: Get website monitoring configuration
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
type:
type: string
example: Website
status:
allOf:
- $ref: '#/components/schemas/AvailabilityStatus'
example: up
name:
type: string
description: |2-
Name of the website, which must be unique within the organization.
The website must also not contain any control characters, any white space other than space (U+0020), or any consecutive, leading or trailing spaces.
example: solarwinds.com
url:
type: string
description: >-
URL of the website. Must be a valid URL with no leading or
trailing white space. Must not contain invalid port number
(>65535).
example: https://www.solarwinds.com
availabilityCheckSettings:
type: object
allOf:
- $ref: '#/components/schemas/AvailabilityCheckSettings'
nullable: true
description: |2-
Use this field to configure availability tests for the website.
You are required to configure at least availability monitoring or real user monitoring to be able to create website.
example:
checkForString:
operator: CONTAINS
value: string
testIntervalInSeconds: 14400
protocols:
- HTTP
- HTTPS
platformOptions:
probePlatforms:
- AWS
testFromAll: true
testFrom:
type: REGION
values:
- NA
ssl:
enabled: true
daysPriorToExpiration: 7
ignoreIntermediateCertificates: true
customHeaders:
- name: string
value: string
allowInsecureRenegotiation: true
postData: '{"example": "value"}'
outageConfiguration:
failingTestLocations: all
consecutiveForDown: 3
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: >-
Entity tags. Tag is a key-value pair, where there may be
only single tag value for the same key.
example:
- key: environment
value: production
rum:
type: object
properties:
apdexTimeInSeconds:
type: integer
format: int32
snippet:
type: string
spa:
type: boolean
required:
- spa
description: >-
Use this field to configure real user monitoring (RUM) for
the website.
You are required to configure at least availability
monitoring or real user monitoring to be able to create
website.
example:
apdexTimeInSeconds: 4
snippet: string
spa: true
lastOutageStartTime:
type: string
nullable: true
format: date-time
description: Time when the last outage started.
example: '2025-01-15T14:31:19.735Z'
lastOutageEndTime:
type: string
nullable: true
format: date-time
description: Time when the last outage ended.
example: '2025-01-15T14:31:19.735Z'
lastTestTime:
type: string
nullable: true
format: date-time
description: Time when the last test was performed.
example: '2025-01-15T14:31:19.735Z'
lastErrorTime:
type: string
nullable: true
format: date-time
description: Last time when a synthetic test failed.
example: '2025-01-15T14:31:19.735Z'
lastResponseTime:
type: integer
format: int32
nullable: true
description: >-
Response time from the last synthetic check in
milliseconds.
example: 376
nextOnDemandAvailabilityTime:
type: integer
format: int32
description: >-
Timestamp for when the next on-demand check could be
executed. If at '0', it means you can execute it anytime.
example: 0
required:
- id
- type
- status
- name
- url
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
put:
operationId: updateWebsite
summary: Update website monitoring configuration
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Website'
description: The updated website monitoring configuration
delete:
operationId: deleteWebsite
summary: Delete website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
/v1/dem/websites/{entityId}/pauseMonitoring:
put:
operationId: pauseWebsiteMonitoring
summary: Pause monitoring of a website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
/v1/dem/websites/{entityId}/unpauseMonitoring:
put:
operationId: unpauseWebsiteMonitoring
summary: Unpause monitoring of a website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- dem
/v1/entities:
get:
operationId: listEntities
summary: >-
Get a list of entities by type. A returned empty list indicates no
entities matched the given parameters.
parameters:
- name: type
in: query
required: true
description: The entity type to search for
schema:
type: string
explode: false
- name: name
in: query
required: false
description: The entity name to search for
schema:
type: string
explode: false
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
entities:
type: array
items:
$ref: '#/components/schemas/Entity'
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- entities
- pageInfo
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'401':
description: Access is unauthorized.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'501':
description: Server error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/entities/websites:
post:
operationId: createWebsiteDeprecated
summary: Create website
parameters: []
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
required:
- id
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Website'
description: The Website configuration object
deprecated: true
x-speakeasy-ignore: true
/v1/entities/websites/{entityId}:
get:
operationId: getWebsiteDeprecated
summary: Get website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
type:
type: string
example: Website
status:
allOf:
- $ref: '#/components/schemas/AvailabilityStatus'
example: up
name:
type: string
description: |2-
Name of the website, which must be unique within the organization.
The website must also not contain any control characters, any white space other than space (U+0020), or any consecutive, leading or trailing spaces.
example: solarwinds.com
url:
type: string
description: >-
URL of the website. Must be a valid URL with no leading or
trailing white space. Must not contain invalid port number
(>65535).
example: https://www.solarwinds.com
availabilityCheckSettings:
type: object
allOf:
- $ref: '#/components/schemas/AvailabilityCheckSettings'
nullable: true
description: |2-
Use this field to configure availability tests for the website.
You are required to configure at least availability monitoring or real user monitoring to be able to create website.
example:
checkForString:
operator: CONTAINS
value: string
testIntervalInSeconds: 14400
protocols:
- HTTP
- HTTPS
platformOptions:
probePlatforms:
- AWS
testFromAll: true
testFrom:
type: REGION
values:
- NA
ssl:
enabled: true
daysPriorToExpiration: 7
ignoreIntermediateCertificates: true
customHeaders:
- name: string
value: string
allowInsecureRenegotiation: true
postData: '{"example": "value"}'
outageConfiguration:
failingTestLocations: all
consecutiveForDown: 3
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: >-
Entity tags. Tag is a key-value pair, where there may be
only single tag value for the same key.
example:
- key: environment
value: production
rum:
type: object
properties:
apdexTimeInSeconds:
type: integer
format: int32
snippet:
type: string
spa:
type: boolean
required:
- spa
description: >-
Use this field to configure real user monitoring (RUM) for
the website.
You are required to configure at least availability
monitoring or real user monitoring to be able to create
website.
example:
apdexTimeInSeconds: 4
snippet: string
spa: true
lastOutageStartTime:
type: string
nullable: true
format: date-time
description: Time when the last outage started.
example: '2025-01-15T14:31:19.735Z'
lastOutageEndTime:
type: string
nullable: true
format: date-time
description: Time when the last outage ended.
example: '2025-01-15T14:31:19.735Z'
lastTestTime:
type: string
nullable: true
format: date-time
description: Time when the last test was performed.
example: '2025-01-15T14:31:19.735Z'
lastErrorTime:
type: string
nullable: true
format: date-time
description: Last time when a synthetic test failed.
example: '2025-01-15T14:31:19.735Z'
lastResponseTime:
type: integer
format: int32
nullable: true
description: >-
Response time from the last synthetic check in
milliseconds.
example: 376
nextOnDemandAvailabilityTime:
type: integer
format: int32
description: >-
Timestamp for when the next on-demand check could be
executed. If at '0', it means you can execute it anytime.
example: 0
required:
- id
- type
- status
- name
- url
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
deprecated: true
x-speakeasy-ignore: true
put:
operationId: updateWebsiteDeprecated
summary: Update website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
required:
- id
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Website'
description: The website configuration object
deprecated: true
x-speakeasy-ignore: true
delete:
operationId: deleteWebsiteDeprecated
summary: Delete website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
required:
- id
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
deprecated: true
x-speakeasy-ignore: true
/v1/entities/websites/{entityId}/pauseMonitoring:
put:
operationId: pauseWebsiteMonitoringDeprecated
summary: Pause monitoring of a website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
required:
- id
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
deprecated: true
x-speakeasy-ignore: true
/v1/entities/websites/{entityId}/unpauseMonitoring:
put:
operationId: unpauseWebsiteMonitoringDeprecated
summary: Unpause monitoring of a website
parameters:
- $ref: '#/components/parameters/Common.EntityIdParam'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: e-1448474379026206720
required:
- id
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities/websites
deprecated: true
x-speakeasy-ignore: true
/v1/entities/{id}:
get:
operationId: getEntityById
summary: Get an entity by ID
parameters:
- name: id
in: path
required: true
description: The entity's ID
schema:
type: string
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Entity'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'401':
description: Access is unauthorized.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'501':
description: Server error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities
put:
operationId: updateEntityById
summary: Update an entity by ID
parameters:
- name: id
in: path
required: true
description: The entity's ID
schema:
type: string
responses:
'202':
description: >-
The request has been accepted for processing, but processing has not
yet completed.
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'401':
description: Access is unauthorized.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'501':
description: Server error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- entities
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Entity'
description: >-
Entity properties to update. The entire representation of the entity
as to be stored must be provided in the request.
/v1/logs:
get:
operationId: searchLogs
summary: Search logs
description: Search logs within a time period
parameters:
- name: filter
in: query
required: false
description: A search query string
schema:
type: string
explode: false
- name: group
in: query
required: false
description: Filter logs by a specific group name
schema:
type: string
explode: false
- name: entityId
in: query
required: false
description: Filter logs by a specific entity id
schema:
type: string
explode: false
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
- name: direction
in: query
required: false
description: >-
Search direction: backward, forward, or tail. Backward sorts logs
from oldest to newest, forward sorts logs from newest to oldest, and
tail sorts from oldest to newest.
schema:
type: string
default: backward
explode: false
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
logs:
type: array
items:
$ref: '#/components/schemas/LogsEvent'
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- logs
- pageInfo
tags:
- logs
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/logs/archives:
get:
operationId: listLogArchives
summary: Retrieve location and metadata of log archives
description: Retrieves a list of log archives within a time period.
parameters:
- $ref: '#/components/parameters/LogsTimeRangeParams.startTime'
- $ref: '#/components/parameters/LogsTimeRangeParams.endTime'
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
logArchives:
type: array
items:
$ref: '#/components/schemas/LogsArchive'
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- logArchives
- pageInfo
tags:
- logs
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/metadata/entities/types:
get:
operationId: listEntityTypes
summary: List all entity types
description: List all available entity types.
parameters: []
responses:
'200':
description: List of entity types
content:
application/json:
schema:
type: object
properties:
types:
type: array
items:
type: string
example:
- Service
- ServiceInstance
- KubernetesCluster
required:
- types
tags:
- metadata
/v1/metadata/entities/types/{type}/metrics:
get:
operationId: listMetricsForEntityType
summary: List metrics metadata for an entity type
description: >-
List metrics metadata for an entity type between a start and end time.
If start time and end time unspecified, a default time range is be
applied. An empty list indicates no metrics matched the given
parameters.
parameters:
- name: type
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
type:
type: string
example: KubernetesCluster
metrics:
type: array
items:
$ref: '#/components/schemas/Common.MetricInfo'
description: >-
A list of metrics and their metadata. An empty list
indicates no metrics matched the given parameters.
example:
- name: composite.k8s.pod.container.status.restarts.increase
units: count
formula: >-
increase(k8s.kube_pod_container_status_restarts_total[5m])
lastReportedTime: '2021-01-01T00:00:00Z'
required:
- type
- metrics
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metadata
/v1/metrics:
get:
operationId: listMetrics
summary: List metrics
description: 'List metrics available within a time period. '
parameters:
- name: name
in: query
required: false
description: metric name
schema:
type: string
explode: false
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
metricsInfo:
type: array
items:
$ref: '#/components/schemas/Common.MetricInfo'
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- metricsInfo
- pageInfo
tags:
- metrics
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
post:
operationId: createCompositeMetric
summary: Create composite metric
description: Create a composite metric given a PromQL query
parameters: []
responses:
'201':
description: >-
The request has succeeded and a new resource has been created as a
result.
content:
application/json:
schema:
$ref: '#/components/schemas/CompositeMetric'
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'403':
description: Access is forbidden.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'501':
description: Server error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompositeMetric'
/v1/metrics/{name}:
put:
operationId: updateCompositeMetric
summary: Update composite metric
description: Update a composite metric given a metric name
parameters:
- name: name
in: path
required: true
description: The metric name
schema:
type: string
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/CompositeMetric'
'202':
description: >-
The request has been accepted for processing, but processing has not
yet completed.
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'401':
description: Access is unauthorized.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'501':
description: Server error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCompositeMetric'
description: Metric properties to update
delete:
operationId: deleteCompositeMetric
summary: Delete composite metric
description: Delete a composite metric given a metric name
parameters:
- name: name
in: path
required: true
description: The metric name
schema:
type: string
responses:
'200':
description: The request has succeeded.
'204':
description: >-
There is no content to send for this request, but the headers may be
useful.
'400':
description: The server could not understand the request due to invalid syntax.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
'403':
description: Access is forbidden.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
get:
operationId: getMetricByName
summary: Get metric info by name
description: Get info about a metric
parameters:
- name: name
in: path
required: true
description: metric name
schema:
type: string
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Common.MetricInfo'
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/metrics/{name}/attributes:
get:
operationId: listMetricAttributes
summary: List metric attribute names
description: List attribute names for a given metric.
parameters:
- name: name
in: path
required: true
description: metric name
schema:
type: string
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
names:
type: array
items:
type: string
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- names
- pageInfo
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/metrics/{name}/attributes/{attributeName}:
get:
operationId: listMetricAttributeValues
summary: List metric attribute values
description: List the values of a given metric's attribute.
parameters:
- name: name
in: path
required: true
description: metric name
schema:
type: string
- name: attributeName
in: path
required: true
description: attribute name
schema:
type: string
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
name:
type: string
values:
type: array
items:
type: string
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- name
- values
- pageInfo
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/metrics/{name}/measurements:
get:
operationId: listMetricMeasurements
summary: >-
List metric measurement values, grouped by attributes, filtered by the
filter. An empty list indicates no data points are available for the
given parameters.
parameters:
- name: name
in: path
required: true
description: metric name
schema:
type: string
- name: filter
in: query
required: false
description: >-
Query to filter the measurement values. e.g id: [id1,id2] category:
moderate
schema:
type: string
explode: false
- name: groupBy
in: query
required: false
description: >-
Comma-delimited list of attribute names to group measurements by.
e.g id, category
schema:
type: string
explode: false
- name: aggregateBy
in: query
required: false
description: Aggregation method used to group measurements
schema:
$ref: '#/components/schemas/MetricsAggregationMethods'
default: AVG
explode: false
- name: bucketSizeInSeconds
in: query
required: false
description: >-
This parameter is deprecated. Bucket size is determined by the API
layer.
schema:
type: integer
format: int32
explode: false
deprecated: true
- name: preGroupBy
in: query
required: false
description: >-
Secondary grouping to allow aggregating data points inside
individual buckets. Has to be set together with `preGroupByMethod`
schema:
type: string
explode: false
- name: preGroupByMethod
in: query
required: false
description: >-
Secondary aggregation to allow aggregating data points inside
individual buckets. Has to be set together with `preGroupBy`
schema:
type: string
explode: false
- name: seriesType
in: query
required: true
description: Indicates what type of data to return.
schema:
$ref: '#/components/schemas/MetricSeriesType'
default: TIMESERIES
explode: false
- $ref: '#/components/parameters/Common.TimeRangeParams.startTime'
- $ref: '#/components/parameters/Common.TimeRangeParams.endTime'
- $ref: '#/components/parameters/Common.PageParams.pageSize'
- $ref: '#/components/parameters/Common.PageParams.skipToken'
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
groupings:
type: array
items:
$ref: '#/components/schemas/MetricsGrouping'
bucketSizeInSeconds:
type: integer
format: int32
pageInfo:
$ref: '#/components/schemas/Common.PageInfo'
required:
- groupings
- bucketSizeInSeconds
- pageInfo
'404':
description: The server cannot find the requested resource.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
description: HTTP status code as defined in RFC 2817
example: 404
message:
type: string
description: Supporting description of the error
example: Entity does not exist
target:
type: string
required:
- code
- message
tags:
- metrics
x-speakeasy-pagination:
type: url
outputs:
nextUrl: $.pageInfo.nextPage
/v1/tokens:
post:
operationId: createToken
summary: Create ingestion token
parameters: []
responses:
'200':
description: The request has succeeded.
content:
application/json:
schema:
type: object
properties:
token:
type: string
required:
- token
'401':
description: Access is unauthorized.
'403':
description: Access is forbidden.
'500':
description: Server error
'503':
description: Service unavailable.
tags:
- tokens
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTokenRequest'
description: Requested token's properties
security:
- BearerAuth: []
components:
parameters:
Common.EntityIdParam:
name: entityId
in: path
required: true
schema:
type: string
Common.PageParams.pageSize:
name: pageSize
in: query
required: false
description: Number of items in a response page. Default varies by API.
schema:
type: integer
format: int32
explode: false
Common.PageParams.skipToken:
name: skipToken
in: query
required: false
description: Token for the requested page
schema:
type: string
explode: false
Common.TimeRangeParams.endTime:
name: endTime
in: query
required: false
description: 'Timestamp in ISO 8601 format in UTC timezone: yyyy-MM-ddTHH:mm:ssZ'
schema:
type: string
format: date-time
explode: false
Common.TimeRangeParams.startTime:
name: startTime
in: query
required: false
description: 'Timestamp in ISO 8601 format in UTC timezone: yyyy-MM-ddTHH:mm:ssZ'
schema:
type: string
format: date-time
explode: false
LogsTimeRangeParams.endTime:
name: endTime
in: query
required: true
description: >-
List archives ending at this time. Timestamp in ISO 8601 format in UTC
timezone: yyyy-MM-ddTHH:mm:ssZ. Must be within the the last year.
schema:
type: string
explode: false
LogsTimeRangeParams.startTime:
name: startTime
in: query
required: true
description: >-
List archives beginning at this time. Timestamp in ISO 8601 format in
UTC timezone: yyyy-MM-ddTHH:mm:ssZ. Must be within the the last year.
schema:
type: string
explode: false
schemas:
AvailabilityCheckSettings:
type: object
required:
- testIntervalInSeconds
- protocols
- testFrom
properties:
checkForString:
type: object
allOf:
- $ref: '#/components/schemas/CheckForString'
nullable: true
description: |2-
Use this field to configure whether availability tests should check for presence or absence of a particular string on a page.
If the operator is DOES_NOT_CONTAIN and the value is found on the page, the availability test will fail.
Likewise, if the operator is CONTAINS and the value is not found on the page, the availability test will fail.
If omitted or set to null, the string checking functionality will be disabled.
testIntervalInSeconds:
type: integer
format: int32
maximum: 14400
description: >-
Configure how often availability tests should be performed. Provide
a number of seconds that is divisible by 60 and no greater than
14400 (4 hours).
protocols:
type: array
items:
$ref: '#/components/schemas/WebsiteProtocol'
description: >-
Configure which protocols need availability tests to be performed.
At least one protocol must be provided.
platformOptions:
allOf:
- $ref: '#/components/schemas/ProbePlatformOptions'
description: >-
Configure cloud platforms of the synthetic availability test probes.
If omitted or set to null, no particular cloud platform will be
enforced.
testFrom:
allOf:
- $ref: '#/components/schemas/TestFrom'
description: |2-
Configure locations of the synthetic availability test probes.
Acceptable values depend on the selected type and actual values of existing probes.
ssl:
type: object
allOf:
- $ref: '#/components/schemas/SslMonitoring'
nullable: true
description: |2-
Configure monitoring of SSL/TLS certificates validity. This option is relevant for HTTPS protocol only.
If omitted or set to null, SSL monitoring will be disabled and its previous configuration discarded.
customHeaders:
type: array
items:
$ref: '#/components/schemas/CustomHeaders'
nullable: true
description: |2-
Configure custom request headers to be sent with each availability test. It is possible to provide multiple headers with the same name.
If omitted, set to null or set to an empty array, no custom headers will be sent.
allowInsecureRenegotiation:
type: boolean
description: |2-
Allow insecure SSL renegotiation which introduces a security risk in the communication process.
Checking this option could lead to exposing credentials to unauthorized entities and the possibility of unauthorized access, interception, or manipulation of sensitive data, compromising the integrity and security of the communication channel.
Available only with HTTPS check.
If omitted or set to null, insecure SSL renegotiation won't be allowed.
postData:
type: string
nullable: true
description: |2-
Configure data that will be sent as POST request body by the synthetic probe.
If omitted or set to null/empty string, the probe will send the usual GET requests.
outageConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/OutageConfiguration'
nullable: true
description: |2-
Default conditions when the entity is considered down.
If omitted or set to null, organization configuration will be used for this entity.
AvailabilityStatus:
type: string
enum:
- up
- down
- paused
- maintenance
- unknown
ChangeEvent:
type: object
required:
- name
- title
properties:
id:
type: integer
format: int64
description: >-
Optional ID of the event. It is recommended to leave this empty when
creating a new event so that a unique ID will be generated
example: 1731676626
name:
type: string
maxLength: 100
description: >-
The name of the event. Can be used as a category or type of event.
Does not need to be unique.
example: app-deploys
title:
type: string
maxLength: 250
description: A short, high-level summary of the event.
example: deployed v45
timestamp:
type: integer
format: int64
description: >-
Timestamp of the event in seconds since the epoch. Defaults to the
current time.
example: 1731676626
source:
type: string
description: >-
Description of the event's origination. For example, a hostname,
user, or application name.
example: foo3.example.com
description:
type: string
description: >-
Extra metadata about the event describing the specifics of the
event.
parentEventId:
type: integer
format: int64
description: The id of the parent event
tags:
type: object
additionalProperties:
type: string
description: A set of key-value pairs that describe the event
example:
app: foo
environment: production
links:
type: array
items:
$ref: '#/components/schemas/Common.Link'
description: A set of links to related resources
example:
- href: https://example.com
rel: self
CheckForString:
type: object
required:
- operator
- value
properties:
operator:
allOf:
- $ref: '#/components/schemas/CheckForStringOperator'
description: >-
Defines whether the check should pass only when the string is
present on the page (CONTAINS) or only when it is absent
(DOES_NOT_CONTAIN).
value:
type: string
description: The string that which will be searched in the page source code.
CheckForStringOperator:
type: string
enum:
- CONTAINS
- DOES_NOT_CONTAIN
Common.KeyValuePair:
type: object
required:
- key
- value
properties:
key:
type: string
value:
type: string
Common.Link:
type: object
required:
- rel
- href
properties:
rel:
type: string
href:
type: string
label:
type: string
Common.MetricInfo:
type: object
required:
- name
- units
- lastReportedTime
properties:
name:
type: string
description: Name of the metric
example: composite.k8s.pod.container.status.restarts.increase
units:
type: string
description: Units of the metric
example: count
formula:
type: string
description: Formula of the metric
example: increase(k8s.kube_pod_container_status_restarts_total[5m])
lastReportedTime:
type: string
description: Last reported time of the metric
example: '2021-01-01T00:00:00Z'
Common.PageInfo:
type: object
required:
- prevPage
- nextPage
properties:
prevPage:
type: string
nextPage:
type: string
CompositeMetric:
type: object
required:
- name
- displayName
- description
- formula
- units
properties:
name:
type: string
description: Name of the composite metric
example: composite.custom.system.disk.io.rate
displayName:
type: string
description: >-
Display name of the composite metric. A short description of the
metric.
example: Disk IO rate
description:
type: string
description: >-
Description of the composite metric. A detailed description of the
metric.
example: Disk bytes transferred per second
formula:
type: string
description: PromQL query to calculate the composite metric
example: rate(system.disk.io[5m])
units:
type: string
description: Unit of the composite metric
example: bytes/s
CreateTokenRequest:
type: object
required:
- name
- tags
- type
properties:
name:
type: string
tags:
type: object
properties:
server:
type: string
tag_without_value:
type: string
required:
- server
- tag_without_value
type:
type: string
enum:
- ingestion
CustomHeaders:
type: object
required:
- name
- value
properties:
name:
type: string
description: >-
Name of a request header. Must contain only characters allowed by
RFC: a-z, A-Z, 0-9, - and _.
value:
type: string
description: Value of a request header.
EmptyObject:
type: object
Entity:
type: object
required:
- id
- type
- lastSeenTime
- inMaintenance
- tags
properties:
id:
type: string
description: The ID of the entity.
example: e-1234567890
readOnly: true
type:
type: string
description: The type of the entity.
example: SyslogHost
readOnly: true
name:
type: string
description: The name of the entity.
example: syslog-host-1
readOnly: true
displayName:
type: string
nullable: true
description: >-
Entity display name / alias. This value is equal to name unless it
is explicitly overridden.
example: SyslogTest
createdTime:
type: string
format: date-time
description: Date and time of entity creation in UTC.
example: '2024-11-25T16:38:24Z'
readOnly: true
updatedTime:
type: string
format: date-time
description: Date and time of last entity update in UTC.
example: '2024-12-01T16:38:24Z'
readOnly: true
lastSeenTime:
type: string
format: date-time
description: Date and time when the entity has last received telemetry in UTC.
example: '2024-11-25T16:38:24Z'
readOnly: true
inMaintenance:
type: boolean
description: Flag telling if given entity is in maintenance mode.
example: false
readOnly: true
healthscore:
allOf:
- $ref: '#/components/schemas/HealthScore'
example:
score: 100
category: good
readOnly: true
tags:
type: object
additionalProperties:
type: string
nullable: true
description: >-
Entity tags. Tag is a key-value pair, where there may be only a
single tag value for the same key.
example:
gg.tk.token: test
kfi.tk.token: qa-test
attributes:
type: object
additionalProperties: {}
description: Map of available attributes.
example:
protocols:
- HTTP
features:
- rum
isAvailabilityCheckPaused: false
extensions:
has_extension: true
readOnly: true
EntityId:
type: object
required:
- id
properties:
id:
type: string
readOnly: true
example:
id: e-1448474379026206720
FailingTestLocations:
type: string
enum:
- all
- any
HealthScore:
type: object
required:
- score
- category
properties:
score:
type: integer
format: int32
description: Health score value from 0 to 100.
category:
type: string
enum:
- good
- bad
- moderate
description: Health Score category label.
LogsArchive:
type: object
required:
- id
- name
- downloadUrl
- archivedTimestamp
- archiveSize
properties:
id:
type: string
description: The unique identifier of the log archive
example: logs/138723/dt=2024-01-23/2024-01-23-08.json.gz
name:
type: string
description: The name of the log archive
example: 2024-01-23-08.json.gz
downloadUrl:
type: string
description: The download URL of the log archive
example: >-
https://ssp-log-archives.s3.amazonaws.com/logs/138723/dt%3D2024-01-23/2024-01-23-08.json.gz?X-Amz-Security-Token=IQ...
archivedTimestamp:
type: string
description: The timestamp of when the log archive was created in epoch time
example: '1706020985'
archiveSize:
type: integer
format: int32
description: The size of the archive
example: 817226354
LogsEvent:
type: object
required:
- id
- time
- message
- hostname
- severity
- program
properties:
id:
type: string
example: '1793698955374546944'
time:
type: string
example: '2024-01-01T00:00:00Z'
message:
type: string
example: This is a log message
hostname:
type: string
example: webserver.example.com
severity:
type: string
example: INFO
program:
type: string
example: httpd
MetricSeriesType:
type: string
enum:
- TIMESERIES
- SCALAR
MetricsAggregationMethods:
type: string
enum:
- COUNT
- MIN
- MAX
- AVG
- SUM
- LAST
MetricsGrouping:
type: object
required:
- attributes
- measurements
properties:
attributes:
type: array
items:
$ref: '#/components/schemas/Common.KeyValuePair'
measurements:
type: array
items:
$ref: '#/components/schemas/MetricsMeasurement'
description: An empty list indicates no data points are available.
MetricsMeasurement:
type: object
required:
- time
- value
properties:
time:
type: string
format: date-time
description: Time of the measurement
value:
type: number
format: double
description: Value of the measurement
MetricsQueryParams:
type: object
properties:
startTime:
type: string
format: date-time
description: 'Timestamp in ISO 8601 format in UTC timezone: yyyy-MM-ddTHH:mm:ssZ'
endTime:
type: string
format: date-time
description: 'Timestamp in ISO 8601 format in UTC timezone: yyyy-MM-ddTHH:mm:ssZ'
pageSize:
type: integer
format: int32
description: Number of items in a response page. Default varies by API.
example: 100
skipToken:
type: string
description: Token for the requested page
example: >-
https://api.na-01.cloud.solarwinds.com/v1/logs/archives?skipToken=...
OutageConfiguration:
type: object
required:
- failingTestLocations
- consecutiveForDown
properties:
failingTestLocations:
allOf:
- $ref: '#/components/schemas/FailingTestLocations'
description: >-
How many locations must report a failure for an entity to be
considered down.
example: all
consecutiveForDown:
type: integer
format: int32
minimum: 1
description: >-
Number of consecutive failing tests for an entity to be considered
down.
example: 2
ProbeLocationType:
type: string
enum:
- REGION
- COUNTRY
- CITY
ProbePlatform:
type: string
enum:
- AWS
- AZURE
- GOOGLE_CLOUD
ProbePlatformOptions:
type: object
required:
- probePlatforms
properties:
probePlatforms:
type: array
items:
$ref: '#/components/schemas/ProbePlatform'
description: Cloud platforms hosting synthetic probes.
testFromAll:
type: boolean
SetDemSettingsResponse:
type: object
SslMonitoring:
type: object
properties:
enabled:
type: boolean
nullable: true
description: |2-
Whether SSL monitoring is enabled for the website.
If set to false, SSL monitoring will be disabled, but the other settings will be remembered in case you re-enable it later.
If omitted, the previous setting will stay in effect. If there is no previous setting, the value will default to false.
daysPriorToExpiration:
type: integer
format: int32
nullable: true
description: >-
Number of days before the expiration date an SSL certificate will be
considered 'expiring.'
ignoreIntermediateCertificates:
type: boolean
nullable: true
description: |2-
Use this option to limit the certificate expiration check to only the first certificate in the chain (normally the host certificate).
This way you will not be warned about impending expiration of intermediate or root Certification Authority certificates in the chain.
This option does not affect any other certificate validity checks besides expiration.
If omitted, the previous setting will stay in effect. If there is no previous setting, the value will default to false.
Tag:
type: object
required:
- key
- value
properties:
key:
type: string
value:
type: string
example:
key: environment
value: production
TestFrom:
type: object
required:
- type
- values
properties:
type:
allOf:
- $ref: '#/components/schemas/ProbeLocationType'
description: >-
Specificity for location of synthetic probes to be used for
availability tests.
values:
type: array
items:
type: string
description: >-
A list of probe location values of the selected type. At least one
value matching an existing probe must be provided.
example:
type: REGION
values:
- NA
UpdateCompositeMetric:
type: object
required:
- displayName
- description
- formula
- units
properties:
displayName:
type: string
description: >-
Display name of the composite metric. A short description of the
metric.
example: Disk IO rate
description:
type: string
description: >-
Description of the composite metric. A detailed description of the
metric.
example: Disk bytes transferred per second
formula:
type: string
description: PromQL query to calculate the composite metric
example: rate(system.disk.io[5m])
units:
type: string
description: Unit of the composite metric
example: bytes/s
Versions:
type: string
enum:
- 1.0.0
- 1.0.1
- 1.0.2
- 1.0.3
- 1.0.4
- 1.0.5
- 1.0.6-pre
Website:
type: object
required:
- name
- url
properties:
name:
type: string
description: >-
Name of the website, which must be unique within the organization.
The website must also not contain any control characters, any white
space other than space (U+0020), or any consecutive, leading or
trailing spaces.
url:
type: string
description: >-
URL of the website. Must be a valid URL with no leading or trailing
white space. Must not contain invalid port number (>65535).
availabilityCheckSettings:
type: object
allOf:
- $ref: '#/components/schemas/AvailabilityCheckSettings'
nullable: true
description: Use this field to configure availability tests for the website.
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: >-
Entity tags. Tag is a key-value pair, where there may be only single
tag value for the same key.
rum:
type: object
properties:
apdexTimeInSeconds:
type: integer
format: int32
spa:
type: boolean
required:
- spa
description: |2-
Use this field to configure real user monitoring (RUM) for the website.
You are required to configure at least availability monitoring or real user monitoring to be able to create website.
example:
name: solarwinds.com
url: https://www.solarwinds.com
availabilityCheckSettings:
checkForString:
operator: CONTAINS
value: string
testIntervalInSeconds: 14400
protocols:
- HTTP
- HTTPS
platformOptions:
probePlatforms:
- AWS
testFromAll: true
testFrom:
type: REGION
values:
- NA
ssl:
enabled: true
daysPriorToExpiration: 7
ignoreIntermediateCertificates: true
customHeaders:
- name: string
value: string
allowInsecureRenegotiation: true
postData: '{"example": "value"}'
tags:
- key: string
value: string
rum:
apdexTimeInSeconds: 4
spa: true
WebsiteProtocol:
type: string
enum:
- HTTP
- HTTPS
description: Protocol to perform availability checks for.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
servers:
- url: https://api.na-01.cloud.solarwinds.com
description: Regional endpoint
variables:
region:
default: na-01
description: Region name
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 500
maxInterval: 60000
maxElapsedTime: 3600000
exponent: 1.5
statusCodes:
- 5XX
retryConnectionErrors: true