LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Cortex API
  2. REST API operations

Plugins

Last updated 1 month ago

Was this helpful?

Use these operations to interact with in Cortex.

Required permissions

Your API key must have the Edit plugins permission.

Operations

plugins

Get all plugins

get

Retrieve a list of all plugins, excluding drafts

Authorizations
Query parameters
includeDraftsbooleanOptional
pageSizeinteger · int32Required

Number of results to return per page, between 1 and 1000. Default 250.

Default: 250
pageinteger · int32Required

Page number to return, 0-indexed. Default 0.

Default: 0
Responses
200
List of plugins
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/plugins HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "page": 1,
  "plugins": [
    {
      "contexts": [
        {
          "entityFilter": {
            "type": "CQL_FILTER",
            "category": "Service",
            "cqlVersion": "V1",
            "query": "text"
          },
          "type": "text"
        }
      ],
      "createdBy": {
        "dateCreated": "2025-05-20T05:17:15.786Z",
        "email": "text",
        "id": 1,
        "lastLogin": "2025-05-20T05:17:15.786Z",
        "name": "text",
        "oauthUserId": "text",
        "tenantId": 1,
        "timezone": "text"
      },
      "description": "text",
      "iconTag": "text",
      "isDraft": true,
      "lastUpdated": "2025-05-20T05:17:15.786Z",
      "minimumRoleRequired": "text",
      "name": "text",
      "proxyTag": "text",
      "tag": "text",
      "version": "text"
    }
  ],
  "total": 1,
  "totalPages": 1
}

Get plugin by tag

get

Retrieve the metadata of a plugin by tag

Authorizations
Path parameters
tagstringRequired

Unique identifier for the plugin

Query parameters
includeBlobbooleanOptional

When true, returns the plugin blob. Defaults to false.

Default: false
Responses
200
Metadata of the plugin
application/json
404
Plugin not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/plugins/{tag} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "blob": "text",
  "contexts": [
    {
      "entityFilter": {
        "type": "CQL_FILTER",
        "category": "Service",
        "cqlVersion": "V1",
        "query": "text"
      },
      "type": "text"
    }
  ],
  "createdBy": {
    "dateCreated": "2025-05-20T05:17:15.786Z",
    "email": "text",
    "id": 1,
    "lastLogin": "2025-05-20T05:17:15.786Z",
    "name": "text",
    "oauthUserId": "text",
    "tenantId": 1,
    "timezone": "text"
  },
  "description": "text",
  "iconTag": "text",
  "isDraft": true,
  "lastUpdated": "2025-05-20T05:17:15.786Z",
  "minimumRoleRequired": "text",
  "name": "text",
  "proxyTag": "text",
  "tag": "text",
  "version": "text"
}

Delete a plugin

delete

Delete a plugin by tag

Authorizations
Path parameters
tagstringRequired

Unique identifier for the plugin

Responses
204
Plugin deleted
404
Plugin not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/plugins/{tag} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*

No content

  • Required permissions
  • Operations
  • GETGet all plugins
  • GETGet plugin by tag
  • POSTCreate a plugin
  • PUTReplace a plugin
  • DELETEDelete a plugin

Create a plugin

post

Create a new plugin

Authorizations
Body
blobstringRequired

The raw source code of the plugin. This should be an HTML file

descriptionstringOptional

Description of the plugin

iconTagstringOptional

Icon tag for the plugin

isDraftbooleanRequired

Whether the plugin is generally available or not

minimumRoleRequiredstringRequired

The minimum role required to view the plugin, e.g. VIEWER, USER, MANAGER, OWNER, or the tag for a custom role. Learn more about each permission in our docs.

namestringRequired

Display name of the plugin

proxyTagstringOptional

The identifier of the proxy to use for requests from this plugin

tagstringRequired

Unique identifier for the plugin

versionstringOptional

The version of the plugin

Responses
200
Metadata of the created plugin
application/json
400
Invalid request
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/plugins HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 279

{
  "blob": "text",
  "contexts": [
    {
      "entityFilter": {
        "type": "CQL_FILTER",
        "category": "Service",
        "cqlVersion": "V1",
        "query": "text"
      },
      "type": "text"
    }
  ],
  "description": "text",
  "iconTag": "text",
  "isDraft": true,
  "minimumRoleRequired": "text",
  "name": "text",
  "proxyTag": "text",
  "tag": "text",
  "version": "text"
}
{
  "contexts": [
    {
      "entityFilter": {
        "type": "CQL_FILTER",
        "category": "Service",
        "cqlVersion": "V1",
        "query": "text"
      },
      "type": "text"
    }
  ],
  "createdBy": {
    "dateCreated": "2025-05-20T05:17:15.786Z",
    "email": "text",
    "id": 1,
    "lastLogin": "2025-05-20T05:17:15.786Z",
    "name": "text",
    "oauthUserId": "text",
    "tenantId": 1,
    "timezone": "text"
  },
  "description": "text",
  "iconTag": "text",
  "isDraft": true,
  "lastUpdated": "2025-05-20T05:17:15.786Z",
  "minimumRoleRequired": "text",
  "name": "text",
  "proxyTag": "text",
  "tag": "text",
  "version": "text"
}

Replace a plugin

put

Replace an existing plugin by tag

Authorizations
Path parameters
tagstringRequired

Unique identifier for the plugin

Body
blobstringRequired

The raw source code of the plugin. This should be an HTML file

descriptionstringOptional

Description of the plugin

iconTagstringOptional

Icon tag for the plugin

isDraftbooleanRequired

Whether the plugin is generally available or not

minimumRoleRequiredstringRequired

The minimum role required to view the plugin, e.g. VIEWER, USER, MANAGER, OWNER, or the tag for a custom role. Learn more about each permission in our docs.

namestringRequired

Display name of the plugin

proxyTagstringOptional

The identifier of the proxy to use for requests from this plugin

versionstringOptional

The version of the plugin

Responses
200
Metadata of the replaced plugin
application/json
400
Invalid request
application/json
404
Plugin not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/plugins/{tag} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 266

{
  "blob": "text",
  "contexts": [
    {
      "entityFilter": {
        "type": "CQL_FILTER",
        "category": "Service",
        "cqlVersion": "V1",
        "query": "text"
      },
      "type": "text"
    }
  ],
  "description": "text",
  "iconTag": "text",
  "isDraft": true,
  "minimumRoleRequired": "text",
  "name": "text",
  "proxyTag": "text",
  "version": "text"
}
{
  "contexts": [
    {
      "entityFilter": {
        "type": "CQL_FILTER",
        "category": "Service",
        "cqlVersion": "V1",
        "query": "text"
      },
      "type": "text"
    }
  ],
  "createdBy": {
    "dateCreated": "2025-05-20T05:17:15.786Z",
    "email": "text",
    "id": 1,
    "lastLogin": "2025-05-20T05:17:15.786Z",
    "name": "text",
    "oauthUserId": "text",
    "tenantId": 1,
    "timezone": "text"
  },
  "description": "text",
  "iconTag": "text",
  "isDraft": true,
  "lastUpdated": "2025-05-20T05:17:15.786Z",
  "minimumRoleRequired": "text",
  "name": "text",
  "proxyTag": "text",
  "tag": "text",
  "version": "text"
}