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
All requests to the Cortex API need to provide an Authorization: Bearer <token> header, where <token> is an API key created in the Settings page of your workspace.
Number of results to return per page, between 1 and 1000. Default 250.
250Page number to return, 0-indexed. Default 0.
0List 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?pageSize=250&page=0 HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"page": 1,
"plugins": [
{
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"createdBy": {
"dateCreated": "2025-11-14T22:33:48.855Z",
"email": "text",
"id": 1,
"lastLogin": "2025-11-14T22:33:48.855Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "text",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}
],
"total": 1,
"totalPages": 1
}Retrieve the metadata of a plugin by tag
All requests to the Cortex API need to provide an Authorization: Bearer <token> header, where <token> is an API key created in the Settings page of your workspace.
Unique identifier for the plugin
When true, returns the plugin blob. Defaults to false.
falseMetadata 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 YOUR_SECRET_TOKEN
Accept: */*
{
"blob": "text",
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"createdBy": {
"dateCreated": "2025-11-14T22:33:48.855Z",
"email": "text",
"id": 1,
"lastLogin": "2025-11-14T22:33:48.855Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "text",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}Create a new plugin
All requests to the Cortex API need to provide an Authorization: Bearer <token> header, where <token> is an API key created in the Settings page of your workspace.
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 YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 396
{
"blob": "text",
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"description": "text",
"iconTag": "text",
"isDraft": true,
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}{
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"createdBy": {
"dateCreated": "2025-11-14T22:33:48.855Z",
"email": "text",
"id": 1,
"lastLogin": "2025-11-14T22:33:48.855Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "text",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}Replace an existing plugin by tag
All requests to the Cortex API need to provide an Authorization: Bearer <token> header, where <token> is an API key created in the Settings page of your workspace.
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 YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 383
{
"blob": "text",
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"description": "text",
"iconTag": "text",
"isDraft": true,
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"version": "text"
}{
"contexts": [
{
"0": "[",
"1": "C",
"2": "i",
"3": "r",
"4": "c",
"5": "u",
"6": "l",
"7": "a",
"8": "r",
"9": " ",
"10": "R",
"11": "e",
"12": "f",
"13": "e",
"14": "r",
"15": "e",
"16": "n",
"17": "c",
"18": "e",
"19": "]",
"type": "text",
"entityFilter": "[Circular Reference]"
}
],
"createdBy": {
"dateCreated": "2025-11-14T22:33:48.855Z",
"email": "text",
"id": 1,
"lastLogin": "2025-11-14T22:33:48.855Z",
"name": "text",
"oauthUserId": "text",
"tenantId": 1,
"timezone": "text"
},
"description": "text",
"iconTag": "text",
"isDraft": true,
"lastUpdated": "text",
"minimumRoleRequired": "text",
"name": "text",
"proxyTag": "text",
"tag": "text",
"version": "text"
}Delete a plugin by tag
All requests to the Cortex API need to provide an Authorization: Bearer <token> header, where <token> is an API key created in the Settings page of your workspace.
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 YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated
Was this helpful?