Plugins
Use these operations to interact with plugins in Cortex.
Required permissions
Your API key must have the Edit plugins
permission.
Operations
Retrieve a list of all plugins, excluding drafts
Number of results to return per page, between 1 and 1000. Default 250.
250
Page number to return, 0-indexed. Default 0.
0
List of plugins
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
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-08-12T22:19:32.945Z",
"email": "text",
"id": 1,
"lastLogin": "2025-08-12T22:19:32.945Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "2025-08-12T22:19:32.945Z",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}
],
"total": 1,
"totalPages": 1
}
Retrieve the metadata of a plugin by tag
Unique identifier for the plugin
When true, returns the plugin blob. Defaults to false.
false
Metadata of the plugin
Plugin not found
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
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-08-12T22:19:32.945Z",
"email": "text",
"id": 1,
"lastLogin": "2025-08-12T22:19:32.945Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "2025-08-12T22:19:32.945Z",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}
Create a new plugin
The raw source code of the plugin. This should be an HTML file
Description of the plugin
Icon tag for the plugin
Whether the plugin is generally available or not
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.
Display name of the plugin
The identifier of the proxy to use for requests from this plugin
Unique identifier for the plugin
The version of the plugin
Metadata of the created plugin
Invalid request
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
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-08-12T22:19:32.945Z",
"email": "text",
"id": 1,
"lastLogin": "2025-08-12T22:19:32.945Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "2025-08-12T22:19:32.945Z",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}
Replace an existing plugin by tag
Unique identifier for the plugin
The raw source code of the plugin. This should be an HTML file
Description of the plugin
Icon tag for the plugin
Whether the plugin is generally available or not
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.
Display name of the plugin
The identifier of the proxy to use for requests from this plugin
The version of the plugin
Metadata of the replaced plugin
Invalid request
Plugin not found
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
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-08-12T22:19:32.945Z",
"email": "text",
"id": 1,
"lastLogin": "2025-08-12T22:19:32.945Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "2025-08-12T22:19:32.945Z",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}
Delete a plugin by tag
Unique identifier for the plugin
Plugin deleted
Plugin not found
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
DELETE /api/v1/plugins/{tag} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
No content
Last updated
Was this helpful?