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
  • DPOD_DEVICE_NAME

  • DPOD_DOMAIN_NAME

  • DPOD_API_PROBE_CAPTURE_ID

  • DPOD_API_PROBE_CAPTURE_STATUS

filters[filterfield=DPOD_API_PROBE_CAPTURE_STATUS].stringValues Required The status of the API probe. Array of Strings
  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

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
  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

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
  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

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
  • eq

domainNames Required The domain names on which to create a probe capture. Array of Strings Supports wildcards
domainNamesOperator Required The domain names operator. String
  • eq

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
  • debug

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
  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

apiProbeCaptures[].resultCode The API probe capture creation result code. String
  • SUCCESS

  • WARNING

  • ERROR

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"
}