API Probe Capture REST API
POST Search for API Probe Captures
/op/api/v2/apiProbeCaptures/search
Description:
This API performs a search for API probe captures.
Required Roles:
-
There is no custom role that denies access to “Manage API Probe“.
-
And one of the following:
-
A custom role that allows access to “Manage API Probe“.
-
The OpDashAdminRole builtin role.
-
URI:
/op/api/v2/apiProbeCaptures/search
Request:
The request should use the POST method with the following fields in its body:
| Name | Required/Optional | Description | Type | Available Options |
| pagingDto | Required | Navigate between a set of search results. For further details see Search Request. | Element | |
| filters | Optional | Filter criteria for the search results. For further details see Search Request. | Element | |
| filters[].filterfield | Required | Specifies the filter field name. | String |
|
| filters[filterfield=DPOD_API_PROBE_CAPTURE_STATUS].stringValues | Required | The status of the API probe. | Array of Strings |
|
Example:
{
"pagingDto": {
"pagingMinRecordNum": 1,
"pagingMaxRecordNum": 100
},
"filters": [
{
"filterField": "DPOD_DEVICE_NAME",
"filterOperator": "EQUALS",
"stringValues": [
"idg_10_5_0_a"
]
},
{
"filterField": "DPOD_DOMAIN_NAME",
"filterOperator": "EQUALS",
"stringValues": [
"APIC_Mgmt_Domain"
]
},
{
"filterField": "DPOD_API_PROBE_CAPTURE_ID",
"filterOperator": "EQUALS",
"stringValues": [
"60e634cf-e08f-4ee1-bc4e-fa26e6b933df"
]
},
{
"filterField": "DPOD_API_PROBE_CAPTURE_STATUS",
"filterOperator": "EQUALS",
"stringValues": [
"ACTIVE"
]
}
]
}
Successful Response:
The response includes the following fields in its result element:
| Name | Description | Type | Available Options |
| totalResultsCount | The total number of records. | Long | |
| results | Array of Element | ||
| results[].id | The ID of the API probe capture. | Long | |
| results[].captureId | The ID of the API probe capture in the DataPower gateway. | String | |
| results[].deviceName | The device name from which the API probe data was captured. | String | |
| results[].domainName | The domain name from which the API probe data was captured. | String | |
| results[].captureCount | The number of transactions to capture. | Long | |
| results[].capturedTransactions | The number of captured transactions. | Long | |
| results[].userName | The user name who created the API probe capture. | String | |
| results[].startTimeInMill | When the API probe capture started. | Long | |
| results[].endTimeInMill | When the API probe capture finished. | Long | |
| results[].apicApiName | The transaction API name. | String | |
| results[].apicCatalogName | The transaction API catalog name. | String | |
| results[].clientIp | The transaction client IP address. | String | |
| results[].apicClientId | The transaction client ID. | String | |
| results[].apicFullUri | The transaction full URI path. | String | |
| results[].captureStatus | The API probe capture status. | String |
|
Example:
{
"resultCode": "SUCCESS",
"resultMessage": "API Probe captures retrieved successfully",
"result": {
"totalResultsCount": 1,
"results": [
{
"id": 162,
"captureId": "60e634cf-e08f-4ee1-bc4e-fa26e6b933df",
"deviceName": "idg_10_5_0_a",
"domainName": "APIC_Mgmt_Domain",
"captureCount": 15,
"capturedTransactions": 7,
"userName": "admin",
"startTimeInMill": 1727265545369,
"captureStatus": "ACTIVE"
}
]
}
}
GET Get an API Probe Capture
/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}
Description:
This API retrieves a specific API probe capture.
Required Roles:
-
There is no custom role that denies access to “Manage API Probe“.
-
And one of the following:
-
A custom role that allows access to “Manage API Probe“.
-
The OpDashAdminRole builtin role.
-
URI:
/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}
Request:
The request should use the GET method with the following URL parameters:
| Name | Required/Optional | Description | Type | Available Options |
| apiProbeCaptureId | Required | The API probe capture ID. | Long |
Successful Response:
The response includes the following fields in its result element:
| Name | Description | Type | Available Options |
| id | The ID of the API probe capture. | Long | |
| captureId | The ID of the API probe capture in the DataPower gateway. | String | |
| deviceName | The device name from which the API probe data was captured. | String | |
| domainName | The domain name from which the API probe data was captured. | String | |
| captureCount | The number of transactions to capture. | Long | |
| capturedTransactions | The number of captured transactions. | Long | |
| userName | The user name who created the API probe capture. | String | |
| startTimeInMill | When the API probe capture started. | Long | |
| endTimeInMill | When the API probe capture finished. | Long | |
| apicApiName | The transaction API name. | String | |
| apicCatalogName | The transaction API catalog name. | String | |
| clientIp | The transaction client IP address. | String | |
| apicClientId | The transaction client ID. | String | |
| apicFullUri | The transaction full URI path. | String | |
| captureStatus | The API probe capture status. | String |
|
Example:
{
"resultCode": "SUCCESS",
"resultMessage": "API Probe capture retrieved successfully",
"result": {
"id": 162,
"captureId": "60e634cf-e08f-4ee1-bc4e-fa26e6b933df",
"deviceName": "idg_10_5_0_a",
"domainName": "APIC_Mgmt_Domain",
"captureCount": 15,
"capturedTransactions": 15,
"userName": "admin",
"startTimeInMill": 1727265545369,
"endTimeInMill": 1727265676462,
"captureStatus": "COMPLETED"
}
}
POST Add API Probe Captures
/op/api/v2/apiProbeCaptures
Description:
This API adds API probe captures.
Required Roles:
-
There is no custom role that denies access to “Manage API Probe“.
-
And one of the following:
-
A custom role that allows access to “Manage API Probe“.
-
The OpDashAdminRole builtin role.
-
URI:
/op/api/v2/apiProbeCaptures
Request:
The request should use the POST method with the following fields in its body:
| Name | Required/Optional | Description | Type | Available Options |
| deviceNames | Required | The device names on which to create a probe capture. | Array of Strings | Supports wildcards |
| deviceNamesOperator | Required | The device names operator. | String |
|
| domainNames | Required | The domain names on which to create a probe capture. | Array of Strings | Supports wildcards |
| domainNamesOperator | Required | The domain names operator. | String |
|
| durationInMinutes | Required | The duration in minutes to capture. | Long | Positive number |
| captureCount | Required | The number of transactions to capture. | Long | Number between 1 - 1000 |
| interval | Optional | The interval in seconds between which the data for two consecutive transactions can be captured. | Long | Number between 1 - 3600 |
| debugHeader | Optional | Indicates to capture only transactions that include the APIm-Debug: true header. |
Boolean | |
| logLevel | Optional | The log level of the probe data to be captured. | String |
|
| additionalFiltersParameters | Optional | API Probe transaction filters. | Element | |
| additionalFiltersParameters.apicApiName | Optional | Filter transactions by the API name. | String | |
| additionalFiltersParameters.apicCatalogName | Optional | Filter transactions by the API catalog name. | String | |
| additionalFiltersParameters.clientIp | Optional | Filter transactions by the client IP address. | String | |
| additionalFiltersParameters.apicClientId | Optional | Filter transactions by the client ID. | String | |
| additionalFiltersParameters.apicFullUri | Optional | Filter transactions by the request full URI path. | String |
Example:
{
"deviceNames": [
"idg_10_5_0_a"
],
"deviceNamesOperator": "eq",
"domainNames": [
"APIC_Mgmt_Domain"
],
"domainNamesOperator": "eq",
"durationInMinutes": 60,
"captureCount": 100,
"interval": 1,
"debugHeader": false,
"logLevel": "debug",
"additionalFiltersParameters": {
"apicApiName": "",
"apicCatalogName": "",
"apicClientId": "",
"apicFullUri": ""
}
}
Successful Response:
The response includes the following fields in its result element:
| Name | Description | Type | Available Options |
| apiProbeCaptures | The API probe captures that have been created. | Array of Elements | |
| apiProbeCaptures[].id | The ID of the API probe capture. | Long | |
| apiProbeCaptures[].captureId | The ID of the API probe capture in the DataPower gateway. | String | |
| apiProbeCaptures[].deviceName | The device name from which the API probe data was captured. | String | |
| apiProbeCaptures[].domainName | The domain name from which the API probe data was captured. | String | |
| apiProbeCaptures[].captureCount | The number of transactions to capture. | Long | |
| apiProbeCaptures[].capturedTransactions | The number of captured transactions. | Long | |
| apiProbeCaptures[].userName | The user name who created the API probe capture. | String | |
| apiProbeCaptures[].startTimeInMill | When the API probe capture started. | Long | |
| apiProbeCaptures[].endTimeInMill | When the API probe capture finished. | Long | |
| apiProbeCaptures[].apicApiName | The transaction API name. | String | |
| apiProbeCaptures[].apicCatalogName | The transaction API catalog name. | String | |
| apiProbeCaptures[].clientIp | The transaction client IP address. | String | |
| apiProbeCaptures[].apicClientId | The transaction client ID. | String | |
| apiProbeCaptures[].apicFullUri | The transaction full URI path. | String | |
| apiProbeCaptures[].captureStatus | The API probe capture status. | String |
|
| apiProbeCaptures[].resultCode | The API probe capture creation result code. | String |
|
| apiProbeCaptures[].resultMessage | The API probe capture creation result message. | String |
Example:
{
"resultCode": "SUCCESS",
"resultMessage": "All API probe captures created successfully",
"result": {
"apiProbeCaptures": [
{
"id": 165,
"captureId": "1e070084-56a3-4464-9c09-fa26e6b9ab06",
"deviceName": "idg_10_5_0_a",
"domainName": "APIC_Mgmt_Domain",
"captureCount": 100,
"capturedTransactions": 0,
"userName": "admin",
"startTimeInMill": 1727267288816,
"captureStatus": "ACTIVE",
"resultCode": "SUCCESS",
"resultMessage": "API Probe capture created successfully"
}
]
}
}
DELETE Delete an API Probe Capture
/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}
Description:
This API marks a specific API probe capture for deletion (with a status of STOPPING).
A background process will delete the API probe capture from the DataPower gateway and will change its status to STOPPED once it is deleted.
Required Roles:
-
There is no custom role that denies access to “Manage API Probe“.
-
And one of the following:
-
A custom role that allows access to “Manage API Probe“.
-
The OpDashAdminRole builtin role.
-
URI:
/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}
Request:
The request should use the DELETE method with the following URL parameters:
| Name | Required/Optional | Description | Type | Available Options |
| apiProbeCaptureId | Required | The API probe capture ID. | Long |
Successful Response:
Example:
{
"resultCode": "SUCCESS",
"resultMessage": "API probe capture is stopping"
}