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\n[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": " Name of the website, which must be unique within the organization.\n 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": " Use this field to configure availability tests for the website.\n 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.\nYou 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": " Name of the website, which must be unique within the organization.\n 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": " Use this field to configure availability tests for the website.\n 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.\nYou 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": " Use this field to configure whether availability tests should check for presence or absence of a particular string on a page.\n If the operator is DOES_NOT_CONTAIN and the value is found on the page, the availability test will fail.\n Likewise, if the operator is CONTAINS and the value is not found on the page, the availability test will fail.\n 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": " Configure locations of the synthetic availability test probes.\n Acceptable values depend on the selected type and actual values of existing probes." }, "ssl": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/SslMonitoring" } ], "nullable": true, "description": " Configure monitoring of SSL/TLS certificates validity. This option is relevant for HTTPS protocol only.\n 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": " Configure custom request headers to be sent with each availability test. It is possible to provide multiple headers with the same name.\n If omitted, set to null or set to an empty array, no custom headers will be sent." }, "allowInsecureRenegotiation": { "type": "boolean", "description": " Allow insecure SSL renegotiation which introduces a security risk in the communication process.\n 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.\n Available only with HTTPS check.\n If omitted or set to null, insecure SSL renegotiation won't be allowed." }, "postData": { "type": "string", "nullable": true, "description": " Configure data that will be sent as POST request body by the synthetic probe.\n 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": " Default conditions when the entity is considered down.\n 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": " Whether SSL monitoring is enabled for the website.\n If set to false, SSL monitoring will be disabled, but the other settings will be remembered in case you re-enable it later.\n 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": " Use this option to limit the certificate expiration check to only the first certificate in the chain (normally the host certificate).\n This way you will not be warned about impending expiration of intermediate or root Certification Authority certificates in the chain.\n This option does not affect any other certificate validity checks besides expiration.\n 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": " Use this field to configure real user monitoring (RUM) for the website.\n 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 } }