APIs
This page describes the API methods you can use to query parameters, dashboards, and security reports of your choice.
API Rate Limits
Generate Access Tokens
You can generate access tokens for each API access call into your Controller by generating the token through the OAuth API.
Example of endpoint usage:
curl -X GET 'https://<controller address>/controller/argento/public-api/v1/applications' \
--header 'Authorization: Bearer <your-token-from-ouath-above>'
Get Application List
Get a list of applications based on the provided query parameters.
GET controller/argento/public-api/v1/applications
Parameters
Name | Type | Description |
---|---|---|
date | string | This is the date for nodes daily statistics count of the applications. This is in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the applications by a specific field. Example: sort=applicationName . |
order | string | The ascending or descending order of the applications. |
filter | string | This allows you to filter the applications by a specific field. Example: filter=applicationName eq "application1" . |
max | integer | The maximum number of applications to return. Default: 10 . |
offset | integer | The offset for pagination. Default: 0 . |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use the field appdApplicationId value from the response. |
Responses
- Code 200
-
A successful retrieval of the application list:
{ "items": [ { "appdApplicationId": 0, "applicationCreatedAt": "string", "applicationId": "string", "applicationName": "string", "applicationSecurityEnabled": true, "applicationSecurityEnabledComputed": true, "countApmActive": 0, "countReady": 0, "countSecured": 0, "countSecurityEnabled": 0, "countSupportedAgent": 0 } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Application Tiers
Get a list of tiers based a specific application and provided query parameters.
GET controller/argento/public-api/v1/applications/{applicationId}/tiers
Parameters
Name | Type | Description |
---|---|---|
applicationId | string | The required application ID used for specific application tier details. |
date | string | This is the date in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the applications by a specific field. Example: sort=applicationName . |
order | string | The ascending or descending order of the applications. |
filter | string | This allows you to filter the applications by a specific field. Example: filter=applicationName eq "application1" . |
max | integer | The maximum number of applications to return. Default: 10 . |
offset | integer | The offset for pagination. Default: 0. |
applicationId | integer | This is the global application filter, which restricts outputs to one application. |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the tier list of a specific application:
{ "items": [ { "appdApplicationId": 0, "appdTierId": 0, "applicationName": "string", "countApmActive": 0, "countReady": 0, "countSecured": 0, "countSecurityEnabled": 0, "countSupportedAgent": 0, "id": "string", "tierCreatedAt": "string", "tierEnableSecurity": true, "tierEnableSecurityStatus": true, "tierName": "string" } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Application Nodes
Get a list of nodes based on a specific tier and provided query parameters.
GET controller/argento/public-api/v1/applications/{applicationId}/tiers/{tierId}/nodes
Parameters
Name | Type | Description |
---|---|---|
tierId | integer | Tier ID required for specific node details. |
date | string | Date in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | Sort the nodes by a specific field. Example: sort=nodeName . |
order | string | Order of the sort field (asc or desc). |
filter | string | Filter the nodes by a specific field. Example: filter=nodeName eq 'node1' . |
max | integer | Maximum number of nodes to return. Default: 10 . |
offset | integer | Offset for pagination. Default 0. |
Responses
- Code 200
-
Successful retrieval of node list.
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Attack List
This API call retrieves details of a specific attack if the attackSummaryId
is provided, Otherwise, this API retrieves a list of attacks.
GET controller/argento/public-api/v1/attacks
Parameters
Name | Type | Description |
---|---|---|
startedAt | string | The start time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
endedAt | string | The end time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the attacks by a specific field. Example: sort=attackName . |
order | string | The ascending or descending order of the sort field. |
filter | string | This allows you to filter the attacks by a specific field. Example: filter=attackName eq "dangerousOne" . |
max | integer | The maximum number of attacks to return. Default: 10 . |
offset | integer | The offset for pagination. The Default: 0 . |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the attack list or attack details:
{ "items": [ { "appdApplicationId": 0, "appdBtId": 0, "appdTierId": 0, "applicationId": "string", "applicationName": "string", "attackName": "string", "attackNote": "string", "attackOutcome": "string", "attackSource": "string", "attackStatus": "string", "attackSummaryId": "string", "attackTypes": "string", "btName": "string", "btUuid": "string", "firstSeenAt": "string", "keyInfo": "string", "lastSeenAt": "string", "tierId": "string", "tierName": "string" } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Attack Details
This API call retrieves details of a specific attack if the attackSummaryId
is provided, Otherwise, this API retrieves a list of attacks.
GET controller/argento/public-api/v1/attacks/{attackSummaryId}
Parameters
Name | Type | Description |
---|---|---|
attackSummaryId | string | The required attack summary ID for specific attack details. |
startedAt | string | The start time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
endedAt | string | The end time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the attacks by a specific field. Example: sort=attackName . |
order | string | The ascending or descending order of the sort field. |
filter | string | This allows you to filter the attacks by a specific field. Example: filter=attackName eq "dangerousOne" . |
max | integer | The maximum number of attacks to return. Default: 10 . |
offset | integer | The offset for pagination. The Default: 0 . |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the attack list or attack details:
{ "items": [ { "appdApplicationId": 0, "appdBtId": 0, "appdTierId": 0, "applicationId": "string", "applicationName": "string", "attackName": "string", "attackNote": "string", "attackOutcome": "string", "attackSource": "string", "attackStatus": "string", "attackSummaryId": "string", "attackTypes": "string", "btName": "string", "btUuid": "string", "firstSeenAt": "string", "keyInfo": "string", "lastSeenAt": "string", "tierId": "string", "tierName": "string" } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Business Transaction List
This API call retrieves a list of business transactions based on the provided query parameters.
GET controller/argento/public-api/v1/businessTransactions
Parameters
Name | Type | Description |
---|---|---|
startedAt | string | The start time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
endedAt | string | The end time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the transactions by a specific field. Example: sort=businessTransactionNam e. |
order | string | The ascending or descending order of the sort field. |
filter | string | This allows you to filter the transactions by a specific field. Example: filter=businessTransactionName eq "businessOne" . |
max | integer | The maximum number of transactions to return. Default: 10 . |
offset | integer | The offset for pagination. Default: 0 . |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response. |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the business transaction list:
{ "items": [ { "appdApplicationId": 0, "appdBusinessTransactionId": 0, "applicationId": "string", "applicationName": "string", "attackOutcomeCountAttempted": 0, "attackOutcomeCountBlocked": 0, "attackOutcomeCountExploited": 0, "brmTitle": "string", "businessRiskScore": 0, "businessTransactionId": "string", "businessTransactionName": "string", "entryTierAppdId": 0, "entryTierId": "string", "entryTierName": "string", "riskScore": 0, "severityCountCritical": 0, "severityCountHigh": 0, "severityCountLow": 0, "severityCountMedium": 0, "tierCount": 0, "totalAttackCount": 0, "totalVulnCount": 0 } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Business Transaction Details
This API call retrieves details of a business transaction based on the provided query parameters.
GET controller/argento/public-api/v1/businessTransactions/{businessTransactionId}
Parameters
Name | Type | Description |
---|---|---|
businessTransactionId | string | This is the required business transaction ID. |
Responses
- Code 200
-
A successful and detailed retrieval of a specific business transaction:
{ "appdApplicationId": 0, "appdBusinessTransactionId": 0, "applicationName": "string", "brmTitle": "string", "businessRiskScore": 0, "businessTransactionName": "string", "entryTierAppdId": 0, "entryTierName": "string", "riskScore": 0, "riskScoreCard": "string" }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Library List
Get a list of libraries based on the provided query parameters.
GET controller/argento/public-api/v1/libraries
Parameters
Name | Type | Description |
---|---|---|
startedAt | string | The start time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
endedAt | string | The end time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the libraries by a specific field. Example: sort=applicationName . |
order | string | The ascending or descending order of the sort field. |
filter | string | This allows you to filter the libraries by a specific field. Example: filter=applicationName eq "application1" . |
max | integer | The maximum number of libraries to return. Default: 10 . |
offset | integer | The offset for pagination. Default: 0. |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
filePath | string | The location of the file system, which identifies that the node has a file to that path. This also identifies that the library is from your application. |
Responses
- Code 200
-
A successful retrieval of the library list:
{ "items": [ { "active_internet_breach": true, "affectedNodeCount": 0, "appdApplicationId": 0, "appdTierId": 0, "applicationName": "string", "easily_exploitable": true, "kennaRiskScore": 0, "libraryId": "string", "malware_exploitable": true, "packageCanonicalName": "string", "packageId": "string", "packageLanguage": "string", "packageName": "string", "packageVersion": "string", "popular_target": true, "predicted_exploitable": true, "recommendedVersion": "string", "remote_code_execution": true, "riskScore": 0, "severity": "string", "severityCountCritical": 0, "severityCountHigh": 0, "severityCountLow": 0, "severityCountMedium": 0, "status": "string", "tierName": "string", "totalVulnCount": 0 } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Library Details
Get details of a library based on the provided query parameters.
GET controller/argento/public-api/v1/libraries/{libraryId}
Parameters
Name | Type | Description |
---|---|---|
libraryId | string | The required library ID. |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
filePath | string | The location of the file system, which identifies that the node has a file to that path. This also identifies that the library is from your application. |
Responses
- Code 200
-
A successful and detailed retrieval of a specific library:
{ "active_internet_breach": true, "affectedNodeCount": 0, "appdApplicationId": 0, "appdTierId": 0, "applicationName": "string", "easily_exploitable": true, "kennaRiskScore": 0, "libraryId": "string", "malware_exploitable": true, "packageCanonicalName": "string", "packageId": "string", "packageLanguage": "string", "packageName": "string", "packageVersion": "string", "popular_target": true, "predicted_exploitable": true, "recommendedVersion": "string", "remote_code_execution": true, "riskScore": 0, "severity": "string", "severityCountCritical": 0, "severityCountHigh": 0, "severityCountLow": 0, "severityCountMedium": 0, "status": "string", "tierName": "string", "totalVulnCount": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Business Risk Score
Get a business risk score by application and business transaction based on the provided query parameters.
GET controller/argento/public-api/v1/stats/businessRisk
Parameters
Name | Type | Description |
---|---|---|
btld | string | This is the business transaction ID. |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the business risk score:
{ "brmTitle": "string", "businessRiskScore": 0 }
- Code 204
-
Successful update, no content.
- Code 400
-
A bad request:
{ "error": "string" }
- Code 404
-
Resource not found:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Vulnerability List
Get a list of vulnerabilities based on the provided query parameters.
GET controller/argento/public-api/v1/vulnerabilities
Parameters
Name | Type | Description |
---|---|---|
startedAt | string | The start time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
endedAt | string | The end time of the transactions in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | This allows you to sort the vulnerabilities by a specific field. Example: sort=cweName . |
order | string | The ascending or descending order of the sort field. |
filter | string | This allows you to filter the vulnerabilities by a specific field. Example: filter=cweName eq "CW-94". |
max | integer | The maximum number of libraries to return. Default: 10 . |
offset | integer | The offset for pagination. Default: 0 . |
applicationId | integer | This is the global application filter, which restricts outputs to one application. Use appdApplicationId value from the response |
tierId | integer | The global tier filter, which restricts outputs to one tier only. Use the appdTierId value from the response. |
Responses
- Code 200
-
A successful retrieval of the vulnerability list:
{ "items": [ { "active_internet_breach": true, "affectedNodeCount": 0, "appdApplicationId": 0, "appdTierId": 0, "applicationName": "string", "attackSummaryId": "string", "cveId": "string", "cveName": "string", "cvePublishDate": "string", "cveTitle": "string", "cweName": "string", "easily_exploitable": true, "firstSeenAt": "string", "hasAttacks": true, "hasEvent": true, "hasObservations": true, "incidentId": "string", "kennaScore": 0, "lastSeenAt": "string", "libraryId": "string", "malware_exploitable": true, "packageCanonicalName": "string", "packageId": "string", "packageLanguage": "string", "popular_target": true, "predicted_exploitable": true, "remediation": "string", "remote_code_execution": true, "riskScore": 0, "severity": "string", "status": "Unknown", "tierId": "string", "tierName": "string" } ], "total": 0 }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Vulnerability Details
This API call retrieves details of a vulnerability based on the provided query parameters.
GET controller/argento/public-api/v1/vulnerabilities/{cveId}
Parameters
Name | Type | Description |
---|---|---|
cveId | string | The required CVE ID. |
Responses
- Code 200
-
A successful and detailed retrieval of a specific vulnerability.
{ "createdAt": "string", "cveId": "string", "cveTitle": "string", "cvss3BaseScore": 0, "cvss3VectorString": "string", "cweName": "string", "description": "string", "kenna": { "active_internet_breach": true, "easily_exploitable": true, "malware_exploitable": true, "popular_target": true, "predicted_exploitable": true, "remote_code_execution": true, "risk_score_meter": 0 }, "name": "string", "nvdUrl": "string", "publishDate": "string", "remediation": "string", "severity": "string", "updatedAt": "string" }
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Get Tier Nodes
Get a list of nodes based on a specific tier ID.
GET controller/argento/public-api/v1/tiers/{tierId}/nodes
Parameters
Name | Type | Description |
---|---|---|
tierId | integer | Tier ID that you want to get node details for. |
date | string | Date in RFC3339 format. Example: 2023-05-25T00:10:01-02:00. |
sort | string | Sort the applications by a specific field. Example: sort=applicationName . |
order | string | Order of the sort field (asc or desc). |
filter | string | Filter the nodes by a specific field. Example: filter=nodeName eq 'node1' . |
max | integer | Maximum number of nodes to return. Default: 10 . |
offset | integer | Offset for pagination. Default 0. |
Responses
- Code 200
-
Successful retrieval of node list.
- Code 400
-
A bad request:
{ "error": "string" }
- Code 500
-
An internal server error:
{ "error": "string" }
Update the Security Status for an Application
Updates the securityEnabled status for a specific application based on the provided resource ID.
PATCH controller/argento/public-api/v1/applications/{resourceId}
Parameters
Name | Type | Description |
---|---|---|
resourceId
| string | Resource ID of the application (UUID format). Required. |
body
| object | JSON body containing the securityEnabled status. Required.Example:
|
Responses
- Code 204
-
Successful update, no content.
- Code 400
-
Invalid request (such as missing or invalid parameters):
{ "error": "string" }
- Code 404
-
Resource not found:
{ "error": "string" }
- Code 500
-
Internal server error:
{ "error": "string" }
Update the Security Status for a Node
Updates the securityEnabled status for a specific node based on the provided resource ID.
PATCH controller/argento/public-api/v1/nodes/{resourceId}
Parameters
Name | Type | Description |
---|---|---|
resourceId
| string
| Resource ID of the node (UUID format). Required. |
body
| object
| JSON body containing the securityEnabled status. Required. |
Responses
- Code 204
-
Successful update, no content.
- Code 400
-
Invalid request (such as missing or invalid parameters):
{ "error": "string" }
- Code 404
-
Resource not found:
{ "error": "string" }
- Code 500
-
Internal server error:
{ "error": "string" }
Update the Security Status for a Tier
Updates the securityEnabled status for a specific tier based on the provided resource ID.
PATCH controller/argento/public-api/v1/tiers/{resourceId}
Parameters
Name | Type | Description |
---|---|---|
resourceId
| string
| Resource ID of the tier (UUID format). Required. |
body
| object
| JSON body containing the securityEnabled status. Required.
Example:
|
Responses
- Code 204
-
Successful update, no content.
- Code 400
-
Invalid request (such as missing or invalid parameters):
{ "error": "string" }
- Code 404
-
Resource not found:
{ "error": "string" }
- Code 500
-
Internal server error:
{ "error": "string" }
Download Swagger YAML Specification
Download the Swagger YAML specification Cisco Secure Application Public APIs 25_3.yaml.zip.