SolarWinds Logs MCP Server

  • 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