Skip to content

Instantly share code, notes, and snippets.

@browniefed
Created April 4, 2024 18:09
Show Gist options
  • Save browniefed/4dd6cb7f6fbfe295ad6be59506f3cc5d to your computer and use it in GitHub Desktop.
Save browniefed/4dd6cb7f6fbfe295ad6be59506f3cc5d to your computer and use it in GitHub Desktop.
{
"openapi": "3.0.1",
"info": {
"description": "The Cortex REST API provides programmatic access to the data in the catalog, Scorecards, and more.",
"title": "Cortex API",
"version": "v1"
},
"servers": [
{
"url": "https://api.getcortexapp.com",
"description": "Cortex Cloud API host"
}
],
"security": [
{
"bearerAuth": []
}
],
"tags": [
{
"name": "Audit Logs"
},
{
"name": "Catalog Entities"
},
{
"name": "Custom Data"
},
{
"name": "Custom Data [Advanced]"
},
{
"name": "Custom Events"
},
{
"name": "Dependencies"
},
{
"name": "Deploys"
},
{
"name": "Discovery Audit"
},
{
"name": "Docs"
},
{
"name": "Entity Types"
},
{
"name": "GitOps Logs"
},
{
"name": "Groups"
},
{
"name": "Groups Hierarchy"
},
{
"name": "IP Allowlist"
},
{
"name": "On-call"
},
{
"name": "Packages"
},
{
"name": "Plugins"
},
{
"name": "Queries"
},
{
"name": "Scorecards"
},
{
"name": "Teams"
},
{
"name": "Teams Hierarchies"
},
{
"name": "Teams [Advanced]"
},
{
"name": "Teams [Departments] (legacy)"
},
{
"name": "[Integrations] AWS"
},
{
"name": "[Integrations] Azure Resources"
},
{
"name": "[Integrations] Coralogix"
},
{
"name": "[Integrations] Datadog"
},
{
"name": "[Integrations] GitHub"
},
{
"name": "[Integrations] GitLab"
},
{
"name": "[Integrations] Incident.io"
},
{
"name": "[Integrations] LaunchDarkly"
},
{
"name": "[Integrations] New Relic"
},
{
"name": "[Integrations] PagerDuty"
},
{
"name": "[Integrations] Prometheus"
},
{
"name": "[Integrations] SonarQube"
}
],
"paths": {
"/api/v1/audit-logs": {
"get": {
"operationId": "getAuditLogs",
"parameters": [
{
"in": "query",
"name": "startTime",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "endTime",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"in": "query",
"name": "pageSize",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 50
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditLogsResponse"
}
}
},
"description": "Successfully retrieved audit logs"
}
},
"summary": "Retrieve audit logs",
"tags": [
"Audit Logs"
]
}
},
"/api/v1/aws/configurations": {
"delete": {
"operationId": "AWSRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] AWS"
]
},
"get": {
"operationId": "AWSGetAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/BulkAwsConfigurationsResponse"
}
}
},
"description": "Successfully found configurations"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] AWS"
]
},
"post": {
"operationId": "AWSAddSingleConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SingleAwsConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/SingleAwsConfigurationResponse"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] AWS"
]
},
"put": {
"operationId": "AWSReplaceAllConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkAwsConfigurationsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/BulkAwsConfigurationsResponse"
}
}
},
"description": "Successfully replaced configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Update configurations",
"tags": [
"[Integrations] AWS"
]
}
},
"/api/v1/aws/configurations/all/validate": {
"post": {
"operationId": "AWSValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] AWS"
]
}
},
"/api/v1/aws/configurations/validate/{accountId}": {
"post": {
"operationId": "AWSValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] AWS"
]
}
},
"/api/v1/aws/configurations/{accountId}": {
"delete": {
"operationId": "AWSRemoveSingleConfiguration",
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted configuration"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] AWS"
]
},
"get": {
"operationId": "AWSGetConfiguration",
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/SingleAwsConfigurationResponse"
}
}
},
"description": "Successfully found configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] AWS"
]
}
},
"/api/v1/aws/types": {
"get": {
"operationId": "AWSGetAwsCloudControlTypes",
"parameters": [
{
"description": "When true, includes all AWS types supported",
"in": "query",
"name": "includeDisabled",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "Number of results to return per page. If not provided, defaults to 50.",
"in": "query",
"name": "pageSize",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 50
}
},
{
"description": "Page number to return, 0 indexed.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AwsCloudControlTypeResponse"
}
}
},
"description": "Successfully found AWS types"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "AWS types not found"
}
},
"summary": "List AWS types",
"tags": [
"[Integrations] AWS"
]
},
"put": {
"operationId": "AWSSetConfiguredAwsCloudControlTypes",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AwsCloudControlTypesConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AwsCloudControlTypesResponse"
}
}
},
"description": "Successfully replaced AWS types"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Update configured AWS types",
"tags": [
"[Integrations] AWS"
]
}
},
"/api/v1/azure-resources/configuration": {
"post": {
"operationId": "AzureResourcesSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AzureResourcesConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseAzureResourcesConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/configuration/validate": {
"post": {
"operationId": "AzureResourcesValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/configuration/validate/{alias}": {
"post": {
"operationId": "AzureResourcesValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/configuration/{alias}": {
"delete": {
"operationId": "AzureResourcesRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseAzureResourcesConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] Azure Resources"
]
},
"get": {
"operationId": "AzureResourcesGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AzureResourcesConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] Azure Resources"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "AzureResourcesUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AzureResourcesUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseAzureResourcesConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/configurations": {
"delete": {
"operationId": "AzureResourcesRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] Azure Resources"
]
},
"get": {
"operationId": "AzureResourcesListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseAzureResourcesConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] Azure Resources"
]
},
"post": {
"operationId": "AzureResourcesSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestAzureResourcesConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseAzureResourcesConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/default-configuration": {
"get": {
"operationId": "AzureResourcesGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AzureResourcesConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/azure-resources/types": {
"get": {
"operationId": "AzureResourcesListAzureResourceTypes",
"parameters": [
{
"description": "Whether to include disabled Azure Resources types",
"in": "query",
"name": "includeDisabled",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "Number of results to return per page. If not provided, defaults to 50.",
"in": "query",
"name": "pageSize",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 50
}
},
{
"description": "Page number to return, 0 indexed.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AzureResourceTypesResponse"
}
}
},
"description": "Successfully found Azure Resources types"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Azure Resources types not found"
}
},
"summary": "List Azure Resources types",
"tags": [
"[Integrations] Azure Resources"
]
},
"put": {
"operationId": "AzureResourcesReplaceAzureResourceTypes",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateConfiguredAzureResourcesTypesRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AzureResourceTypesResponse"
}
}
},
"description": "Successfully replaced Azure Resources types"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Azure Resources types not found"
}
},
"summary": "Update configured Azure Resources types",
"tags": [
"[Integrations] Azure Resources"
]
}
},
"/api/v1/catalog": {
"delete": {
"description": "Note: Dangerous operation that will delete all entities that are of the given type",
"operationId": "deleteEntitiesByType",
"parameters": [
{
"description": "A list of entity types to delete",
"example": "service,rds,s3,domain",
"in": "query",
"name": "types",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "Successfully deleted entities"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid filters"
}
},
"summary": "Delete entities by type",
"tags": [
"Catalog Entities"
]
},
"get": {
"description": "List all entities across the Service, Resource and Domain Catalogs.\n\nThis API returns summary data for each entity, so refer to the retrieve entity method to lookup more details for a single entity.",
"operationId": "listAllEntities",
"parameters": [
{
"description": "Filter based on groups, which correspond to the `x-cortex-groups` field in the Catalog Descriptor. Accepts a comma-delimited list of groups",
"in": "query",
"name": "groups",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
{
"description": "Filter based on owner group names, which correspond to the `x-cortex-owners` field in the Catalog Descriptor. Accepts a comma-delimited list of owner group names",
"in": "query",
"name": "owners",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
{
"description": "Depth of the parent / children hierarchy nodes. Can be \u0027full\u0027 or a valid integer",
"in": "query",
"name": "hierarchyDepth",
"required": false,
"schema": {
"type": "string",
"default": "full"
}
},
{
"description": "Supports only GitHub repositories in the `org/repo` format",
"example": "cortexapps%2Fbackend,cortexapps%2Ffrontend",
"in": "query",
"name": "gitRepositories",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
{
"description": "List of sub fields to include for hierarchies. Only supports \u0027groups\u0027",
"example": "groups",
"in": "query",
"name": "includeHierarchyFields",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Filter the response to specific types of entities. By default, this includes services, resources, and domains. Corresponds to the `x-cortex-type` field in the Entity Descriptor.",
"example": "service,rds,s3,domain",
"in": "query",
"name": "types",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
}
},
{
"description": "Whether to include archived entities in the response",
"in": "query",
"name": "includeArchived",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "Whether to include custom data for each entity in the response",
"in": "query",
"name": "includeMetadata",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "Whether to include links for each entity in the response",
"in": "query",
"name": "includeLinks",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "Whether to include Slack channels for each entity in the response",
"in": "query",
"name": "includeSlackChannels",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"description": "Whether to include ownership information for each entity in the response",
"in": "query",
"name": "includeOwners",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"description": "List of sub fields to include for different types",
"example": "team:members",
"in": "query",
"name": "includeNestedFields",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Number of results to return per page. (Note: If no \"pageSize\" value is provided, the endpoint will attempt to return all entities.)",
"in": "query",
"name": "pageSize",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Page number to return, 0 indexed.",
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListCatalogEntities"
}
}
},
"description": "Successfully found entities"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid filters"
}
},
"summary": "List entities",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/custom-data": {
"delete": {
"description": "Use this endpoint when attempting to delete custom data where the key contains non-alphanumeric characters. Otherwise, use the standard API under `Custom Data`.",
"operationId": "getCustomDataForEntityByKeyAdvanced",
"parameters": [
{
"in": "query",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "key",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted custom data"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete custom data by key for entity",
"tags": [
"Custom Data [Advanced]"
]
},
"get": {
"description": "Use this endpoint when attempting to delete custom data where the key contains non-alphanumeric characters. Otherwise, use the standard API under `Custom Data`.",
"operationId": "retrieveCustomDataForEntityAdvanced",
"parameters": [
{
"description": "Entity tag (x-cortex-tag), supports non-alphanumeric characters",
"in": "query",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "When set, returns the entity\u0027s value at this key. Otherwise, returns all custom data key/values for the entity.",
"in": "query",
"name": "key",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomData"
}
}
}
},
"description": "Successfully retrieved custom data"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve custom data for entity",
"tags": [
"Custom Data [Advanced]"
]
},
"post": {
"operationId": "addCustomDataForEntityAdvanced",
"parameters": [
{
"in": "query",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "When true, overrides values that were defined in the catalog descriptor. Will be overwritten the next time the catalog descriptor is processed.",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomData"
}
}
},
"description": "Successfully created data"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid custom data request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Add custom data for entity",
"tags": [
"Custom Data [Advanced]"
]
},
"put": {
"description": "Add multiple key/values of custom data to multiple entities",
"operationId": "createOrUpdateCustomDataInBulk",
"parameters": [
{
"description": "When true, overrides values that were defined in the catalog descriptor. Will be overwritten the next time the catalog descriptor is processed.",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkCustomDataRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkCustomDataResponse"
}
}
},
"description": "Successfully created/updated custom data"
}
},
"summary": "Add custom data in bulk",
"tags": [
"Custom Data"
]
}
},
"/api/v1/catalog/definitions": {
"get": {
"operationId": "listDefinitions",
"parameters": [
{
"description": "When true, returns the built-in entity types that Cortex provides, such as `rds` and `s3`. Defaults to false.",
"in": "query",
"name": "includeBuiltIn",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogDefinitionsListResponse"
}
}
},
"description": "Successfully found entity types"
}
},
"summary": "List entity types",
"tags": [
"Entity Types"
]
},
"post": {
"operationId": "createDefinition",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCatalogDefinitionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogDefinitionResponse"
}
}
},
"description": "Successfully created entity type"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Failed to create entity type"
}
},
"summary": "Create entity type",
"tags": [
"Entity Types"
]
}
},
"/api/v1/catalog/definitions/{type}": {
"delete": {
"operationId": "deleteDefinition",
"parameters": [
{
"in": "path",
"name": "type",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted entity type"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity type not found"
}
},
"summary": "Delete entity type",
"tags": [
"Entity Types"
]
},
"get": {
"operationId": "getDefinition",
"parameters": [
{
"in": "path",
"name": "type",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogDefinitionResponse"
}
}
},
"description": "Successfully found entity types"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity type not found"
}
},
"summary": "Retrieve entity type",
"tags": [
"Entity Types"
]
},
"put": {
"operationId": "updateDefinition",
"parameters": [
{
"in": "path",
"name": "type",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "When true, schema will be updated even if it results in broken schemas for existing entities. Defaults to false.",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateCatalogDefinitionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogDefinitionResponse"
}
}
},
"description": "Successfully updated entity type"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Failed to update entity type"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity type not found"
}
},
"summary": "Update entity type",
"tags": [
"Entity Types"
]
}
},
"/api/v1/catalog/dependencies": {
"delete": {
"operationId": "deleteDependenciesInBulk",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDependencyRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Successfully deleted dependencies"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Cannot modify dependency that is defined in cortex.yaml"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete dependencies in bulk",
"tags": [
"Dependencies"
]
},
"put": {
"description": "This API allows you to create multiple dependencies for multiple entities at once.",
"operationId": "createOrUpdateDependenciesInBulk",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDependencyRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkDependencyResponse"
}
}
},
"description": "Successfully created / updated dependencies"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Cannot modify dependency that is defined in cortex.yaml"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Create or update dependencies in bulk",
"tags": [
"Dependencies"
]
}
},
"/api/v1/catalog/deploys": {
"delete": {
"description": "Filter and delete deploys by SHA hash, environment, or type. Note that at least one of the filters need to be set.\nIf looking to delete all deployments for an entity, use the `Delete all deploys for entity` endpoint instead.",
"operationId": "deleteDeploysByFilter",
"parameters": [
{
"in": "query",
"name": "environment",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "sha",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"type": "string",
"enum": [
"DEPLOY",
"SCALE",
"ROLLBACK",
"RESTART"
]
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/DeploysResponse"
}
}
},
"description": "Successfully deleted deployment"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Trying to delete deploys without any filters"
}
},
"summary": "Delete deploys by filter",
"tags": [
"Deploys"
]
}
},
"/api/v1/catalog/deploys/all": {
"delete": {
"description": "Dangerous endpoint that blows away deploys for all entities",
"operationId": "deleteAllDeploys",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/DeploysResponse"
}
}
},
"description": "Successfully deleted all deployments"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Delete all deployments for all entities",
"tags": [
"Deploys"
]
}
},
"/api/v1/catalog/descriptors": {
"get": {
"operationId": "listEntityDescriptors",
"parameters": [
{
"description": "When true, returns the YAML representation of the descriptors",
"in": "query",
"name": "yaml",
"schema": {
"type": "boolean"
}
},
{
"description": "Filter the response to specific types of entities. By default, this includes services, resources, and domains. Corresponds to the `x-cortex-type` field in the Entity Descriptor.",
"example": "service,rds,s3,domain",
"in": "query",
"name": "types",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Number of entities to return per page",
"in": "query",
"name": "pageSize",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Page number to return, 0 indexed",
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/YamlDescriptorsListResponse"
},
{
"$ref": "#/components/schemas/JsonDescriptorsListResponse"
}
]
}
}
},
"description": "Successfully retrieved entity descriptors"
}
},
"summary": "List entity descriptors",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{callerTag}/dependencies": {
"delete": {
"description": "Deletes any outgoing dependencies from the entity. Note: this only deletes dependencies that were created via the API.",
"operationId": "deleteDependenciesFromEntity",
"parameters": [
{
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully deleted dependencies"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Caller not found"
}
},
"summary": "Delete dependencies from entity",
"tags": [
"Dependencies"
]
},
"get": {
"operationId": "listDependenciesForEntity",
"parameters": [
{
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "includeOutgoing",
"required": false,
"schema": {
"type": "boolean",
"default": true
}
},
{
"in": "query",
"name": "includeIncoming",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully found entity dependencies"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity dependencies not found"
}
},
"summary": "Retrieve all dependencies for an entity",
"tags": [
"Dependencies"
]
}
},
"/api/v1/catalog/{callerTag}/dependencies/{calleeTag}": {
"delete": {
"description": "Deletes a single dependency edge between the `caller` and the `callee`. \nNote: This is only supported for edges created via the API.",
"operationId": "deleteDependency",
"parameters": [
{
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "calleeTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "method",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "path",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully deleted dependency"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid endpoint"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Dependency not found"
}
},
"summary": "Delete dependency",
"tags": [
"Dependencies"
]
},
"get": {
"description": "If a dependency exists between the `callee` and the `caller`, returns metadata about the edge.",
"operationId": "getDependency",
"parameters": [
{
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "calleeTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "method",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "path",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully found dependency"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid endpoint"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Dependency not found"
}
},
"summary": "Retrieve dependency between entities",
"tags": [
"Dependencies"
]
},
"post": {
"operationId": "createDependency",
"parameters": [
{
"description": "The entity tag (x-cortex-tag) for the callee entity (\"from\" entity)",
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The entity tag (x-cortex-tag) for the caller entity (\"to\" entity)",
"in": "path",
"name": "calleeTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "HTTP Method",
"example": "POST",
"in": "query",
"name": "method",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "path",
"required": false,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully created dependency"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid endpoint"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Create dependency from entity",
"tags": [
"Dependencies"
]
},
"put": {
"description": "If a dependency exists between two entities, replace the metadata with the payload. \nNote: This only supports dependencies created via the API.",
"operationId": "updateDependency",
"parameters": [
{
"in": "path",
"name": "callerTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "calleeTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "method",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "path",
"required": false,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DependencyResponse"
}
}
},
"description": "Successfully updated dependency"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid endpoint"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Update dependency between entities",
"tags": [
"Dependencies"
]
}
},
"/api/v1/catalog/{tag}": {
"delete": {
"operationId": "deleteEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted entity"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete entity",
"tags": [
"Catalog Entities"
]
},
"get": {
"operationId": "getEntityDetails",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Depth of the parent / children hierarchy nodes. Can be \u0027full\u0027 or a valid integer",
"in": "query",
"name": "hierarchyDepth",
"required": false,
"schema": {
"type": "string",
"default": "full"
}
},
{
"description": "List of sub fields to include for hierarchies. Only supports \u0027groups\u0027",
"example": "groups",
"in": "query",
"name": "includeHierarchyFields",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DetailsResponse"
}
}
},
"description": "Successfully found entity"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve entity details",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{tag}/archive": {
"put": {
"operationId": "archiveEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DetailsResponse"
}
}
},
"description": "Successfully archived entity"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Archive an entity",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{tag}/custom-data": {
"delete": {
"operationId": "deleteCustomDataForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "key",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "When true, overrides values that were defined in the catalog descriptor. Will be overwritten the next time the catalog descriptor is processed.",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted custom data"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete custom data for entity",
"tags": [
"Custom Data"
]
},
"get": {
"operationId": "getCustomDataForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomData"
}
}
}
},
"description": "Successfully retrieved custom data"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "List custom data for entity",
"tags": [
"Custom Data"
]
},
"post": {
"operationId": "addCustomDataForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "When true, overrides values that were defined in the catalog descriptor. Will be overwritten the next time the catalog descriptor is processed.",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomData"
}
}
},
"description": "Successfully created data"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid custom data request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Add custom data for entity",
"tags": [
"Custom Data"
]
}
},
"/api/v1/catalog/{tag}/custom-data/{key}": {
"get": {
"operationId": "getCustomDataForEntityByKey",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "key",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomData"
}
}
},
"description": "Successfully retrieved custom data for key"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Custom data not found for given entity and key"
}
},
"summary": "Retrieve custom data for entity by key",
"tags": [
"Custom Data"
]
}
},
"/api/v1/catalog/{tag}/custom-events": {
"delete": {
"operationId": "deleteCustomEventsForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "timestamp",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted custom events"
},
"204": {
"description": "No Content"
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Entity not found"
}
},
"summary": "Delete ALL custom events for an entity",
"tags": [
"Custom Events"
]
},
"get": {
"operationId": "listCustomEventsForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "timestamp",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventListResponse"
}
}
},
"description": "Successfully retrieved custom events"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventListResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventListResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "List custom events for entity",
"tags": [
"Custom Events"
]
},
"post": {
"operationId": "createCustomEventForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveCustomEventRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Successfully created custom event"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Create custom event for entity",
"tags": [
"Custom Events"
]
}
},
"/api/v1/catalog/{tag}/custom-events/{uuid}": {
"delete": {
"operationId": "deleteCustomEventForEntityByUuid",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted custom event"
},
"204": {
"description": "No Content"
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Entity or custom event not found"
}
},
"summary": "Delete custom events by UUID",
"tags": [
"Custom Events"
]
},
"get": {
"operationId": "getCustomEventForEntityByUuid",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Successfully retrieved custom event"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Entity or custom event not found"
}
},
"summary": "Get custom event by UUID",
"tags": [
"Custom Events"
]
},
"put": {
"operationId": "replaceCustomEventForEntityByUuid",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveCustomEventRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Successfully updated custom event"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
},
"description": "Entity or custom event not found"
}
},
"summary": "Update custom event by UUID",
"tags": [
"Custom Events"
]
}
},
"/api/v1/catalog/{tag}/deploys": {
"delete": {
"operationId": "deleteDeploysForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "environment",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "sha",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"type": "string",
"enum": [
"DEPLOY",
"SCALE",
"ROLLBACK",
"RESTART"
]
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
},
"description": "Successfully deleted deployments"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete deployments for entity",
"tags": [
"Deploys"
]
},
"get": {
"operationId": "getDeploysForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
}
},
"description": "Successfully retrieved deployments"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "List deployments for entity",
"tags": [
"Deploys"
]
},
"post": {
"operationId": "addDeployForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveDeployRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
},
"description": "Successfully created deployment"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Add deployment for entity",
"tags": [
"Deploys"
]
}
},
"/api/v1/catalog/{tag}/deploys/{uuid}": {
"delete": {
"operationId": "deleteDeployByUuid",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
},
"description": "Successfully deleted deployment"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity or deployment not found"
}
},
"summary": "Delete deployment by UUID",
"tags": [
"Deploys"
]
},
"put": {
"operationId": "updateDeployByUuid",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SaveDeployRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
},
"description": "Successfully updated deployment"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity or deployment not found"
}
},
"summary": "Update deployment by UUID",
"tags": [
"Deploys"
]
}
},
"/api/v1/catalog/{tag}/documentation/openapi": {
"delete": {
"operationId": "deleteOpenApiDocForEntity",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Successfully deleted documentation"
}
},
"summary": "Delete OpenAPI docs for entity",
"tags": [
"Docs"
]
},
"get": {
"operationId": "getOpenApiDocForEntity",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecification"
}
}
},
"description": "Successfully found documentation"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Documentation not found"
}
},
"summary": "Retrieve OpenAPI docs for entity",
"tags": [
"Docs"
]
},
"put": {
"operationId": "updateOpenApiDocForEntity",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecification"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecification"
}
}
},
"description": "Successfully updated documentation"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid request"
}
},
"summary": "Update OpenAPI docs for entity",
"tags": [
"Docs"
]
}
},
"/api/v1/catalog/{tag}/gitops-logs": {
"get": {
"operationId": "latestGitOpsLogForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitOpsLogEntityResponse"
}
}
}
},
"description": "Retrieve most recent GitOps log for entity"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity GitOps log not found"
}
},
"summary": "Retrieve most recent GitOps log for entity",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{tag}/groups": {
"delete": {
"operationId": "deleteGroupsFromEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupMembershipsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successfully deleted group memberships"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Delete groups from entity",
"tags": [
"Groups"
]
},
"get": {
"operationId": "listGroupsForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupMembershipsResponse"
}
}
},
"description": "Successfully retrieved groups"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve groups for entity",
"tags": [
"Groups"
]
},
"put": {
"operationId": "addGroupsToEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupMembershipsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupMembershipsResponse"
}
}
},
"description": "Successfully created group memberships"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Add groups to entity",
"tags": [
"Groups"
]
}
},
"/api/v1/catalog/{tag}/integrations/oncall/current": {
"get": {
"operationId": "getCurrentOncallForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CurrentOncallDetails"
}
}
}
},
"description": "Successfully retrieved current on-call"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve current on-call for entity",
"tags": [
"On-call"
]
}
},
"/api/v1/catalog/{tag}/integrations/oncall/registration": {
"get": {
"operationId": "getOncallRegistrationForEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OncallRegistration"
}
}
}
},
"description": "Successfully retrieved on-call registration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity or registration not found"
}
},
"summary": "Retrieve on-call registration for entity",
"tags": [
"On-call"
]
}
},
"/api/v1/catalog/{tag}/openapi": {
"get": {
"operationId": "getEntityDescriptor",
"parameters": [
{
"description": "When true, returns the YAML representation of the descriptor",
"in": "query",
"name": "yaml",
"schema": {
"type": "boolean"
}
},
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/JsonNode"
}
]
}
}
},
"description": "Successfully found entity descriptor"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve entity descriptor",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{tag}/packages": {
"get": {
"operationId": "listPackages",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "All packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "List packages",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/dotnet/nuget": {
"delete": {
"operationId": "deleteNugetPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[csharp] Delete Nuget package",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/dotnet/nuget/csproj": {
"post": {
"operationId": "uploadNugetCsproj",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
},
"application/xml": {}
},
"description": "Stringified version of your *.csproj file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "NUGET",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[csharp] Upload Nuget csproj",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/dotnet/nuget/packages-lock": {
"post": {
"operationId": "uploadNugetPackagesLock",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your nuget package.lock.json file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "NUGET",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[csharp] Upload Nuget packages.lock.json",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/go": {
"delete": {
"operationId": "deleteGoPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[go] Delete Go package",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/go/gosum": {
"post": {
"operationId": "uploadGoSumPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your go.sum file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "GO",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[golang] Upload go.sum",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/java": {
"delete": {
"operationId": "deleteJavaPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[java] Delete Java package",
"tags": [
"Packages"
]
},
"post": {
"operationId": "uploadJavaPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PackageVersionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": {
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "JAVA",
"version": "string"
},
"schema": {
"$ref": "#/components/schemas/Package"
}
}
},
"description": "Successfully saved package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[java] Upload single Java package",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/java/bulk": {
"post": {
"operationId": "uploadJavaPackages",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PackageVersionRequest"
}
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "JAVA",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[java] Upload multiple Java packages",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/node": {
"delete": {
"operationId": "deleteNodePackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[node] Delete Node package",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/node/package-json": {
"post": {
"operationId": "uploadNpmPackageJson",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your NPM package.json",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "NODE",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[js] Upload NPM package.json",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/node/package-lock": {
"post": {
"operationId": "uploadNpmPackageLockJson",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your NPM package-lock.json",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "NODE",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[js] Upload NPM package-lock.json",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/node/yarn-lock": {
"post": {
"operationId": "uploadYarnLock",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your yarn.lock file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "NODE",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[js] Upload yarn.lock",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/python": {
"delete": {
"operationId": "deletePythonPackage",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted package"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[python] Delete Python package",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/python/pipfile": {
"post": {
"operationId": "uploadPipfileLock",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your Pipfile.lock file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "PYTHON",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[python] Upload pipfile.lock",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/packages/python/requirements": {
"post": {
"operationId": "uploadRequirementsTxt",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "Stringified version of your requirements.txt file",
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"example": [
{
"dateCreated": "2023-01-01T01:01:01.000Z",
"id": 0,
"name": "string",
"packageType": "PYTHON",
"version": "string"
}
],
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Package"
}
}
}
},
"description": "Successfully saved packages"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "[python] Upload requirements.txt",
"tags": [
"Packages"
]
}
},
"/api/v1/catalog/{tag}/scorecards": {
"get": {
"operationId": "listScorecardScoresForEntity",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScorecardScore"
}
}
}
},
"description": "All entity Scorecard scores"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Retrieve entity Scorecard scores",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/catalog/{tag}/unarchive": {
"put": {
"operationId": "unarchiveEntity",
"parameters": [
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DetailsResponse"
}
}
},
"description": "Successfully unarchived entity"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity not found"
}
},
"summary": "Unarchive an entity",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/coralogix/configuration": {
"post": {
"operationId": "CoralogixSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoralogixConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseCoralogixConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/coralogix/configuration/validate": {
"post": {
"operationId": "CoralogixValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/coralogix/configuration/validate/{alias}": {
"post": {
"operationId": "CoralogixValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/coralogix/configuration/{alias}": {
"delete": {
"operationId": "CoralogixRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseCoralogixConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] Coralogix"
]
},
"get": {
"operationId": "CoralogixGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CoralogixConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] Coralogix"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "CoralogixUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoralogixUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseCoralogixConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/coralogix/configurations": {
"delete": {
"operationId": "CoralogixRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] Coralogix"
]
},
"get": {
"operationId": "CoralogixListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseCoralogixConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] Coralogix"
]
},
"post": {
"operationId": "CoralogixSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestCoralogixConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseCoralogixConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/coralogix/default-configuration": {
"get": {
"operationId": "CoralogixGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CoralogixConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] Coralogix"
]
}
},
"/api/v1/custom-integrations/data/{uuid}": {
"post": {
"description": "Refer to the [Webhook section](/docs/reference/basics/custom-data#webhook) of the Custom Data docs for more information. This API is preconfigured in your workspace settings under Custom Integrations. The UUID corresponds to a custom data key, as well as a `jq` command that maps the data in this payload to an entity in your workspace.",
"operationId": "addCustomDataViaWebhook",
"parameters": [
{
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"description": "A JSON object that contains a valid entity tag in the payload, queryable with the `jq` command defined for this webhook in your workspace.",
"required": true
},
"responses": {
"200": {
"description": "OK"
}
},
"summary": "Add custom data via webhook",
"tags": [
"Custom Data"
]
}
},
"/api/v1/datadog/configuration": {
"post": {
"operationId": "DatadogSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatadogConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseDatadogConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/datadog/configuration/validate": {
"post": {
"operationId": "DatadogValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/datadog/configuration/validate/{alias}": {
"post": {
"operationId": "DatadogValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/datadog/configuration/{alias}": {
"delete": {
"operationId": "DatadogRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseDatadogConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] Datadog"
]
},
"get": {
"operationId": "DatadogGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/DatadogConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] Datadog"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "DatadogUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatadogUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseDatadogConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/datadog/configurations": {
"delete": {
"operationId": "DatadogRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] Datadog"
]
},
"get": {
"operationId": "DatadogListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseDatadogConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] Datadog"
]
},
"post": {
"operationId": "DatadogSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestDatadogConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseDatadogConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/datadog/default-configuration": {
"get": {
"operationId": "DatadogGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/DatadogConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] Datadog"
]
}
},
"/api/v1/discovery-audit": {
"get": {
"description": "This report shows you recent changes in your environment that aren\u0027t reflected in Cortex, including newly created repositories, services, and resources that we discover from your integrations or which were deleted in the environment but corresponding Cortex entities are still present.",
"operationId": "getDiscoveryAudit",
"parameters": [
{
"description": "Filter based on type of the event",
"in": "query",
"name": "type",
"required": false,
"schema": {
"type": "string",
"enum": [
"NEW_REPOSITORY",
"REPOSITORY_DELETED",
"REPOSITORY_ARCHIVED",
"NEW_K8S_RESOURCE",
"NEW_APM_RESOURCE",
"APM_RESOURCE_NOT_DETECTED",
"NEW_ECS_RESOURCE",
"ECS_RESOURCE_NOT_DETECTED",
"NEW_AWS_RESOURCE",
"AWS_RESOURCE_NOT_DETECTED",
"NEW_GOOGLE_CLOUD_RESOURCE",
"GOOGLE_CLOUD_RESOURCE_NOT_DETECTED",
"NEW_AZURE_RESOURCE",
"AZURE_RESOURCE_NOT_DETECTED"
]
}
},
{
"description": "Filter based on integration source",
"in": "query",
"name": "source",
"required": false,
"schema": {
"type": "string",
"enum": [
"AWS",
"AZURE_DEVOPS",
"AZURE_RESOURCES",
"BITBUCKET",
"DATADOG",
"DYNATRACE",
"ECS",
"GCP",
"GITHUB",
"GITLAB",
"INSTANA",
"K8S",
"LIGHTSTEP",
"LAMBDA",
"NEWRELIC",
"SERVICENOW"
]
}
},
{
"description": "Flag to include ignored events in result",
"in": "query",
"name": "includeIgnored",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscoveryAuditReportResponse"
}
}
},
"description": "Successfully retrieved discovery audit report"
}
},
"summary": "Retrieve discovery audit report",
"tags": [
"Discovery Audit"
]
}
},
"/api/v1/github/configurations": {
"delete": {
"operationId": "GitHubDeleteConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] GitHub"
]
},
"get": {
"operationId": "GitHubListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AllGithubConfigurationResponse"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/app": {
"post": {
"operationId": "GitHubSaveGithubApp",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GithubAppRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/App"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single app configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/app/{alias}": {
"delete": {
"operationId": "GitHubRemoveGithubApp",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a single app configuration",
"tags": [
"[Integrations] GitHub"
]
},
"get": {
"operationId": "GitHubGetGithubApp",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/App"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Get a single app configuration",
"tags": [
"[Integrations] GitHub"
]
},
"put": {
"operationId": "GitHubEditGithubApp",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EditPersonalConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/App"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a single app configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/personal": {
"post": {
"operationId": "GitHubSavePersonalConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DecryptedPersonalAccessToken"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single personal configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/personal/{alias}": {
"delete": {
"operationId": "GitHubRemovePersonalConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a personal configuration",
"tags": [
"[Integrations] GitHub"
]
},
"get": {
"operationId": "GitHubGetPersonalConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Get a single personal configuration",
"tags": [
"[Integrations] GitHub"
]
},
"put": {
"operationId": "GitHubEditPersonalConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EditPersonalConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a single personal configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/validate": {
"post": {
"operationId": "GitHubValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/configurations/validate/{alias}": {
"post": {
"operationId": "GitHubValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/github/default-configuration": {
"get": {
"operationId": "GitHubGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/GithubConfigurationResponse"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] GitHub"
]
}
},
"/api/v1/gitlab/configuration": {
"post": {
"operationId": "GitLabSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitlabConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseGitlabConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitlab/configuration/validate": {
"post": {
"operationId": "GitLabValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitlab/configuration/validate/{alias}": {
"post": {
"operationId": "GitLabValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitlab/configuration/{alias}": {
"delete": {
"operationId": "GitLabRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseGitlabConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] GitLab"
]
},
"get": {
"operationId": "GitLabGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/GitlabConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] GitLab"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "GitLabUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitlabUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseGitlabConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitlab/configurations": {
"delete": {
"operationId": "GitLabRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] GitLab"
]
},
"get": {
"operationId": "GitLabListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseGitlabConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] GitLab"
]
},
"post": {
"operationId": "GitLabSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestGitlabConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseGitlabConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitlab/default-configuration": {
"get": {
"operationId": "GitLabGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/GitlabConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] GitLab"
]
}
},
"/api/v1/gitops-logs": {
"get": {
"operationId": "listGitOpsLogs",
"parameters": [
{
"description": "File name the within repository",
"in": "query",
"name": "file",
"schema": {
"type": "string"
}
},
{
"description": "Repository name as defined in your Git provider",
"in": "query",
"name": "repository",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Commit SHA",
"in": "query",
"name": "sha",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Filter by error only",
"in": "query",
"name": "errorOnly",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"description": "Filter by operation",
"in": "query",
"name": "operation",
"required": false,
"schema": {
"type": "string",
"enum": [
"CREATED",
"UPDATED",
"ARCHIVED",
"NO_CHANGE"
]
}
},
{
"description": "Page number to return, 0 indexed.",
"in": "query",
"name": "page",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"description": "Number of results to return per page.",
"in": "query",
"name": "pageSize",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"default": 50
}
},
{
"in": "query",
"name": "fileName",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitOpsLogPaginatedResponse"
}
}
},
"description": "Retrieve GitOps logs based on given criteria"
}
},
"summary": "Retrieve GitOps logs",
"tags": [
"GitOps Logs"
]
}
},
"/api/v1/groups/relationships": {
"delete": {
"operationId": "deleteGroupHierarchyRelationships",
"parameters": [
{
"in": "query",
"name": "parent",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "child",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsResponse"
}
}
},
"description": "Successfully delete group relationship"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Group not found"
}
},
"summary": "Delete relationship between groups",
"tags": [
"Groups Hierarchy"
]
},
"put": {
"operationId": "replaceGroupHierarchyRelationships",
"parameters": [
{
"in": "query",
"name": "replace",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsResponse"
}
}
},
"description": "Successfully created group relationships"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Replace group relationships",
"tags": [
"Groups Hierarchy"
]
}
},
"/api/v1/incidentio/configuration": {
"post": {
"operationId": "IncidentIoSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IncidentIoConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseIncidentIoConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/incidentio/configuration/validate": {
"post": {
"operationId": "IncidentIoValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/incidentio/configuration/validate/{alias}": {
"post": {
"operationId": "IncidentIoValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/incidentio/configuration/{alias}": {
"delete": {
"operationId": "IncidentIoRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseIncidentIoConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] Incident.io"
]
},
"get": {
"operationId": "IncidentIoGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IncidentIoConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] Incident.io"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "IncidentIoUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IncidentIoUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseIncidentIoConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/incidentio/configurations": {
"delete": {
"operationId": "IncidentIoRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] Incident.io"
]
},
"get": {
"operationId": "IncidentIoListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseIncidentIoConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] Incident.io"
]
},
"post": {
"operationId": "IncidentIoSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestIncidentIoConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseIncidentIoConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/incidentio/default-configuration": {
"get": {
"operationId": "IncidentIoGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IncidentIoConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] Incident.io"
]
}
},
"/api/v1/ip-allowlist": {
"get": {
"operationId": "listAllowedIpAddresses",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IpAllowlistResponse"
}
}
},
"description": "Successfully retrieved IP allowlist"
}
},
"summary": "Gets allowlist of IP addresses \u0026 ranges",
"tags": [
"IP Allowlist"
]
},
"put": {
"operationId": "upsertAllowedIpAddresses",
"parameters": [
{
"description": "When true, entries will be updated even if the list doesn\u0027t contain the requestor\u0027s IP address",
"in": "query",
"name": "force",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IpAllowlistRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IpAllowlistResponse"
}
}
},
"description": "Successfully replaced allowlist"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Replace existing allowlist with provided list of IP addresses \u0026 ranges",
"tags": [
"IP Allowlist"
]
}
},
"/api/v1/ip-allowlist/validate": {
"post": {
"operationId": "validateAllowedIpAddresses",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IpAllowlistRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/ValidIpAllowlistEntry"
},
{
"$ref": "#/components/schemas/InvalidIpAllowlistEntry"
}
]
}
}
},
"description": "Successfully validated allowlist"
}
},
"summary": "Validates allowlist of IP addresses \u0026 ranges",
"tags": [
"IP Allowlist"
]
}
},
"/api/v1/launchdarkly/configuration": {
"post": {
"operationId": "LaunchDarklySaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LaunchDarklyConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseLaunchDarklyConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/launchdarkly/configuration/validate": {
"post": {
"operationId": "LaunchDarklyValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/launchdarkly/configuration/validate/{alias}": {
"post": {
"operationId": "LaunchDarklyValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/launchdarkly/configuration/{alias}": {
"delete": {
"operationId": "LaunchDarklyRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseLaunchDarklyConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
},
"get": {
"operationId": "LaunchDarklyGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LaunchDarklyConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "LaunchDarklyUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LaunchDarklyUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseLaunchDarklyConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/launchdarkly/configurations": {
"delete": {
"operationId": "LaunchDarklyRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] LaunchDarkly"
]
},
"get": {
"operationId": "LaunchDarklyListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseLaunchDarklyConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] LaunchDarkly"
]
},
"post": {
"operationId": "LaunchDarklySaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestLaunchDarklyConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseLaunchDarklyConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/launchdarkly/default-configuration": {
"get": {
"operationId": "LaunchDarklyGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/LaunchDarklyConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] LaunchDarkly"
]
}
},
"/api/v1/newrelic/configuration": {
"post": {
"operationId": "NewRelicSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NewrelicConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseNewrelicConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/newrelic/configuration/validate": {
"post": {
"operationId": "NewRelicValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/newrelic/configuration/validate/{alias}": {
"post": {
"operationId": "NewRelicValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/newrelic/configuration/{alias}": {
"delete": {
"operationId": "NewRelicRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseNewrelicConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] New Relic"
]
},
"get": {
"operationId": "NewRelicGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/NewrelicConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] New Relic"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "NewRelicUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NewrelicUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseNewrelicConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/newrelic/configurations": {
"delete": {
"operationId": "NewRelicRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] New Relic"
]
},
"get": {
"operationId": "NewRelicListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseNewrelicConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] New Relic"
]
},
"post": {
"operationId": "NewRelicSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestNewrelicConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseNewrelicConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/newrelic/default-configuration": {
"get": {
"operationId": "NewRelicGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/NewrelicConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] New Relic"
]
}
},
"/api/v1/open-api": {
"post": {
"description": "Create a catalog entity using a descriptor YAML. If the YAML refers to an entity that already exists (as referenced by the `x-cortex-tag`), this API will update the existing entity.",
"operationId": "createOrUpdateEntity",
"parameters": [
{
"description": "When true, this endpoint only validates the descriptor contents and returns any errors or warnings.",
"in": "query",
"name": "dryRun",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"description": "Add a comment with validation errors on the pull request with the given ID",
"in": "query",
"name": "githubPullRequest",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/openapi;charset\u003dUTF-8": {}
},
"description": "Raw text of the YAML \n See examples of cortex.yaml files for each entity type [here](https://docs.cortex.io/docs/reference/basics/entities#example-cortexyaml-for-service-entity)"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenApiResponse"
}
}
},
"description": "Returns a 200 even if there are errors"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/OpenApiResponse"
}
}
},
"description": "Invalid YAML (major errors or incorrectly formatted YAML)"
}
},
"summary": "Create or update entity",
"tags": [
"Catalog Entities"
]
}
},
"/api/v1/pagerduty/configuration": {
"post": {
"operationId": "PagerDutySaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PagerdutyConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePagerdutyConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a configuration",
"tags": [
"[Integrations] PagerDuty"
]
}
},
"/api/v1/pagerduty/configuration/validate": {
"post": {
"operationId": "PagerDutyValidateConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] PagerDuty"
]
}
},
"/api/v1/pagerduty/configurations": {
"delete": {
"operationId": "PagerDutyDeleteConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePagerdutyConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] PagerDuty"
]
}
},
"/api/v1/pagerduty/default-configuration": {
"get": {
"operationId": "PagerDutyGetConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PagerdutyConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] PagerDuty"
]
}
},
"/api/v1/plugins": {
"get": {
"description": "Retrieve a list of all plugins, excluding drafts",
"operationId": "listAllPlugins",
"parameters": [
{
"in": "query",
"name": "includeDrafts",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginsMetadataResponse"
}
}
},
"description": "List of plugins"
}
},
"summary": "Get all plugins",
"tags": [
"Plugins"
]
},
"post": {
"description": "Create a new plugin",
"operationId": "createPlugin",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatePluginRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginMetadata"
}
}
},
"description": "Metadata of the created plugin"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid request"
}
},
"summary": "Create a plugin",
"tags": [
"Plugins"
]
}
},
"/api/v1/plugins/{tag}": {
"delete": {
"description": "Delete a plugin by tag",
"operationId": "deletePlugin",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Plugin deleted"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Plugin not found"
}
},
"summary": "Delete a plugin",
"tags": [
"Plugins"
]
},
"get": {
"description": "Retrieve the metadata of a plugin by tag",
"operationId": "getPluginByTag",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginMetadata"
}
}
},
"description": "Metadata of the plugin"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Plugin not found"
}
},
"summary": "Get plugin by tag",
"tags": [
"Plugins"
]
},
"put": {
"description": "Replace an existing plugin by tag",
"operationId": "updatePlugin",
"parameters": [
{
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePluginRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginMetadata"
}
}
},
"description": "Metadata of the replaced plugin"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Plugin not found"
}
},
"summary": "Replace a plugin",
"tags": [
"Plugins"
]
}
},
"/api/v1/prometheus/configuration": {
"post": {
"operationId": "PrometheusSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrometheusConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePrometheusConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/prometheus/configuration/validate": {
"post": {
"operationId": "PrometheusValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/prometheus/configuration/validate/{alias}": {
"post": {
"operationId": "PrometheusValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/prometheus/configuration/{alias}": {
"delete": {
"operationId": "PrometheusRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePrometheusConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] Prometheus"
]
},
"get": {
"operationId": "PrometheusGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PrometheusConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] Prometheus"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "PrometheusUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PrometheusUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePrometheusConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/prometheus/configurations": {
"delete": {
"operationId": "PrometheusRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] Prometheus"
]
},
"get": {
"operationId": "PrometheusListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponsePrometheusConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] Prometheus"
]
},
"post": {
"operationId": "PrometheusSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestPrometheusConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponsePrometheusConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/prometheus/default-configuration": {
"get": {
"operationId": "PrometheusGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PrometheusConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] Prometheus"
]
}
},
"/api/v1/queries": {
"post": {
"description": "Run a CQL query. For more information about the types of queries you can run, take a look at our CQL Explorer in the app.",
"operationId": "createQuery",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryResponse"
}
}
},
"description": "Successfully submitted query"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad request"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Conflict"
}
},
"summary": "Run query",
"tags": [
"Queries"
]
}
},
"/api/v1/queries/{jobId}": {
"get": {
"description": "Retrieve the status and results of a CQL query",
"operationId": "getQueryResults",
"parameters": [
{
"description": "jobId of the query to retrieve",
"in": "path",
"name": "jobId",
"required": true,
"schema": {
"type": "string",
"description": "jobId of the query to retrieve"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryBuilderResult"
}
}
},
"description": "Successfully found query"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Query not found"
}
},
"summary": "Retrieve query results",
"tags": [
"Queries"
]
}
},
"/api/v1/scorecards": {
"get": {
"operationId": "listScorecards",
"parameters": [
{
"in": "query",
"name": "showDrafts",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScorecardsResponse"
}
}
},
"description": "OK"
}
},
"summary": "List Scorecards",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/descriptor": {
"post": {
"description": "Create or update a Scorecard using the descriptor YAML. The operation is determined by the existence of a Scorecard with the same `tag` as passed in the descriptor.",
"operationId": "createOrUpdateScorecard",
"parameters": [
{
"description": "When true, this endpoint only validates the descriptor contents and returns any errors or warnings.",
"in": "query",
"name": "dryRun",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/yaml;charset\u003dUTF-8": {}
},
"description": "Raw text of the YAML \n See an example of a yaml file for scorecards [here](https://docs.cortex.io/docs/reference/basics/scorecards#descriptor)"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScorecardDescriptorResponse"
}
}
},
"description": "Created Scorecard"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Create or update Scorecard",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/{scorecardTag}/entity/{tag}/badge": {
"get": {
"operationId": "getBadgeMarkdown",
"parameters": [
{
"description": "Unique tag for the Scorecard.",
"in": "path",
"name": "scorecardTag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScorecardShieldsBadgeMarkdown"
}
}
},
"description": "Shields.io badge"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Entity or Scorecard not found"
}
},
"summary": "Retrieve Scorecard shields.io badge",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/{tag}": {
"delete": {
"operationId": "deleteScorecard",
"parameters": [
{
"description": "Unique tag for the Scorecard",
"example": "my-production-readiness-checklist",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully deleted Scorecard"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Scorecard not found"
}
},
"summary": "Delete Scorecard",
"tags": [
"Scorecards"
]
},
"get": {
"operationId": "getScorecard",
"parameters": [
{
"description": "Unique tag for the Scorecard",
"example": "my-production-readiness-checklist",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScorecardDescriptorResponse"
}
}
},
"description": "Successfully retrieved Scorecard"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Scorecard not found"
}
},
"summary": "Retrieve Scorecard",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/{tag}/descriptor": {
"get": {
"operationId": "getScorecardDescriptor",
"parameters": [
{
"description": "Unique tag for the Scorecard",
"example": "my-production-readiness-checklist",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"type": "string"
}
}
},
"description": "Successfully retrieved Scorecard descriptor"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Scorecard not found"
}
},
"summary": "Retrieve Scorecard descriptor",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/{tag}/next-steps": {
"get": {
"operationId": "getScorecardNextStepsForEntity",
"parameters": [
{
"description": "Unique tag for the Scorecard",
"example": "my-production-readiness-checklist",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The entity tag (`x-cortex-tag`) that identifies the entity.",
"in": "query",
"name": "entityTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NextSteps"
}
}
},
"description": "Any rules remaining for the entity to reach the next level in the Scorecard."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Scorecard not found"
}
},
"summary": "Retrieve next steps for entity in Scorecard",
"tags": [
"Scorecards"
]
}
},
"/api/v1/scorecards/{tag}/scores": {
"get": {
"description": "Returns latest scores for all entities in the Scorecard",
"operationId": "listScorecardScores",
"parameters": [
{
"description": "Entity tag (x-cortex-tag)",
"in": "query",
"name": "entityTag",
"schema": {
"type": "string"
}
},
{
"description": "Unique tag for the Scorecard",
"example": "my-production-readiness-checklist",
"in": "path",
"name": "tag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScorecardServiceScore"
}
}
},
"description": "Scorecard scores"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Scorecard not found"
}
},
"summary": "Retrieve Scorecard scores",
"tags": [
"Scorecards"
]
}
},
"/api/v1/service-groups/relationships": {
"delete": {
"operationId": "deleteGroupHierarchyRelationships",
"parameters": [
{
"in": "query",
"name": "parent",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "child",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsResponse"
}
}
},
"description": "Successfully delete group relationship"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Group not found"
}
},
"summary": "Delete relationship between groups",
"tags": [
"Groups Hierarchy"
]
},
"put": {
"operationId": "replaceGroupHierarchyRelationships",
"parameters": [
{
"in": "query",
"name": "replace",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupRelationshipsResponse"
}
}
},
"description": "Successfully created group relationships"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Replace group relationships",
"tags": [
"Groups Hierarchy"
]
}
},
"/api/v1/sonarqube/configuration": {
"post": {
"operationId": "SonarQubeSaveConfiguration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SonarqubeConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseSonarqubeConfiguration"
}
}
},
"description": "Successfully added configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add a single configuration",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/sonarqube/configuration/validate": {
"post": {
"operationId": "SonarQubeValidateAllConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleIntegrationConfigValidation"
}
}
},
"description": "Successfully validated all configurations"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate all configurations",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/sonarqube/configuration/validate/{alias}": {
"post": {
"operationId": "SonarQubeValidateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
},
"description": "Successfully validated configuration"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Validate a configuration",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/sonarqube/configuration/{alias}": {
"delete": {
"operationId": "SonarQubeRemoveConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseSonarqubeConfiguration"
}
}
},
"description": "Successfully deleted configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Delete a configuration",
"tags": [
"[Integrations] SonarQube"
]
},
"get": {
"operationId": "SonarQubeGetConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/SonarqubeConfiguration"
}
}
},
"description": "Successfully found configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Retrieve a configuration",
"tags": [
"[Integrations] SonarQube"
]
},
"put": {
"description": "WARNING: Updating aliases for configurations or changing the default configuration could cause entity YAMLs that use this integration to break.",
"operationId": "SonarQubeUpdateConfiguration",
"parameters": [
{
"in": "path",
"name": "alias",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SonarqubeUpdateConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseSonarqubeConfiguration"
}
}
},
"description": "Successfully updated configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Configuration not found"
}
},
"summary": "Update a configuration",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/sonarqube/configurations": {
"delete": {
"operationId": "SonarQubeRemoveAllConfigurations",
"responses": {
"200": {
"description": "Successfully deleted all configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Delete all configurations",
"tags": [
"[Integrations] SonarQube"
]
},
"get": {
"operationId": "SonarQubeListConfigurations",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsResponseSonarqubeConfiguration"
}
}
},
"description": "Successfully found configurations"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve configurations",
"tags": [
"[Integrations] SonarQube"
]
},
"post": {
"operationId": "SonarQubeSaveConfigurations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurationsRequestSonarqubeConfigurationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/MultipleConfigurationsResponseSonarqubeConfiguration"
}
}
},
"description": "Successfully added configurations"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
}
},
"summary": "Add multiple configurations",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/sonarqube/default-configuration": {
"get": {
"operationId": "SonarQubeGetDefaultConfiguration",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/SonarqubeConfiguration"
}
}
},
"description": "Successfully found default configuration"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Retrieve default configuration",
"tags": [
"[Integrations] SonarQube"
]
}
},
"/api/v1/teams": {
"delete": {
"operationId": "deleteTeam",
"parameters": [
{
"in": "query",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Unit"
}
}
},
"description": "Successfully deleted team"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Delete team",
"tags": [
"Teams"
]
},
"get": {
"description": "*Warning:* This API can return team details if you pass in a teamTag query parameter. However, this should only be used to retrieve team details if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under `Teams` -\u003e `Retrieve team details`. When retrieving team details, the response will be a single team entity instead of a list.\n\nNote: the response objects can also include an `idpGroup` or `cortexTeam` field depending on whether the team contains a `group` or only consists of individually defined `members`.",
"operationId": "getTeamDetailsAdvanced",
"parameters": [
{
"description": "Include teams without members",
"example": false,
"in": "query",
"name": "includeTeamsWithoutMembers",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"description": "Team identifier",
"example": "my-team",
"in": "query",
"name": "teamTag",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllTeamsResponse"
}
}
},
"description": "Object containing a list of teams"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Retrieve list of teams or team details",
"tags": [
"Teams"
]
},
"post": {
"description": "Team memberships can be backed by an IdP group (from Okta, Azure AD, Google Groups, etc), or can be managed directly through Cortex. Each has a separate request shape, so make sure to select the correct example.",
"operationId": "createTeam",
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/IdentityProviderBackedTeam"
},
{
"$ref": "#/components/schemas/ManagedTeam"
}
]
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully created a team"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Create a team",
"tags": [
"Teams"
]
},
"put": {
"description": "*Warning:* This API should only be used if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under `Teams`.",
"operationId": "updateTeamAdvanced",
"parameters": [
{
"in": "query",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTeamRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully updated team"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Update team metadata",
"tags": [
"Teams [Advanced]"
]
}
},
"/api/v1/teams/departments": {
"delete": {
"operationId": "deleteDepartment",
"parameters": [
{
"in": "query",
"name": "departmentTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Unit"
}
}
},
"description": "Successfully deleted department"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Department not found"
}
},
"summary": "Delete department",
"tags": [
"Teams [Departments] (legacy)"
]
},
"get": {
"operationId": "listDepartments",
"parameters": [
{
"in": "query",
"name": "departmentTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllDepartmentsResponse"
}
}
},
"description": "Successfully found department"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Department not found"
}
},
"summary": "Retrieve department details",
"tags": [
"Teams [Departments] (legacy)",
"Teams Hierarchies"
]
},
"post": {
"operationId": "createDepartment",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDepartmentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DepartmentResponse"
}
}
},
"description": "Successfully created a department"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Create department",
"tags": [
"Teams [Departments] (legacy)"
]
},
"put": {
"operationId": "updateDepartment",
"parameters": [
{
"in": "query",
"name": "departmentTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDepartmentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DepartmentResponse"
}
}
},
"description": "Successfully updated department"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Department not found"
}
},
"summary": "Update department",
"tags": [
"Teams [Departments] (legacy)"
]
}
},
"/api/v1/teams/members": {
"put": {
"description": "For teams whose members are not backed by an IdP, use this API to update the team members. Note that it will replace the members in the team with the members defined in this request. \n*Warning:* This API should only be used if your team identifier contains non-alphanumeric characters. Otherwise, use the standard API under `Teams`.",
"operationId": "updateCortexTeamMembersAdvanced",
"parameters": [
{
"in": "query",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CortexManaged"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully updated team members"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "[Cortex managed teams] Update members in team",
"tags": [
"Teams [Advanced]"
]
}
},
"/api/v1/teams/relationships": {
"get": {
"operationId": "getTeamHierarchyRelationships",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamsRelationshipsResponse"
}
}
},
"description": "Successfully found team relationships"
}
},
"summary": "Retrieve team relationships",
"tags": [
"Teams Hierarchies"
]
},
"put": {
"operationId": "replaceAllTeamHierarchyRelationships",
"parameters": [
{
"description": "Supports only replace\u003dtrue right now",
"example": true,
"in": "query",
"name": "replace",
"required": true,
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamsRelationshipsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamsRelationshipsResponse"
}
}
},
"description": "Successfully created team relationships"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "Replace all relationships",
"tags": [
"Teams Hierarchies"
]
}
},
"/api/v1/teams/{teamTag}": {
"get": {
"operationId": "getTeamDetails",
"parameters": [
{
"in": "path",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully found team\n\nNote: the response objects can also include an `idpGroup` or `cortexTeam` field depending on whether the team contains a `group` or only consists of individually defined `members`."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Retrieve team details",
"tags": [
"Teams"
]
},
"put": {
"operationId": "updateTeamMetadata",
"parameters": [
{
"in": "path",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTeamRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully updated team"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Update team metadata",
"tags": [
"Teams"
]
}
},
"/api/v1/teams/{teamTag}/archive": {
"put": {
"operationId": "archiveTeam",
"parameters": [
{
"in": "path",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully archived team"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Archive team",
"tags": [
"Teams"
]
}
},
"/api/v1/teams/{teamTag}/members": {
"put": {
"description": "For teams whose members are not backed by an IdP, use this API to update the team members. Note that it will replace the members in the team with the members defined in this request.",
"operationId": "updateCortexTeamMembers",
"parameters": [
{
"in": "path",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CortexManaged"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully updated team members"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Bad Request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "[Cortex managed teams] Update members in team",
"tags": [
"Teams"
]
}
},
"/api/v1/teams/{teamTag}/unarchive": {
"put": {
"operationId": "unarchiveTeam",
"parameters": [
{
"in": "path",
"name": "teamTag",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TeamResponse"
}
}
},
"description": "Successfully unarchived team"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Team not found"
}
},
"summary": "Unarchive team",
"tags": [
"Teams"
]
}
}
},
"components": {
"schemas": {
"AllDepartmentsResponse": {
"required": [
"departments"
],
"type": "object",
"properties": {
"departments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentResponse"
}
}
}
},
"AllGithubConfigurationResponse": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GithubConfigurationResponse"
}
}
}
},
"AllTeamsResponse": {
"required": [
"teams"
],
"type": "object",
"properties": {
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamResponse"
}
}
}
},
"App": {
"required": [
"alias",
"isDefault",
"type"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"appUrl": {
"type": "string"
},
"host": {
"type": "string"
},
"installation": {
"$ref": "#/components/schemas/Installation"
},
"isDefault": {
"type": "boolean"
},
"type": {
"type": "string"
}
}
},
"AuditLogResponse": {
"required": [
"action",
"objectIdentifier",
"objectType",
"timestamp"
],
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Type of action performed",
"enum": [
"CREATE",
"UPDATE",
"DELETE"
]
},
"actorIdentifier": {
"type": "string",
"description": "Readable identifier of the authenticated actor. This could an be OAuth user email, API key identifier, attributed webhook, etc."
},
"ipAddress": {
"type": "string",
"description": "IP address of the actor"
},
"objectIdentifier": {
"type": "string",
"description": "Readable identifier of the object acted upon"
},
"objectType": {
"type": "string",
"description": "Type of object acted upon"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
},
"AuditLogsResponse": {
"required": [
"logs",
"page",
"total",
"totalPages"
],
"type": "object",
"properties": {
"logs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuditLogResponse"
}
},
"page": {
"type": "integer",
"description": "Current page number, 0-indexed",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of results",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
}
}
},
"AvailableCloudControlTypeResponse": {
"required": [
"enabled",
"type"
],
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether AWS type is configured to be discovered and imported into the catalogs"
},
"type": {
"type": "string",
"description": "AWS type",
"example": "AWS::S3::Bucket"
}
},
"description": "List of AWS types and whether they\u0027re configured to be discovered and imported into the catalogs"
},
"AwsCloudControlTypeConfigurationRequest": {
"required": [
"enabled",
"type"
],
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether AWS type is configured to be discovered and imported into the catalogs"
},
"type": {
"type": "string",
"description": "AWS type",
"example": "AWS::S3::Bucket"
}
},
"description": "List of AWS types and whether they\u0027re configured to be discovered and imported into the catalogs"
},
"AwsCloudControlTypeResponse": {
"required": [
"hasMore",
"page",
"total",
"totalPages",
"types"
],
"type": "object",
"properties": {
"hasMore": {
"type": "boolean",
"description": "If there are more pages"
},
"page": {
"type": "integer",
"description": "Number of page",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of AWS Resources types",
"format": "int64"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
},
"types": {
"type": "array",
"description": "List of AWS types types and whether they\u0027re configured to be discovered and imported into the catalogs",
"items": {
"$ref": "#/components/schemas/AvailableCloudControlTypeResponse"
}
}
}
},
"AwsCloudControlTypesConfigurationRequest": {
"required": [
"types"
],
"type": "object",
"properties": {
"types": {
"type": "array",
"description": "List of AWS types and whether they\u0027re configured to be discovered and imported into the catalogs",
"items": {
"$ref": "#/components/schemas/AwsCloudControlTypeConfigurationRequest"
}
}
}
},
"AwsCloudControlTypesResponse": {
"required": [
"types"
],
"type": "object",
"properties": {
"types": {
"type": "array",
"description": "List of AWS types and whether they\u0027re configured to be discovered and imported into the catalogs",
"items": {
"$ref": "#/components/schemas/AvailableCloudControlTypeResponse"
}
}
}
},
"AzureResourceType": {
"required": [
"enabled",
"type"
],
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether Azure Resources type is configured to be discovered and imported into the catalogs"
},
"type": {
"type": "string",
"description": "Azure Resources type",
"example": "microsoft.policyinsights/policyevents"
}
},
"description": "List of Azure Resources types and whether they\u0027re configured to be discovered and imported into the catalogs"
},
"AzureResourceTypesResponse": {
"required": [
"hasMore",
"page",
"total",
"totalPages",
"types"
],
"type": "object",
"properties": {
"hasMore": {
"type": "boolean",
"description": "If there are more pages"
},
"page": {
"type": "integer",
"description": "Number of page",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of Azure Resources types",
"format": "int64"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
},
"types": {
"type": "array",
"description": "List of Azure Resources types and whether they\u0027re configured to be discovered and imported into the catalogs",
"items": {
"$ref": "#/components/schemas/AzureResourceType"
}
}
}
},
"AzureResourcesConfiguration": {
"required": [
"alias",
"azureTenantId",
"clientId",
"isDefault",
"lastFour",
"subscriptionId"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"azureTenantId": {
"type": "string"
},
"clientId": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
},
"subscriptionId": {
"type": "string"
}
}
},
"AzureResourcesConfigurationRequest": {
"required": [
"alias",
"azureTenantId",
"clientId",
"clientSecret",
"isDefault",
"subscriptionId"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"azureTenantId": {
"type": "string"
},
"clientId": {
"type": "string"
},
"clientSecret": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"subscriptionId": {
"type": "string"
}
}
},
"AzureResourcesUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"BaseRole": {
"required": [
"tag",
"type"
],
"type": "object",
"properties": {
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"discriminator": {
"propertyName": "type"
}
},
"BulkAwsConfigurationsRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SingleAwsConfigurationRequest"
}
}
}
},
"BulkAwsConfigurationsResponse": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SingleAwsConfigurationResponse"
}
}
}
},
"BulkCustomDataRequest": {
"required": [
"values"
],
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {
"type": "array",
"description": "Map of entity tag -\u003e custom data key/values",
"example": {
"another-service-tag": [
{
"key": "different-key",
"value": {
"nested": "object"
}
},
{
"key": "my-cool-key",
"value": "Hello again"
}
],
"service-x": [
{
"key": "my-key",
"value": 100
},
{
"key": "my-second-key",
"value": "Hello"
}
]
},
"items": {
"$ref": "#/components/schemas/DataCreateRequest"
}
},
"description": "Map of entity tag -\u003e custom data key/values",
"example": {
"another-service-tag": [
{
"key": "different-key",
"value": {
"nested": "object"
}
},
{
"key": "my-cool-key",
"value": "Hello again"
}
],
"service-x": [
{
"key": "my-key",
"value": 100
},
{
"key": "my-second-key",
"value": "Hello"
}
]
}
}
}
},
"BulkCustomDataResponse": {
"required": [
"values"
],
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomData"
}
}
}
},
"BulkDependencyInnerRequest": {
"required": [
"tag"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/JsonNode"
},
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"tag": {
"type": "string",
"description": "Entity tag (`x-cortex-tag`) for the `callee`"
}
},
"description": "Map of `caller` service to dependencies"
},
"BulkDependencyInnerResponse": {
"required": [
"tag"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/JsonNode"
},
"method": {
"$ref": "#/components/schemas/HttpMethod"
},
"path": {
"type": "string"
},
"tag": {
"type": "string",
"description": "Entity tag (`x-cortex-tag`) for the `callee`"
}
},
"description": "Map of `caller` service to dependencies"
},
"BulkDependencyRequest": {
"required": [
"values"
],
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {
"type": "array",
"description": "Map of `caller` service to dependencies",
"items": {
"$ref": "#/components/schemas/BulkDependencyInnerRequest"
}
},
"description": "Map of `caller` service to dependencies"
}
}
},
"BulkDependencyResponse": {
"required": [
"values"
],
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {
"type": "array",
"description": "Map of `caller` service to dependencies",
"items": {
"$ref": "#/components/schemas/BulkDependencyInnerResponse"
}
},
"description": "Map of `caller` service to dependencies"
}
}
},
"CatalogDefinitionResponse": {
"required": [
"schema",
"source",
"type"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"schema": {
"$ref": "#/components/schemas/JsonNode"
},
"source": {
"type": "string",
"enum": [
"CORTEX",
"CUSTOM"
]
},
"type": {
"type": "string"
}
}
},
"CatalogDefinitionsListResponse": {
"required": [
"definitions"
],
"type": "object",
"properties": {
"definitions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CatalogDefinitionResponse"
}
}
}
},
"ConfigurationsRequestAzureResourcesConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AzureResourcesConfigurationRequest"
}
}
}
},
"ConfigurationsRequestCoralogixConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CoralogixConfigurationRequest"
}
}
}
},
"ConfigurationsRequestDatadogConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DatadogConfigurationRequest"
}
}
}
},
"ConfigurationsRequestGitlabConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitlabConfigurationRequest"
}
}
}
},
"ConfigurationsRequestIncidentIoConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IncidentIoConfigurationRequest"
}
}
}
},
"ConfigurationsRequestLaunchDarklyConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LaunchDarklyConfigurationRequest"
}
}
}
},
"ConfigurationsRequestNewrelicConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NewrelicConfigurationRequest"
}
}
}
},
"ConfigurationsRequestPrometheusConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrometheusConfigurationRequest"
}
}
}
},
"ConfigurationsRequestSonarqubeConfigurationRequest": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SonarqubeConfigurationRequest"
}
}
}
},
"ConfigurationsResponseAzureResourcesConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AzureResourcesConfiguration"
}
}
}
},
"ConfigurationsResponseCoralogixConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CoralogixConfiguration"
}
}
}
},
"ConfigurationsResponseDatadogConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DatadogConfiguration"
}
}
}
},
"ConfigurationsResponseGitlabConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitlabConfiguration"
}
}
}
},
"ConfigurationsResponseIncidentIoConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IncidentIoConfiguration"
}
}
}
},
"ConfigurationsResponseLaunchDarklyConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LaunchDarklyConfiguration"
}
}
}
},
"ConfigurationsResponseNewrelicConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NewrelicConfiguration"
}
}
}
},
"ConfigurationsResponsePagerdutyConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PagerdutyConfiguration"
}
}
}
},
"ConfigurationsResponsePrometheusConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrometheusConfiguration"
}
}
}
},
"ConfigurationsResponseSonarqubeConfiguration": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SonarqubeConfiguration"
}
}
}
},
"CoralogixConfiguration": {
"required": [
"alias",
"isDefault",
"lastFour",
"region"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
},
"region": {
"type": "string",
"enum": [
"US1",
"US2",
"EU1",
"EU2",
"AP1",
"AP2"
]
}
}
},
"CoralogixConfigurationRequest": {
"required": [
"alias",
"apiKey",
"isDefault",
"region"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"apiKey": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"region": {
"type": "string",
"enum": [
"US1",
"US2",
"EU1",
"EU2",
"AP1",
"AP2"
]
}
}
},
"CoralogixUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"CortexEntity": {
"required": [
"name",
"tag",
"type"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the entity visible in the catalog. This may contain markdown."
},
"name": {
"type": "string",
"description": "Human-readable name for the entity",
"example": "My Favorite Entity"
},
"tag": {
"type": "string",
"description": "Unique identifier for the entity. Corresponds to the x-cortex-tag field in the entity descriptor.",
"example": "my-favorite-entity"
},
"type": {
"type": "string",
"description": "Type of the entity. Corresponds to the x-cortex-type field in the entity descriptor or \u0027service\u0027 for services.",
"example": "service"
}
},
"description": "Related Cortex entity"
},
"CortexManaged": {
"required": [
"members",
"type"
],
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CortexTeamMember"
}
},
"type": {
"type": "string"
}
}
},
"CortexPluginContext": {
"required": [
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"description": "Which contexts the plugin should execute/show up in, e.g. `{ \"type\": \"GLOBAL\" }`",
"discriminator": {
"propertyName": "type"
}
},
"CortexTeamDetails": {
"required": [
"members"
],
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CortexTeamMember"
}
}
}
},
"CortexTeamMember": {
"required": [
"email",
"name"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"roleTag": {
"type": "string"
}
}
},
"CortexUserDefinition": {
"required": [
"dateCreated",
"email",
"name",
"oauthUserId",
"tenantId"
],
"type": "object",
"properties": {
"dateCreated": {
"type": "string",
"format": "date-time"
},
"email": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"oauthUserId": {
"type": "string"
},
"tenantId": {
"type": "integer",
"format": "int64"
}
},
"description": "The creator of the plugin. Null if created via API."
},
"CreateCatalogDefinitionRequest": {
"required": [
"schema",
"type"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"schema": {
"$ref": "#/components/schemas/JsonNode"
},
"type": {
"type": "string"
}
}
},
"CreateDepartmentRequest": {
"required": [
"departmentTag",
"members",
"name"
],
"type": "object",
"properties": {
"departmentTag": {
"type": "string",
"description": "Unique identifier for the department, which is used for API operations"
},
"description": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentMemberRequest"
}
},
"name": {
"type": "string"
}
}
},
"CreatePluginRequest": {
"required": [
"blob",
"contexts",
"isDraft",
"minimumRoleRequired",
"name",
"tag"
],
"type": "object",
"properties": {
"blob": {
"type": "string",
"description": "The raw source code of the plugin. This should be an `.html` file"
},
"contexts": {
"type": "array",
"description": "Which contexts the plugin should execute/show up in, e.g. `{ \"type\": \"GLOBAL\" }`",
"items": {
"$ref": "#/components/schemas/CortexPluginContext"
}
},
"description": {
"type": "string",
"description": "Description of the plugin"
},
"isDraft": {
"type": "boolean",
"description": "Whether the plugin is generally available or not"
},
"minimumRoleRequired": {
"type": "string",
"description": "The minimum role required to see the plugin, e.g. `USER`",
"enum": [
"VIEWER",
"USER",
"MANAGER",
"API",
"OWNER"
]
},
"name": {
"type": "string",
"description": "Display name of the plugin"
},
"proxyTag": {
"type": "string",
"description": "The identifier of the proxy to use for requests from this plugin"
},
"tag": {
"type": "string",
"description": "Unique identifier for the plugin"
}
}
},
"CreateTeamRequest": {
"required": [
"links",
"metadata",
"slackChannels",
"teamTag",
"type",
"type "
],
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamsLink"
}
},
"metadata": {
"$ref": "#/components/schemas/TeamMetadata"
},
"slackChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SlackChannel"
}
},
"teamTag": {
"type": "string"
},
"type": {
"type": "string"
},
"type ": {
"type": "string",
"description": "Use \"IDP\" for IdentityProviderBackedTeam and \"CORTEX\" for ManagedTeam"
}
},
"discriminator": {
"propertyName": "type"
}
},
"CurrentLevel": {
"required": [
"name",
"number"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the level",
"example": "Bronze"
},
"number": {
"type": "integer",
"description": "Rank of the level where 1 is the highest",
"format": "int32"
}
}
},
"CurrentOncallDetails": {
"required": [
"current"
],
"type": "object",
"properties": {
"current": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OncallDetails"
}
}
}
},
"CustomData": {
"required": [
"dateUpdated",
"key",
"source",
"value"
],
"type": "object",
"properties": {
"dateUpdated": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"key": {
"type": "string"
},
"source": {
"type": "string",
"enum": [
"YAML",
"API",
"INTEGRATION"
]
},
"value": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"CustomDataType": {
"type": "object",
"properties": {
"value": {
"type": "object",
"writeOnly": true
}
},
"description": "Value for the key; can be any valid JSON type",
"example": {
"nested": {
"objects": "are ok"
}
}
},
"CustomDeploy": {
"required": [
"timestamp",
"title",
"type",
"uuid"
],
"type": "object",
"properties": {
"customData": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Arbitrary string-to-any map of custom data about the deploy event"
},
"description": "Arbitrary string-to-any map of custom data about the deploy event"
},
"deployer": {
"$ref": "#/components/schemas/Deployer"
},
"deployerEmail": {
"type": "string",
"description": "Replaced with Deployer object",
"deprecated": true
},
"deployerName": {
"type": "string",
"description": "Replaced with Deployer object",
"deprecated": true
},
"environment": {
"type": "string"
},
"sha": {
"type": "string",
"description": "Optional commit SHA hash that this deploy corresponds to"
},
"timestamp": {
"type": "string",
"description": "ISO8601 timestamp string in UTC",
"format": "date-time"
},
"title": {
"type": "string",
"description": "Human readable title for the deploy. This is usually the commit message or PR title."
},
"type": {
"type": "string",
"enum": [
"DEPLOY",
"SCALE",
"ROLLBACK",
"RESTART"
]
},
"url": {
"type": "string",
"description": "Optional URL associated with deployment",
"example": "https://cortex.io"
},
"uuid": {
"type": "string",
"format": "uuid"
}
}
},
"CustomEventListResponse": {
"required": [
"events"
],
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomEventResponse"
}
}
}
},
"CustomEventResponse": {
"required": [
"timestamp",
"title",
"type",
"uuid"
],
"type": "object",
"properties": {
"customData": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Optional property to store additional data"
},
"description": "Optional property to store additional data"
},
"description": {
"type": "string",
"description": "Optional description of custom event"
},
"timestamp": {
"type": "string",
"description": "Time when event occurred",
"format": "date-time"
},
"title": {
"type": "string",
"description": "Name for custom event",
"example": "Created K8s pod"
},
"type": {
"type": "string",
"description": "Type of custom event",
"example": "POD_CREATION"
},
"url": {
"type": "string",
"description": "Optional URL associated with custom event",
"example": "https://cortex.io"
},
"uuid": {
"type": "string",
"description": "Automatically generated identifier",
"format": "uuid",
"example": "d853c6e0-1bca-40bf-a264-db5d4ee38d77"
}
}
},
"DataCreateRequest": {
"required": [
"key",
"value"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"key": {
"type": "string",
"description": "Custom data key for the entity",
"example": "my-key"
},
"value": {
"$ref": "#/components/schemas/CustomDataType"
}
}
},
"DatadogConfiguration": {
"required": [
"alias",
"environments",
"isDefault",
"lastFourApiKey",
"lastFourAppKey",
"region"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"customSubdomain": {
"type": "string"
},
"environments": {
"type": "array",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"lastFourApiKey": {
"type": "string"
},
"lastFourAppKey": {
"type": "string"
},
"region": {
"type": "string",
"enum": [
"EU1",
"US1",
"US3",
"US5",
"US1_FED"
]
}
}
},
"DatadogConfigurationRequest": {
"required": [
"alias",
"apiKey",
"appKey",
"environments",
"isDefault",
"region"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"apiKey": {
"type": "string"
},
"appKey": {
"type": "string"
},
"customSubdomain": {
"type": "string"
},
"environments": {
"type": "array",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
},
"region": {
"type": "string",
"enum": [
"EU1",
"US1",
"US3",
"US5",
"US1_FED"
]
}
}
},
"DatadogUpdateConfigurationRequest": {
"required": [
"alias",
"environments",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"environments": {
"type": "array",
"items": {
"type": "string"
}
},
"isDefault": {
"type": "boolean"
}
}
},
"DecryptedPersonalAccessToken": {
"required": [
"accessToken",
"alias",
"isDefault"
],
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"alias": {
"type": "string"
},
"apiHost": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"DepartmentMemberRequest": {
"required": [
"email",
"name"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "string"
}
}
},
"DepartmentMemberResponse": {
"required": [
"email",
"name"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"$ref": "#/components/schemas/BaseRole"
}
}
},
"DepartmentResponse": {
"required": [
"catalogEntityTag",
"departmentTag",
"members",
"name"
],
"type": "object",
"properties": {
"catalogEntityTag": {
"type": "string"
},
"departmentTag": {
"type": "string"
},
"description": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentMemberResponse"
}
},
"name": {
"type": "string"
}
}
},
"DependencyCreateRequest": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"DependencyResponse": {
"required": [
"calleeTag",
"calleeType",
"callerTag",
"callerType"
],
"type": "object",
"properties": {
"calleeTag": {
"type": "string",
"description": "Entity tag (x-cortex-tag) for the callee entity"
},
"calleeType": {
"type": "string",
"description": "Type of the callee entity. Corresponds to the x-cortex-type field in the entity descriptor or ‘service’ for services."
},
"callerTag": {
"type": "string",
"description": "Entity tag (x-cortex-tag) for the caller entity"
},
"callerType": {
"type": "string",
"description": "Type of the caller entity. Corresponds to the x-cortex-type field in the entity descriptor or ‘service’ for services."
},
"description": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/JsonNode"
},
"method": {
"type": "string",
"description": "Possible values: [GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE]"
},
"path": {
"type": "string"
}
}
},
"DependencyUpdateRequest": {
"required": [
"description",
"metadata"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"Deployer": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"DeploysResponse": {
"required": [
"deploys"
],
"type": "object",
"properties": {
"deploys": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomDeploy"
}
}
}
},
"DetailsResponse": {
"required": [
"groups",
"hierarchy",
"isArchived",
"lastUpdated",
"links",
"metadata",
"name",
"ownership",
"slackChannels",
"tag",
"type"
],
"type": "object",
"properties": {
"definition": {
"$ref": "#/components/schemas/JsonNode"
},
"description": {
"type": "string",
"description": "Description of the entity visible in the Service, Resource, or Domain Catalog. Markdown is supported."
},
"git": {
"$ref": "#/components/schemas/GitDetails"
},
"groups": {
"type": "array",
"description": "Corresponds to the x-cortex-groups field in the Catalog Descriptor",
"items": {
"type": "string",
"description": "Corresponds to the x-cortex-groups field in the Catalog Descriptor"
}
},
"hierarchy": {
"$ref": "#/components/schemas/EntityHierarchyDetails"
},
"isArchived": {
"type": "boolean"
},
"lastUpdated": {
"type": "string",
"description": "Last updated ISO timestamp",
"format": "date-time"
},
"links": {
"type": "array",
"description": "Relevant links for the entity. Corresponds to the x-cortex-links field in the entity descriptor",
"items": {
"$ref": "#/components/schemas/Link"
}
},
"metadata": {
"type": "array",
"description": "Custom data key/values associated with the entity",
"items": {
"$ref": "#/components/schemas/Metadata"
}
},
"name": {
"type": "string",
"description": "Human-readable name for the entity",
"example": "My Favorite Entity"
},
"ownersV2": {
"$ref": "#/components/schemas/OwnersDetails"
},
"ownership": {
"$ref": "#/components/schemas/Owners"
},
"slackChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SlackChannelDetails"
}
},
"tag": {
"type": "string",
"description": "Unique identifier for the entity. Corresponds to the x-cortex-tag field in the entity descriptor.",
"example": "my-favorite-entity"
},
"type": {
"type": "string",
"description": "Type of the entity. Corresponds to the x-cortex-type field in the entity descriptor or \u0027service\u0027 for services.",
"example": "service"
}
}
},
"DiscoveryAuditEvent": {
"required": [
"isIgnored",
"mappingKey",
"source",
"type"
],
"type": "object",
"properties": {
"entity": {
"$ref": "#/components/schemas/CortexEntity"
},
"isIgnored": {
"type": "boolean",
"description": "Specifies whether discovered event is marked as ignored",
"example": true
},
"mappingKey": {
"$ref": "#/components/schemas/EntityDiscoveryKey"
},
"source": {
"type": "string",
"description": "Integration source",
"example": "AWS",
"enum": [
"AWS",
"AZURE_DEVOPS",
"AZURE_RESOURCES",
"BITBUCKET",
"DATADOG",
"DYNATRACE",
"ECS",
"GCP",
"GITHUB",
"GITLAB",
"INSTANA",
"K8S",
"LIGHTSTEP",
"LAMBDA",
"NEWRELIC",
"SERVICENOW"
]
},
"type": {
"type": "string",
"description": "Type of the event",
"example": "NEW_REPOSITORY",
"enum": [
"NEW_REPOSITORY",
"REPOSITORY_DELETED",
"REPOSITORY_ARCHIVED",
"NEW_K8S_RESOURCE",
"NEW_APM_RESOURCE",
"APM_RESOURCE_NOT_DETECTED",
"NEW_ECS_RESOURCE",
"ECS_RESOURCE_NOT_DETECTED",
"NEW_AWS_RESOURCE",
"AWS_RESOURCE_NOT_DETECTED",
"NEW_GOOGLE_CLOUD_RESOURCE",
"GOOGLE_CLOUD_RESOURCE_NOT_DETECTED",
"NEW_AZURE_RESOURCE",
"AZURE_RESOURCE_NOT_DETECTED"
]
}
}
},
"DiscoveryAuditReportResponse": {
"required": [
"events"
],
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DiscoveryAuditEvent"
}
}
}
},
"EditPersonalConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"Email": {
"required": [
"email"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of this owner defined in the Catalog Descriptor, not to be confused with the description of the team in the Team pages"
},
"email": {
"type": "string"
},
"inheritance": {
"type": "string",
"description": "Inheritance type, only defined for domain entities",
"enum": [
"APPEND",
"FALLBACK",
"NONE"
]
}
}
},
"EntityDetailsSummary": {
"required": [
"groups",
"hierarchy",
"isArchived",
"lastUpdated",
"links",
"name",
"slackChannels",
"tag",
"type"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the entity visible in the Service, Resource, or Domain Catalog. This may contain markdown."
},
"git": {
"$ref": "#/components/schemas/GitDetails"
},
"groups": {
"type": "array",
"description": "Corresponds to the x-cortex-groups field in the Catalog Descriptor",
"items": {
"type": "string",
"description": "Corresponds to the x-cortex-groups field in the Catalog Descriptor"
}
},
"hierarchy": {
"$ref": "#/components/schemas/EntityHierarchyDetails"
},
"isArchived": {
"type": "boolean"
},
"lastUpdated": {
"type": "string",
"description": "Last updated ISO timestamp",
"format": "date-time"
},
"links": {
"type": "array",
"description": "Relevant links for the entity. Corresponds to the x-cortex-links field in the entity descriptor",
"items": {
"$ref": "#/components/schemas/Link"
}
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamMember"
}
},
"metadata": {
"type": "array",
"description": "Custom data key/values associated with the entity.",
"items": {
"$ref": "#/components/schemas/Metadata"
}
},
"name": {
"type": "string",
"description": "Human-readable name for the entity",
"example": "My Favorite Entity"
},
"owners": {
"$ref": "#/components/schemas/OwnersDetails"
},
"slackChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SlackChannelDetails"
}
},
"tag": {
"type": "string",
"description": "Unique identifier for the entity. Corresponds to the x-cortex-tag field in the entity descriptor.",
"example": "my-favorite-entity"
},
"type": {
"type": "string",
"description": "Type of the entity. Corresponds to the x-cortex-type field in the entity descriptor or \u0027service\u0027 for services.",
"example": "service"
}
}
},
"EntityDiscoveryKey": {
"required": [
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string"
}
},
"description": "Mapping key of the event. Its schema is dependent on the source",
"example": {
"type": "AWS",
"arn": "arn"
},
"discriminator": {
"propertyName": "type"
}
},
"EntityHierarchyDetails": {
"required": [
"children",
"parents"
],
"type": "object",
"properties": {
"children": {
"uniqueItems": true,
"type": "array",
"description": "Nested children chain for the specific entity.",
"items": {
"$ref": "#/components/schemas/HierarchyChildNode"
}
},
"parents": {
"uniqueItems": true,
"type": "array",
"description": "Nested parent chain for the specific entity.",
"items": {
"$ref": "#/components/schemas/HierarchyParentNode"
}
}
},
"description": "Hierarchy details for the entity. Includes both the parent \u0026 the children chains."
},
"ErrorResponse": {
"required": [
"message",
"type"
],
"type": "object",
"properties": {
"details": {
"type": "string"
},
"gatewayHttpStatus": {
"type": "integer",
"format": "int32"
},
"httpStatus": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"requestId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"INTEGRATION_MISSING",
"INTEGRATION_UNREGISTERED",
"INTEGRATION_UNSUPPORTED",
"INTEGRATION_GRAPHQL_ERROR",
"INTEGRATION_BAD_REQUEST",
"INTEGRATION_UNAUTHORIZED",
"INTEGRATION_FORBIDDEN",
"INTEGRATION_NOT_FOUND",
"INTEGRATION_UNPROCESSABLE_CONTENT",
"INTEGRATION_RATE_LIMITED",
"INTEGRATION_INTERNAL_ERROR",
"INTEGRATION_NOT_IMPLEMENTED",
"INTEGRATION_BAD_GATEWAY",
"INTEGRATION_UNAVAILABLE",
"INTEGRATION_GATEWAY_TIMEOUT",
"INTEGRATION_TIMED_OUT",
"INTEGRATION_CACHE_ERROR",
"INTEGRATION_UNHANDLED_HTTP_ERROR",
"INTEGRATION_UNHANDLED_EXCEPTION",
"INTEGRATION_UNEXPECTED_ERROR",
"ILLEGAL_ARGUMENT_ERROR",
"BAD_REQUEST",
"FORBIDDEN",
"NOT_FOUND",
"REQUEST_TIMEOUT",
"CONFLICT",
"UNHANDLED_EXCEPTION",
"UNCATEGORIZED",
"SERVICE_CREATOR",
"UNKNOWN_HOST"
]
}
}
},
"Escalation": {
"required": [
"escalationLevel",
"schedules"
],
"type": "object",
"properties": {
"escalationLevel": {
"type": "integer",
"format": "int32"
},
"schedules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserSchedule"
}
}
},
"description": "List of escalations"
},
"EvaluationDetails": {
"type": "object",
"properties": {
"window": {
"type": "integer",
"description": "Number of hours between Scorecard evaluations. If the evaluation window is not set, the Scorecard is evaluated every 4 hours",
"format": "int64",
"example": 4
}
},
"description": "Evaluation window for how often the Scorecard is run"
},
"ExemptionStatus": {
"required": [
"status"
],
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date on which the exemption was approved or rejected. Null if the status is pending",
"format": "date-time"
},
"handledBy": {
"$ref": "#/components/schemas/RuleExemptionActor"
},
"status": {
"type": "string",
"description": "Status of the exemption. Possible values are APPROVED, REJECTED, and PENDING"
}
},
"description": "Status of the exemption, which describes whether it is approved, rejected, or pending"
},
"Filter": {
"type": "object",
"properties": {
"groups": {
"$ref": "#/components/schemas/GroupFilter"
},
"query": {
"type": "string",
"description": "CQL expression to apply as a filter"
},
"types": {
"$ref": "#/components/schemas/TypeFilter"
}
}
},
"GitDetails": {
"required": [
"provider",
"repository",
"repositoryUrl"
],
"type": "object",
"properties": {
"alias": {
"type": "string",
"description": "Custom defined alias (this is only relevant if you have opted into multi account support)"
},
"basepath": {
"type": "string",
"description": "If the entity is in a monorepo (e.g. in a subdirectory), this field defines the subdirectory"
},
"provider": {
"type": "string",
"description": "Name of the Git provider",
"example": "github"
},
"repository": {
"type": "string",
"description": "Repository name as defined in your Git provider"
},
"repositoryUrl": {
"type": "string",
"description": "URL of the Git repository"
}
},
"description": "Metadata about the entity\u0027s git repository"
},
"GitOpsLogEntityChange": {
"required": [
"name",
"operation",
"tag",
"type"
],
"type": "object",
"properties": {
"name": {
"type": "string"
},
"operation": {
"type": "string",
"enum": [
"CREATED",
"UPDATED",
"ARCHIVED",
"NO_CHANGE"
]
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"GitOpsLogEntityResponse": {
"required": [
"commit",
"dateCreated",
"fileName",
"repository"
],
"type": "object",
"properties": {
"commit": {
"type": "string"
},
"dateCreated": {
"type": "string",
"description": "Date when the GitOps log was created",
"format": "date-time"
},
"fileName": {
"type": "string",
"description": "Relative path of the cortex.yaml file",
"example": ".cortex/catalog/brain-backend.yaml"
},
"repository": {
"$ref": "#/components/schemas/GitOpsLogRepositoryResponse"
}
}
},
"GitOpsLogFileErrorResponse": {
"required": [
"errorType",
"message"
],
"type": "object",
"properties": {
"errorType": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"GitOpsLogFileResponse": {
"required": [
"fileName",
"isPackageFile"
],
"type": "object",
"properties": {
"entity": {
"$ref": "#/components/schemas/GitOpsLogEntityChange"
},
"error": {
"$ref": "#/components/schemas/GitOpsLogFileErrorResponse"
},
"fileName": {
"type": "string"
},
"isPackageFile": {
"type": "boolean"
},
"scorecard": {
"$ref": "#/components/schemas/GitOpsLogScorecardChange"
}
}
},
"GitOpsLogPaginatedResponse": {
"required": [
"logs",
"page",
"total",
"totalPages"
],
"type": "object",
"properties": {
"logs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitOpsLogResponse"
}
},
"page": {
"type": "integer",
"description": "Current page number, 0-indexed",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of results",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
}
}
},
"GitOpsLogRepositoryResponse": {
"required": [
"provider",
"repositoryName"
],
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Name of the Git provider",
"example": "GITHUB",
"enum": [
"AZURE_DEVOPS",
"BITBUCKET",
"GITHUB",
"GITLAB"
]
},
"repositoryName": {
"type": "string",
"description": "Repository name as defined in your Git provider",
"example": "cortexapps/catalog"
}
}
},
"GitOpsLogResponse": {
"required": [
"commit",
"dateCreated",
"files",
"repository"
],
"type": "object",
"properties": {
"commit": {
"type": "string"
},
"dateCreated": {
"type": "string",
"format": "date-time"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitOpsLogFileResponse"
}
},
"repository": {
"$ref": "#/components/schemas/GitOpsLogRepositoryResponse"
}
}
},
"GitOpsLogScorecardChange": {
"required": [
"name",
"operation",
"tag"
],
"type": "object",
"properties": {
"name": {
"type": "string"
},
"operation": {
"type": "string",
"enum": [
"CREATED",
"UPDATED",
"ARCHIVED",
"NO_CHANGE"
]
},
"tag": {
"type": "string"
}
}
},
"GithubAppRequest": {
"required": [
"alias",
"appUrl",
"applicationId",
"clientId",
"clientSecret",
"isDefault",
"privateKey"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"apiHost": {
"type": "string"
},
"appUrl": {
"type": "string"
},
"applicationId": {
"type": "string"
},
"clientId": {
"type": "string"
},
"clientSecret": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"privateKey": {
"type": "string"
}
}
},
"GithubConfigurationResponse": {
"required": [
"alias",
"isDefault",
"type"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"discriminator": {
"propertyName": "type"
}
},
"GitlabConfiguration": {
"required": [
"alias",
"groupNames",
"hidePersonalProjects",
"isDefault",
"lastFour"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"groupNames": {
"type": "array",
"items": {
"type": "string"
}
},
"hidePersonalProjects": {
"type": "boolean"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
}
}
},
"GitlabConfigurationRequest": {
"required": [
"alias",
"groupNames",
"hidePersonalProjects",
"isDefault",
"personalAccessToken"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"groupNames": {
"type": "array",
"items": {
"type": "string"
}
},
"hidePersonalProjects": {
"type": "boolean"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"personalAccessToken": {
"type": "string"
}
}
},
"GitlabUpdateConfigurationRequest": {
"required": [
"alias",
"groupNames",
"hidePersonalProjects",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"groupNames": {
"type": "array",
"items": {
"type": "string"
}
},
"hidePersonalProjects": {
"type": "boolean"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"GroupFilter": {
"type": "object",
"properties": {
"exclude": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
},
"include": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Entity groups to include or exclude"
},
"GroupMembership": {
"required": [
"tag"
],
"type": "object",
"properties": {
"tag": {
"type": "string"
}
}
},
"GroupMembershipsRequest": {
"required": [
"groups"
],
"type": "object",
"properties": {
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupMembership"
}
}
}
},
"GroupMembershipsResponse": {
"required": [
"groups"
],
"type": "object",
"properties": {
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupMembership"
}
}
}
},
"GroupRelationship": {
"required": [
"child",
"parent"
],
"type": "object",
"properties": {
"child": {
"type": "string"
},
"parent": {
"type": "string"
}
}
},
"GroupRelationshipsRequest": {
"required": [
"relationships"
],
"type": "object",
"properties": {
"relationships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupRelationship"
}
}
}
},
"GroupRelationshipsResponse": {
"required": [
"relationships"
],
"type": "object",
"properties": {
"relationships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupRelationship"
}
}
}
},
"HierarchyChildNode": {
"required": [
"children",
"name",
"tag",
"type"
],
"type": "object",
"properties": {
"children": {
"required": [
"name",
"tag",
"type"
],
"type": "object",
"properties": {
"definition": {
"$ref": "#/components/schemas/JsonNode"
},
"description": {
"type": "string"
},
"groups": {
"type": "array",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups",
"items": {
"type": "string",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups"
}
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"description": "Child at the current depth, and its children."
},
"definition": {
"$ref": "#/components/schemas/JsonNode"
},
"description": {
"type": "string"
},
"groups": {
"type": "array",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups",
"items": {
"type": "string",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups"
}
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"description": "Child at the current depth, and its children."
},
"HierarchyParentNode": {
"required": [
"name",
"parents",
"tag",
"type"
],
"type": "object",
"properties": {
"definition": {
"$ref": "#/components/schemas/JsonNode"
},
"description": {
"type": "string"
},
"groups": {
"type": "array",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups",
"items": {
"type": "string",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups"
}
},
"name": {
"type": "string"
},
"parents": {
"required": [
"name",
"tag",
"type"
],
"type": "object",
"properties": {
"definition": {
"$ref": "#/components/schemas/JsonNode"
},
"description": {
"type": "string"
},
"groups": {
"type": "array",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups",
"items": {
"type": "string",
"description": "List of groups for this node. Only included if includeHierarchyFields contains groups"
}
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"description": "Parent at the current depth, and its parents."
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"description": "Parent at the current depth, and its parents."
},
"HttpMethod": {
"type": "object"
},
"IdentityProviderBackedTeam": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/CreateTeamRequest"
},
{
"type": "object",
"properties": {
"idpGroup": {
"$ref": "#/components/schemas/IdpGroupDetailsRequest"
},
"teamTag": {
"type": "string",
"description": "A unique identifier for the team to be used for API/programmatic access"
},
"type": {
"type": "string"
}
}
}
],
"description": "Use this request shape when creating a team entry whose memberships are synced with an Idp group, such as from Okta, Google Groups, Github Teams, Azure AD, etc.",
"required": [
"idpGroup",
"links",
"metadata",
"slackChannels",
"teamTag",
"type"
]
},
"IdpGroupDetailsRequest": {
"required": [
"group",
"provider"
],
"type": "object",
"properties": {
"group": {
"type": "string"
},
"provider": {
"type": "string",
"enum": [
"ACTIVE_DIRECTORY",
"BAMBOOHR",
"GIT",
"GITLAB",
"GOOGLE",
"OKTA",
"OPSGENIE",
"SERVICE_NOW",
"SLACK",
"WORKDAY"
]
}
}
},
"IncidentIoConfiguration": {
"required": [
"alias",
"isDefault",
"lastFour"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
}
}
},
"IncidentIoConfigurationRequest": {
"required": [
"alias",
"apiKey",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"apiKey": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"IncidentIoUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"IndividualOwnerDetails": {
"required": [
"email"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the email owner",
"example": "Product manager"
},
"email": {
"type": "string"
}
}
},
"IndividualServiceOwner": {
"required": [
"email"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"Installation": {
"required": [
"installationId"
],
"type": "object",
"properties": {
"installationId": {
"type": "integer",
"format": "int64"
}
}
},
"IntegrationConfigValidation": {
"required": [
"isValid"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isValid": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
},
"InvalidIpAllowlistEntry": {
"required": [
"address",
"message",
"valid"
],
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "IP address or range",
"example": "10.0.0.1"
},
"description": {
"type": "string",
"description": "Description of an entry"
},
"message": {
"type": "string",
"description": "Validation error message"
},
"valid": {
"type": "boolean"
}
}
},
"IpAllowlistEntry": {
"required": [
"address"
],
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "IP address or range",
"example": "10.0.0.1"
},
"description": {
"type": "string",
"description": "Description of an entry"
}
},
"description": "Allowlist entries"
},
"IpAllowlistRequest": {
"required": [
"entries"
],
"type": "object",
"properties": {
"entries": {
"type": "array",
"description": "Allowlist entries",
"items": {
"$ref": "#/components/schemas/IpAllowlistEntry"
}
}
}
},
"IpAllowlistResponse": {
"required": [
"entries"
],
"type": "object",
"properties": {
"entries": {
"type": "array",
"description": "Allowlist entries",
"items": {
"$ref": "#/components/schemas/IpAllowlistEntry"
}
}
}
},
"JsonDescriptorsListResponse": {
"required": [
"descriptors",
"page",
"total",
"totalPages"
],
"type": "object",
"properties": {
"descriptors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonNode"
}
},
"page": {
"type": "integer",
"description": "Current page number, 0-indexed",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of results",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
}
}
},
"JsonNode": {
"type": "object"
},
"LadderLevel": {
"type": "object",
"properties": {
"level": {
"$ref": "#/components/schemas/CurrentLevel"
}
}
},
"LaunchDarklyConfiguration": {
"required": [
"alias",
"environment",
"isDefault",
"lastFour"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"environment": {
"type": "string",
"enum": [
"DEFAULT",
"FEDERAL"
]
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
}
}
},
"LaunchDarklyConfigurationRequest": {
"required": [
"alias",
"apiKey",
"environment",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"apiKey": {
"type": "string"
},
"environment": {
"type": "string",
"enum": [
"DEFAULT",
"FEDERAL"
]
},
"isDefault": {
"type": "boolean"
}
}
},
"LaunchDarklyUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"Link": {
"required": [
"name",
"type",
"url"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the link visible in the Catalog"
},
"type": {
"type": "string",
"description": "Corresponds to the type field in a link definition provided in the Catalog Descriptor"
},
"url": {
"type": "string"
}
},
"description": "Relevant links for the entity. Corresponds to the x-cortex-links field in the entity descriptor"
},
"ListCatalogEntities": {
"required": [
"entities",
"page",
"total",
"totalPages"
],
"type": "object",
"properties": {
"entities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EntityDetailsSummary"
}
},
"page": {
"type": "integer",
"description": "Current page number, 0-indexed",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of results",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
}
},
"description": "List of all catalog entities, including services, resources, and domains. Use the \\\"type\\\" field to determine what type each entity is."
},
"ManagedTeam": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/CreateTeamRequest"
},
{
"type": "object",
"properties": {
"cortexTeam": {
"$ref": "#/components/schemas/CortexTeamDetails"
},
"teamTag": {
"type": "string",
"description": "A unique identifier for the team, which is used for programmatic access as well as in Catalog Descriptors to define ownership of an entity."
},
"type": {
"type": "string"
}
}
}
],
"description": "Use this request shape when creating a team entry whose memberships are manually maintained via API or the UI.",
"required": [
"cortexTeam",
"links",
"metadata",
"slackChannels",
"teamTag",
"type"
]
},
"Metadata": {
"required": [
"key",
"value"
],
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "The custom data key, referred to in CQL as custom(\"key\")"
},
"value": {
"$ref": "#/components/schemas/JsonNode"
}
},
"description": "Custom data key/values associated with the entity."
},
"MultipleConfigurationsResponseAzureResourcesConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AzureResourcesConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseCoralogixConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CoralogixConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseDatadogConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DatadogConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseGitlabConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitlabConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseIncidentIoConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IncidentIoConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseLaunchDarklyConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LaunchDarklyConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseNewrelicConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NewrelicConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponsePrometheusConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrometheusConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleConfigurationsResponseSonarqubeConfiguration": {
"required": [
"configurations",
"skippedConfigurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SonarqubeConfiguration"
}
},
"skippedConfigurations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"MultipleIntegrationConfigValidation": {
"required": [
"configurations"
],
"type": "object",
"properties": {
"configurations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationConfigValidation"
}
}
}
},
"NewrelicConfiguration": {
"required": [
"alias",
"isDefault",
"lastFour",
"region"
],
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
},
"region": {
"type": "string",
"enum": [
"US",
"EU"
]
}
}
},
"NewrelicConfigurationRequest": {
"required": [
"accountId",
"alias",
"isDefault",
"personalKey",
"region"
],
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"personalKey": {
"type": "string"
},
"region": {
"type": "string",
"enum": [
"US",
"EU"
]
}
}
},
"NewrelicUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"NextSteps": {
"required": [
"nextSteps"
],
"type": "object",
"properties": {
"nextSteps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NextSteps"
}
}
}
},
"Notifications": {
"required": [
"enabled"
],
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether this Scorecard should be included in notifications. If not set, it defaults to true for non-draft Scorecards and to false for draft Scorecards",
"example": true
}
},
"description": "Notification settings for the Scorecard"
},
"OncallDetails": {
"required": [
"escalations",
"provider"
],
"type": "object",
"properties": {
"escalations": {
"type": "array",
"description": "List of escalations",
"items": {
"$ref": "#/components/schemas/Escalation"
}
},
"provider": {
"type": "string",
"description": "Integration",
"example": "OPSGENIE, PAGERDUTY, VICTOROPS",
"enum": [
"OPSGENIE",
"PAGERDUTY",
"VICTOROPS"
]
}
}
},
"OncallRegistration": {
"required": [
"id",
"provider",
"source",
"type"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Registration ID",
"example": "ASDF1234"
},
"provider": {
"type": "string",
"description": "Integration",
"example": "OPSGENIE, PAGERDUTY, VICTOROPS",
"enum": [
"OPSGENIE",
"PAGERDUTY",
"VICTOROPS"
]
},
"source": {
"type": "string",
"description": "Source",
"example": "AUTO_MAPPED, DEFINED",
"enum": [
"AUTO_MAPPED",
"DEFINED"
]
},
"type": {
"type": "string",
"description": "Type of registration",
"example": "ESCALATION_POLICY, SCHEDULE, SERVICE",
"enum": [
"ESCALATION_POLICY",
"SCHEDULE",
"SERVICE"
]
}
}
},
"OpenAPISpecification": {
"required": [
"spec"
],
"type": "object",
"properties": {
"spec": {
"type": "string",
"description": "Stringified JSON representation of the OpenAPI spec"
}
}
},
"OpenApiResponse": {
"required": [
"ok",
"violations"
],
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ViolationDTO"
}
}
}
},
"OwnerGroup": {
"required": [
"groupName"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of this owner defined in the Catalog Descriptor. Not to be confused with the description of the team in the Team pages."
},
"groupName": {
"type": "string",
"description": "The slug for the group as defined in the ownership provider. For example, the org/team for GitHub teams or the team tag for Cortex Teams",
"example": "cortexapps/engineering"
},
"inheritance": {
"type": "string",
"description": "Inheritance type, only defined for domain entities",
"enum": [
"APPEND",
"FALLBACK",
"NONE"
]
},
"provider": {
"type": "string",
"description": "If defined, indicates which ownership provider the slug references",
"enum": [
"ACTIVE_DIRECTORY",
"BAMBOO_HR",
"CORTEX",
"GITHUB",
"GITLAB",
"GOOGLE",
"OKTA",
"OPSGENIE",
"WORKDAY",
"SERVICE_NOW"
]
}
},
"description": "List of IdP or Cortex Teams (not to be confused with the x-cortex-groups)."
},
"Owners": {
"required": [
"emails",
"groups",
"slackChannels"
],
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Email"
}
},
"groups": {
"type": "array",
"description": "List of IdP or Cortex Teams (not to be confused with the x-cortex-groups).",
"items": {
"$ref": "#/components/schemas/OwnerGroup"
}
},
"slackChannels": {
"type": "array",
"description": "Use the top-level `slackChannels` field instead of the one nested inside `ownership`",
"deprecated": true,
"items": {
"$ref": "#/components/schemas/SlackChannel"
}
}
}
},
"OwnersDetails": {
"required": [
"individuals",
"teams"
],
"type": "object",
"properties": {
"individuals": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IndividualOwnerDetails"
}
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamDetails"
}
}
},
"description": "Entity owners information"
},
"Package": {
"required": [
"dateCreated",
"id",
"name",
"packageType",
"version"
],
"type": "object",
"properties": {
"dateCreated": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"packageType": {
"type": "string",
"enum": [
"NODE",
"JAVA",
"PYTHON",
"GO",
"NUGET"
]
},
"version": {
"type": "string"
}
}
},
"PackageVersionRequest": {
"required": [
"name",
"version"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Package name, like io.cortex.scorecards",
"example": "io.cortex.scorecards"
},
"version": {
"type": "string",
"description": "Semver package version",
"example": "1.2.3"
}
}
},
"PagerdutyConfiguration": {
"required": [
"isTokenReadonly",
"lastFour"
],
"type": "object",
"properties": {
"isTokenReadonly": {
"type": "boolean"
},
"lastFour": {
"type": "string"
}
}
},
"PagerdutyConfigurationRequest": {
"required": [
"isTokenReadonly",
"token"
],
"type": "object",
"properties": {
"isTokenReadonly": {
"type": "boolean"
},
"token": {
"type": "string"
}
}
},
"PersonalAccessToken": {
"required": [
"alias",
"isDefault",
"type"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"type": {
"type": "string"
}
}
},
"PluginMetadata": {
"required": [
"contexts",
"isDraft",
"lastUpdated",
"minimumRoleRequired",
"name",
"tag"
],
"type": "object",
"properties": {
"contexts": {
"type": "array",
"description": "Which contexts the plugin should execute/show up in, e.g. `{ \"type\": \"GLOBAL\" }`",
"items": {
"$ref": "#/components/schemas/CortexPluginContext"
}
},
"createdBy": {
"$ref": "#/components/schemas/CortexUserDefinition"
},
"description": {
"type": "string",
"description": "Description of the plugin"
},
"isDraft": {
"type": "boolean",
"description": "Whether the plugin is generally available or not"
},
"lastUpdated": {
"type": "string",
"description": "When the plugin was last updated",
"format": "date-time"
},
"minimumRoleRequired": {
"type": "string",
"description": "The minimum role required to see the plugin, e.g. `USER`",
"enum": [
"VIEWER",
"USER",
"MANAGER",
"API",
"OWNER"
]
},
"name": {
"type": "string",
"description": "Display name of the plugin"
},
"proxyTag": {
"type": "string",
"description": "The identifier of the proxy to use for requests from this plugin"
},
"tag": {
"type": "string",
"description": "Unique identifier for the plugin"
}
}
},
"PluginsMetadataResponse": {
"required": [
"plugins"
],
"type": "object",
"properties": {
"plugins": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PluginMetadata"
}
}
}
},
"PrometheusConfiguration": {
"required": [
"alias",
"host",
"isDefault",
"lastFour",
"username"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
},
"prometheusTenantId": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"PrometheusConfigurationRequest": {
"required": [
"alias",
"host",
"isDefault",
"password",
"username"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"password": {
"type": "string"
},
"prometheusTenantId": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"PrometheusUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"QueryBuilderResult": {
"required": [
"queryDetails",
"status"
],
"type": "object",
"properties": {
"progress": {
"type": "number"
},
"queryDetails": {
"$ref": "#/components/schemas/QueryResponse"
},
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueryResult"
}
},
"status": {
"type": "string",
"enum": [
"IN_PROGRESS",
"DONE",
"CANCELLED",
"FAILURE",
"TIMED_OUT"
]
}
}
},
"QueryRequest": {
"required": [
"query"
],
"type": "object",
"properties": {
"query": {
"type": "string"
}
}
},
"QueryResponse": {
"required": [
"initiatedAt",
"jobId",
"query"
],
"type": "object",
"properties": {
"initiatedAt": {
"type": "string",
"format": "date-time"
},
"jobId": {
"type": "string",
"description": "Id that can be used to request the status of the query. If you would like to re-run the query, you must re-run the query in the UI. See [retrieve query results](/docs/api/get-query-results)"
},
"query": {
"type": "string"
}
}
},
"QueryResult": {
"required": [
"name",
"tag",
"type"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"Role": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the role",
"example": "Team Leader"
},
"source": {
"type": "string",
"description": "Source of the role if pulled in through integration. This will be blank if manually defined in Cortex.",
"example": "WORKDAY"
}
}
},
"Rule": {
"required": [
"expression"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"expression": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"RuleExemption": {
"required": [
"exemptionStatus",
"requestedBy",
"requestedDate",
"requestingReason",
"ruleExpression"
],
"type": "object",
"properties": {
"endDate": {
"type": "string",
"description": "Date on which the exemption will expire. Null if there is no expiration date",
"format": "date-time"
},
"exemptionStatus": {
"$ref": "#/components/schemas/ExemptionStatus"
},
"requestedBy": {
"type": "string",
"description": "Email of the person who requested the exemption"
},
"requestedDate": {
"type": "string",
"description": "Date on which the exemption was requested",
"format": "date-time"
},
"requestingReason": {
"type": "string",
"description": "Reason supplied for requesting the exemption"
},
"ruleExpression": {
"type": "string",
"description": "CQL representation of the rule"
}
}
},
"RuleExemptionActor": {
"required": [
"email",
"name"
],
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email of the person who approved or rejected the exemption"
},
"name": {
"type": "string",
"description": "Name of the person who approved or rejected the exemption"
}
},
"description": "The person who approved or rejected the exemption"
},
"RuleOutcome": {
"required": [
"expression",
"score"
],
"type": "object",
"properties": {
"error": {
"type": "string"
},
"expression": {
"type": "string"
},
"score": {
"type": "number"
}
}
},
"SaveCustomEventRequest": {
"required": [
"timestamp",
"title",
"type"
],
"type": "object",
"properties": {
"customData": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Optional property to store additional data"
},
"description": "Optional property to store additional data"
},
"description": {
"type": "string",
"description": "Optional description of custom event"
},
"timestamp": {
"type": "string",
"description": "Time when event occurred",
"format": "date-time"
},
"title": {
"type": "string",
"description": "Name for custom event",
"example": "Created K8s pod"
},
"type": {
"type": "string",
"description": "Type of custom event",
"example": "POD_CREATION"
},
"url": {
"type": "string",
"description": "Optional URL associated with custom event",
"example": "https://cortex.io"
}
}
},
"SaveDeployRequest": {
"required": [
"timestamp",
"title",
"type"
],
"type": "object",
"properties": {
"customData": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"deployer": {
"$ref": "#/components/schemas/Deployer"
},
"environment": {
"type": "string"
},
"sha": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"title": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"DEPLOY",
"SCALE",
"ROLLBACK",
"RESTART"
]
},
"url": {
"type": "string"
}
}
},
"ScoreDetails": {
"required": [
"ladderLevels",
"rules",
"summary"
],
"type": "object",
"properties": {
"ladderLevels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LadderLevel"
}
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleOutcome"
}
},
"summary": {
"$ref": "#/components/schemas/ScoreSummary"
}
}
},
"ScoreSummary": {
"required": [
"percentage",
"score",
"totalPossibleScore"
],
"type": "object",
"properties": {
"percentage": {
"type": "number"
},
"score": {
"type": "number"
},
"totalPossibleScore": {
"type": "number"
}
}
},
"ScorecardDescriptorResponse": {
"required": [
"scorecard"
],
"type": "object",
"properties": {
"scorecard": {
"$ref": "#/components/schemas/ScorecardResponse"
}
}
},
"ScorecardResponse": {
"required": [
"isDraft",
"lastUpdated",
"name",
"notifications",
"rules",
"tag"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Human-readable description of the Scorecard"
},
"evaluation": {
"$ref": "#/components/schemas/EvaluationDetails"
},
"filter": {
"$ref": "#/components/schemas/Filter"
},
"isDraft": {
"type": "boolean",
"description": "Whether or not the Scorecard is in draft"
},
"lastUpdated": {
"type": "string",
"description": "Time the Scorecard was last updated, which includes setting the next evaluation time",
"format": "date-time"
},
"levels": {
"type": "array",
"description": "List of levels associated with the Scorecard",
"items": {
"$ref": "#/components/schemas/LadderLevel"
}
},
"name": {
"type": "string",
"description": "Human-readable name",
"example": "Production Readiness Scorecard"
},
"notifications": {
"$ref": "#/components/schemas/Notifications"
},
"rules": {
"type": "array",
"description": "List of rules that are evaluated each time the Scorecard is evaluated",
"items": {
"$ref": "#/components/schemas/ScorecardRule"
}
},
"tag": {
"type": "string",
"description": "Unique identifier, found in the UI",
"example": "production-readiness-scorecard"
}
}
},
"ScorecardRule": {
"required": [
"expression"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"example": "This rule is very important because you must pass it"
},
"effectiveFrom": {
"type": "string",
"description": "Date when the rule starts being evaluated",
"format": "date-time",
"example": "2024-01-01T00:00:00Z"
},
"expression": {
"type": "string",
"description": "CQL representation of the rule",
"example": "custom(\"key\") \u003d \"value\""
},
"failureMessage": {
"type": "string",
"example": "To fix this rule, visit [our internal doc][docs.cortex.io]"
},
"filter": {
"$ref": "#/components/schemas/Filter"
},
"levelName": {
"type": "string",
"description": "Name of the level this rule is associated with, if applicable"
},
"title": {
"type": "string",
"example": "Key value must be correct"
},
"weight": {
"type": "number",
"description": "Numerical weight of the rule. When using levels, this defaults to 1"
}
},
"description": "List of rules that are evaluated each time the Scorecard is evaluated"
},
"ScorecardScore": {
"required": [
"ladderLevels",
"score",
"scorePercentage",
"scorecardName",
"totalPossibleScore"
],
"type": "object",
"properties": {
"ladderLevels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LadderLevel"
}
},
"score": {
"type": "number"
},
"scorePercentage": {
"type": "number"
},
"scorecardName": {
"type": "string"
},
"totalPossibleScore": {
"type": "number"
}
}
},
"ScorecardServiceScore": {
"required": [
"scorecardName",
"scorecardTag",
"serviceScores"
],
"type": "object",
"properties": {
"scorecardFilter": {
"$ref": "#/components/schemas/Filter"
},
"scorecardName": {
"type": "string"
},
"scorecardTag": {
"type": "string"
},
"serviceScores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceScore"
}
}
}
},
"ScorecardShieldsBadgeMarkdown": {
"required": [
"value"
],
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
},
"ScorecardsResponse": {
"required": [
"scorecards"
],
"type": "object",
"properties": {
"scorecards": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScorecardResponse"
}
}
}
},
"ServiceDetails": {
"required": [
"groups",
"name",
"owners",
"tag"
],
"type": "object",
"properties": {
"groups": {
"type": "array",
"description": "Not to be confused with owners. This refers to the x-cortex-groups field of the entity",
"items": {
"type": "string",
"description": "Not to be confused with owners. This refers to the x-cortex-groups field of the entity"
}
},
"name": {
"type": "string"
},
"owners": {
"$ref": "#/components/schemas/ServiceOwners"
},
"tag": {
"type": "string"
}
}
},
"ServiceOwners": {
"required": [
"groups",
"individuals"
],
"type": "object",
"properties": {
"groups": {
"type": "array",
"description": "Not to be confused with x-cortex-groups. These are the slugs of IdP or Cortex Managed Teams",
"items": {
"type": "string",
"description": "Not to be confused with x-cortex-groups. These are the slugs of IdP or Cortex Managed Teams"
}
},
"individuals": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IndividualServiceOwner"
}
}
}
},
"ServiceScore": {
"required": [
"lastEvaluated",
"ruleExemptions",
"score",
"service"
],
"type": "object",
"properties": {
"lastEvaluated": {
"type": "string",
"format": "date-time"
},
"ruleExemptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleExemption"
}
},
"score": {
"$ref": "#/components/schemas/ScoreDetails"
},
"service": {
"$ref": "#/components/schemas/ServiceDetails"
}
}
},
"SingleAwsConfigurationRequest": {
"required": [
"accountId",
"role"
],
"type": "object",
"properties": {
"accountId": {
"type": "string",
"description": "The account ID for the AWS account"
},
"role": {
"type": "string",
"description": "The IAM role Cortex would be assuming"
}
}
},
"SingleAwsConfigurationResponse": {
"required": [
"accountId",
"role"
],
"type": "object",
"properties": {
"accountId": {
"type": "string",
"description": "The account ID for the AWS account"
},
"role": {
"type": "string",
"description": "The IAM role Cortex would be assuming"
}
}
},
"SlackChannel": {
"required": [
"channel"
],
"type": "object",
"properties": {
"channel": {
"type": "string",
"description": "The Slack channel identifier without the preceding #"
},
"description": {
"type": "string",
"description": "Description of this owner defined in the Catalog Descriptor. Not to be confused with the description of the team in the Team pages."
},
"inheritance": {
"type": "string",
"description": "Inheritance type, only defined for domain entities",
"enum": [
"APPEND",
"FALLBACK",
"NONE"
]
},
"notificationsEnabled": {
"type": "boolean",
"description": "Refers to the corresponding field in the Catalog Descriptor. This is meant to be used for your automation purposes and does not actually impact the notification behavior in Cortex."
}
},
"description": "Use the top-level `slackChannels` field instead of the one nested inside `ownership`",
"deprecated": true
},
"SlackChannelDetails": {
"required": [
"name",
"notificationsEnabled"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the Slack channel",
"example": "This is the engineering channel"
},
"name": {
"type": "string",
"description": "Name of the Slack channel",
"example": "engineering"
},
"notificationsEnabled": {
"type": "boolean",
"description": "Whether notifications are enabled for this channel"
}
},
"description": "Slack channel information"
},
"SonarqubeConfiguration": {
"required": [
"alias",
"host",
"isDefault",
"lastFour"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"lastFour": {
"type": "string"
}
}
},
"SonarqubeConfigurationRequest": {
"required": [
"alias",
"host",
"isDefault",
"token"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"host": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"token": {
"type": "string"
}
}
},
"SonarqubeUpdateConfigurationRequest": {
"required": [
"alias",
"isDefault"
],
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"isDefault": {
"type": "boolean"
}
}
},
"TeamDetails": {
"required": [
"isArchived",
"name",
"tag"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the team entity",
"example": "This is my team"
},
"isArchived": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "Human-readable name for the team entity",
"example": "My Favorite Team"
},
"tag": {
"type": "string",
"description": "Unique identifier for the team entity. Corresponds to the x-cortex-tag field in the entity descriptor",
"example": "my-favorite-team-entity"
}
}
},
"TeamEdgeRequest": {
"required": [
"childTeamTag",
"parentTeamTag"
],
"type": "object",
"properties": {
"childTeamTag": {
"type": "string"
},
"parentTeamTag": {
"type": "string"
}
}
},
"TeamEdgeResponse": {
"required": [
"childTeamTag",
"parentTeamTag"
],
"type": "object",
"properties": {
"childTeamTag": {
"type": "string"
},
"parentTeamTag": {
"type": "string"
},
"provider": {
"type": "string",
"enum": [
"WORKDAY"
]
}
}
},
"TeamMember": {
"required": [
"roles"
],
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the team member",
"example": "Product manager"
},
"email": {
"type": "string",
"description": "Email of the team member",
"example": "aditya.bansal@cortex.io"
},
"name": {
"type": "string",
"description": "Name of the team member",
"example": "Aditya Bansal"
},
"roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Role"
}
}
},
"description": "Team member information"
},
"TeamMetadata": {
"required": [
"name"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
}
}
},
"TeamResponse": {
"required": [
"catalogEntityTag",
"isArchived",
"links",
"metadata",
"slackChannels",
"teamTag",
"type"
],
"type": "object",
"properties": {
"catalogEntityTag": {
"type": "string"
},
"isArchived": {
"type": "boolean"
},
"links": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamsLink"
}
},
"metadata": {
"$ref": "#/components/schemas/TeamMetadata"
},
"slackChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SlackChannel"
}
},
"teamTag": {
"type": "string"
},
"type": {
"type": "string"
}
},
"discriminator": {
"propertyName": "type"
}
},
"TeamsLink": {
"required": [
"name",
"type",
"url"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"TeamsRelationshipsRequest": {
"required": [
"edges"
],
"type": "object",
"properties": {
"edges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamEdgeRequest"
}
}
}
},
"TeamsRelationshipsResponse": {
"required": [
"edges"
],
"type": "object",
"properties": {
"edges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamEdgeResponse"
}
}
}
},
"TypeFilter": {
"type": "object",
"properties": {
"exclude": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
},
"include": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Entity types (e.g. SERVICE, DOMAIN, TEAM) to include or exclude"
},
"Unit": {
"type": "object"
},
"UpdateCatalogDefinitionRequest": {
"required": [
"schema"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"schema": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"UpdateConfiguredAzureResourcesTypesRequest": {
"required": [
"types"
],
"type": "object",
"properties": {
"types": {
"type": "array",
"description": "List of Azure Resources types and whether they\u0027re configured to be discovered and imported into the catalogs",
"items": {
"$ref": "#/components/schemas/AzureResourceType"
}
}
}
},
"UpdateDepartmentRequest": {
"required": [
"members",
"name"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DepartmentMemberRequest"
}
},
"name": {
"type": "string"
}
}
},
"UpdatePluginRequest": {
"required": [
"blob",
"contexts",
"isDraft",
"minimumRoleRequired",
"name"
],
"type": "object",
"properties": {
"blob": {
"type": "string",
"description": "The raw source code of the plugin. This should be an `.html` file"
},
"contexts": {
"type": "array",
"description": "Which contexts the plugin should execute/show up in, e.g. `{ \"type\": \"GLOBAL\" }`",
"items": {
"$ref": "#/components/schemas/CortexPluginContext"
}
},
"description": {
"type": "string",
"description": "Description of the plugin"
},
"isDraft": {
"type": "boolean",
"description": "Whether the plugin is generally available or not"
},
"minimumRoleRequired": {
"type": "string",
"description": "The minimum role required to see the plugin, e.g. `USER`",
"enum": [
"VIEWER",
"USER",
"MANAGER",
"API",
"OWNER"
]
},
"name": {
"type": "string",
"description": "Display name of the plugin"
},
"proxyTag": {
"type": "string",
"description": "The identifier of the proxy to use for requests from this plugin"
}
}
},
"UpdateTeamRequest": {
"required": [
"links",
"metadata",
"slackChannels",
"type"
],
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TeamsLink"
}
},
"metadata": {
"$ref": "#/components/schemas/TeamMetadata"
},
"slackChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SlackChannel"
}
},
"type": {
"type": "string"
}
},
"discriminator": {
"propertyName": "type"
}
},
"User": {
"required": [
"name"
],
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Contact email",
"example": "cristina@cortex.io"
},
"name": {
"type": "string",
"description": "Name",
"example": "Cristina Buenahora"
}
}
},
"UserSchedule": {
"required": [
"user"
],
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/User"
}
},
"description": "User details"
},
"ValidIpAllowlistEntry": {
"required": [
"address",
"valid"
],
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "IP address or range",
"example": "10.0.0.1"
},
"description": {
"type": "string",
"description": "Description of an entry"
},
"valid": {
"type": "boolean"
}
}
},
"ViolationDTO": {
"required": [
"paths"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"endLine": {
"type": "integer",
"format": "int32"
},
"paths": {
"type": "array",
"items": {
"type": "string"
}
},
"pointer": {
"type": "string"
},
"ruleLink": {
"type": "string"
},
"startLine": {
"type": "integer",
"format": "int32"
},
"title": {
"type": "string"
},
"violationType": {
"type": "string",
"enum": [
"MUST",
"SHOULD",
"MAY",
"HINT"
]
}
}
},
"YamlDescriptorsListResponse": {
"required": [
"descriptors",
"page",
"total",
"totalPages"
],
"type": "object",
"properties": {
"descriptors": {
"type": "array",
"items": {
"type": "string"
}
},
"page": {
"type": "integer",
"description": "Current page number, 0-indexed",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total number of results",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "Total number of pages",
"format": "int32"
}
}
}
},
"securitySchemes": {
"bearerAuth": {
"bearerFormat": "JWT",
"description": "All requests to the Cortex API need to provide an `Authorization: Bearer \u003ctoken\u003e` header, where `\u003ctoken\u003e` is an API key created in the Settings page of your workspace.",
"scheme": "bearer",
"type": "http"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment