Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Available API-C Probe capture actions via APIs

Get / Create / Delete API-C probe captures

Authorization:

Authentication: Basic authentication

Roles: it is recommended to read Role Based Access Control page for understanding build-in and custom roles permissions.

From CLI (example):

Code Block
curl -u username:password https://<dpod hostname>/op/api/v2/apiProbeCaptures

Status
colourGreen
titleGET
Retrieve All API-C Probe Captures

...

title/op/api/v2/apiProbeCaptures/

URL:

GET - https://{{dpodHostname}}/op/api/v2/apiProbeCaptures/

Authorization:

...

Required Permissions

...

More info

...

  1. Access permissions for API-C product view

  2. Access permissions for API probe capture

  3. Access permissions for investigate

...

See roles information here: Role Based Access Control

Response:

...

Response Type

...

Example value

...

Description

...

Successful

...

In this page:

Table of Contents
minLevel1
maxLevel1
include
outlinefalse
indent
stylenone
exclude
typelist
class
printabletrue

Status
colourGreen
titleGET
Retrieve All API-C Probe Captures

Expand
title/op/api/v2/apiProbeCaptures/search

Description:

This API retrieves all API-C probe captures.

Required Roles:

  • There shouldn’t be defined a custom role that denies access to “Manage API-C Probe“ and there is a custom role that permits access or a built-in role OpDashAdminRole.

URI:

/op/api/v2/apiProbeCaptures/search

Request:

The request should use the

Status
colourYellow
titlePOST
method with the following fields in its body:

Name

Required/Optional

Description

Type

Available Options

filters

Optional

Filter a set of search results. For further details see Search Request.

Element

 

filters[].filterfield

 

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

 

The maximum number of records to allow.

String

  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

pagingDto

Required

Navigate between a set of search results. For further details see Search Request.

Element

 

Example:

Code Block
{
  "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 body:

Name

Description

Type

Available Options

totalResultsCount

The total number of records.

Long

 

results

 

Array of Element

 

results[].id

The id of the record in the Database.

Long

 

results[].captureId

The id for a transaction API-C probe capture.

String

 

results[].deviceName

The device name from which the debug API-C probe data was captured.

String

 

results[].domainName

The domain name from which the debug API-C 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 capture.

String

 

results[].startTimeInMill

When the capture started.

Long

 

results[].endTimeInMill

When the capture finished.

Long

 

results[].captureStatus

The capture status.

String

  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

Example:

Code Block
{
    "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"
            }
        ]
    }
}

Status
colourGreen
titleGET
Get Specific API-C Probe Capture Details

Expand
title/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

Description:

This API retrieves a specific API-C probe capture.

Required Roles:

  • There shouldn’t be defined a custom role that denies access to “Manage API Probe“ and there is a custom role that permits access or a built-in role OpDashAdminRole.

URI:

/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

Request:

The request should use the

Status
colourGreen
titleGET
method with the following URL parameters:

Name

Required/Optional

Description

Type

Available Options

apiProbeCaptureId

Required

The API probe capture id (can be retrieved from “Retrieved all probe captures” response)

Element

 

Successful Response:

The response includes the following fields in its body:

Name

Description

Type

Available Options

id

The id of the record in the Database.

Long

 

captureId

The id for a transaction API-C probe capture.

String

 

deviceName

The device name from which the debug API-C probe data was captured.

String

 

domainName

The domain name from which the debug API-C 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 capture.

String

 

startTimeInMill

When the capture started.

Long

 

endTimeInMill

When the capture finished.

Long

 

captureStatus

The capture status.

String

  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

Example:

Code Block
{
    "resultCode": "SUCCESS",
    "resultMessage": "API 
probe
Probe 
captures
capture retrieved successfully",
    "result": {
        "
apicPayloadCaptures
id": 
[
162,
        "captureId": "60e634cf-e08f-4ee1-bc4e-fa26e6b933df",
  
{
      
"deviceName": "idg_10_5_0_a",
        "
id
domainName": 
1
"APIC_Mgmt_Domain",
        "captureCount": 15,
        "
captureId
capturedTransactions": 
"4789432c-ba12-4b8b-8900-57c1dd72ba8a"
15,
        
"deviceName
"userName": "
apic10_5_idg7
admin",

        
"
domainName
startTimeInMill": 
"APIMgmt_C777777777",
1727265545369,
        
"
captureCount
endTimeInMill": 
5,
1727265676462,
        "
capturedTransactions
captureStatus": 
5,
"COMPLETED"
    
"userName": "admin", "startTimeInMill": 1702972400560, "endTimeInMill": 1702972438719, "captureStatus": "COMPLETED" } ] } }

Status code: 200

resultCode → SUCCESS

resultMessage → “API probe captures retrieved successfully"

Status
colourGreen
titleGET
Get Specific API-C Probe Capture Details

Authorization:

Response:

{ "resultCode": "ERROR
Expand
title/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

URL:

GET - https://{{dpodHostname}}/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

URL Parameters:

Name

Is required

Description

Parameter Type

apiProbeCaptureId

True

The API probe capture id (can be retrieved from “Retrieved all API-C probe captures” response)

Number

Required Permissions

More info

  1. Access permissions for API-C product view

  2. Access permissions for API probe capture

  3. Access permissions for investigate

See roles information here: Role Based Access Control

Response Type

Example value

Description

Successful

Code Block
languagejson
{
    "resultCode": "SUCCESS",
    "resultMessage": "API probe payload capture retrieved successfully",
    "result": {
        "id": 1,
        "captureId": "4789432c-ba12-4b8b-8900-57c1dd72ba8a",
        "deviceName": "apic10_5_idg7",
        "domainName": "APIMgmt_C777777777",
        "captureCount": 5,
        "capturedTransactions": 5,
        "userName": "admin",
        "startTimeInMill": 1702972400560,
        "endTimeInMill": 1702972438719,
        "captureStatus": "COMPLETED"
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “API probe payload capture retrieved successfully”

Failure

Code Block
languagejson
}
}

Status
colourYellow
titlePOST
Add API-C Probe Capture

Expand
title/op/api/v2/apiProbeCaptures/

Description:

This API addsl API-C probe captures.

Required Roles:

  • There shouldn’t be defined a custom role that denies access to “Manage API Probe“ and there is a custom role that permits access or a built-in role OpDashAdminRole.

URI:

  • /op/api/v2/apiProbeCaptures/

Request:

The request should use the

Status
colourYellow
titlePOST
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 String

Supports wildcards

deviceNamesOperator

Required

The device names operator.

String

  • eq

domainNames

Required

The domain names on which to create a probe capture.

Array of String

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

  • false

  • true

logLevel

Optional

The log level of the probe data to be captured.

String

  • debug

additionalFiltersParameters

Optional

API-C Probe Filters.

Element

 

additionalFiltersParameters.apicApiName

Optional

Filter transactions by the API name.

String

 

additionalFiltersParameters.apicCatalogName

Optional

Filter transactions by the client IP address.

String

 

additionalFiltersParameters.clientIp

Optional

Filter transactions by the client IP address.

String

 

additionalFiltersParameters.apicClientId

Optional

Filter transactions by the client ID address.

String

additionalFiltersParameters.apicFullUri

Optional

Filter transactions by the request full URI path.

String

Example:

Code Block
{
  "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": "",
    "
resultErrorCode
apicFullUri": "
NOT_FOUND",
"
  
"resultMessage": "API-C payload capture not found" }

Status code: 200

resultCode → ERROR

resultErrorCode → NOT_FOUND

resultMessage → “API-C payload capture not found”

Status
colourYellow
titlePOST
Add API-C Probe Capture

Request body:

Response:

{ "resultCode": "WARNING", "resultErrorCode": "SOME_CAPTURES_FAILED", "resultMessage": "Some API probe captures created successfully", "result": { "apicPayloadCaptures": [ { "deviceName": "apic10_5_idg8", "domainName": "APIMgmt_C777777777", "resultCode": "ERROR", "resultErrorCode": "NO_ROMA_PORT_DEFINED_FOR_DEVICE", "resultMessage": "No ROMA port defined for this device" }, { "id": 4, "captureId": "8aea845a-380e-40af-89d1-57c1dd72405a", "deviceName": "apic10_5_idg7", "domainName": "APIMgmt_C777777777", "captureCount": 100, "capturedTransactions": 0, "userName": "admin", "startTimeInMill": 1702976632734, "captureStatus": "ACTIVE",
Expand
title/op/api/v2/apiProbeCaptures/

URL:

POST - https://{{dpodHostname}}/op/api/v2/apiProbeCaptures/

Authorization:

Required Permissions

More info

  1. Access permissions for API-C product view

  2. Access permissions for API probe capture

  3. Access permissions for investigate

See roles information here: Role Based Access Control

Type

Parameters

Example Json

Description

Required

  1. List<String>deviceNames

  2. String deviceNamesOperator

  3. List<String>domainNames

  4. String domainNamesOperator

Code Block
languagejson
{
    "deviceNames": [
        "apic10_5_idg7"
    ],
    "deviceNamesOperator": "eq",
    "domainNames": [
        "APIMgmt_C777777777"
    ],
    "domainNamesOperator": "eq",
    "catalogNames": [
        "bankcatalog",
        "montiercatalog"
    ],
    "catalogNamesOperator": "eq"
}
  1. deviceNames and domainNames→ support wildcards.

  2. deviceNamesOperator, domainNamesOperator and catalogNamesOperator must be eq.

Optional

  1. Long durationInMinutes

  2. Long captureCount

  3. Long interval

  4. Boolean debugHeader

  5. String logLevel

  6. Map<String, String> additionalFiltersParameters

Code Block
{
    "deviceNames": [
        "apic10_5_idg7"
    ],
    "deviceNamesOperator": "eq",
    "domainNames": [
        "APIMgmt_C777777777"
    ],
    "domainNamesOperator": "eq",
    "durationInMinutes": 60,
    "captureCount": 5,
    "interval": 1,
    "debugHeader": false,
    "logLevel": "debug",
    "additionalFiltersParameters" : {
      "apicCatalogName":"bankcatalog", 
      "apicApiName":"balance-convert", 
      "clientIp":"172.17.100.131",
      "apicClientId":"b580876c023e5936fe622da39d78142a",
      "apicFullUri": "/montierorg10/bankcatalog/balance-convert-102/convert"
    }
}
  1. The duration in minutes to capture should be a positive number

  2. The number of transactions to capture should be a positive number

  3. The interval in seconds between which the data for two consecutive transactions can be captured is between 1 - 3600

  4. additionalFiltersParameters→ List of filters. List can be sent empty.

Response Type

Example value

Description

Successful

Code Block
languagejson
{
    "resultCode": "SUCCESS",
    "resultMessage": "All API probe captures created successfully",
    "result": {
        "apicPayloadCaptures": [
            {
                "id": 3,
                "captureId": "f705e48f-5601-441a-b4bc-57c1dd72cb34",
                "deviceName": "apic10_5_idg7",
                "domainName": "APIMgmt_C777777777",
                "captureCount": 100,
                "capturedTransactions": 0,
                "userName": "admin",
                "startTimeInMill": 1702976576044,
                "captureStatus": "ACTIVE",
                "resultCode": "SUCCESS",
                "resultMessage": "API probe capture created successfully"
            }
        ]
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “All API probe captures created successfully”

Partial success

Code Block
languagejson
}
}

Successful Response:

The response includes the following fields in its body:

Name

Description

Type

Available Options

apiProbeCaptures

 

Array of Element

 

apiProbeCaptures.id

The id of the record in the Database.

Long

 

apiProbeCaptures.captureId

The id for a transaction probe capture.

String

 

apiProbeCaptures.deviceName

The device name from which the debug API-C probe data was captured.

String

 

apiProbeCaptures.domainName

The domain name from which the debug API-C 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 capture.

String

 

apiProbeCaptures.startTimeInMill

When the capture started.

Long

 

apiProbeCaptures.captureStatus

The capture status.

String

  • ACTIVE

  • STOPPING

  • COMPLETED

  • ABORTED

apiProbeCaptures.resultCode

The REST API result code.

String

  • SUCCESS

  • WARNING

  • ERROR

apiProbeCaptures.resultMessage

The REST API result message.

String

 

Example:

Code Block
{
    "resultCode": "SUCCESS",
    "resultMessage": "All API probe captures created successfully",
    "result": {
        "apiProbeCaptures": [
      
"resultCode":
 
"SUCCESS",
     {
           
"resultMessage":
 
"API
 
probe
 
capture
 
created
 
successfully
"id"
: 165,
         
}
       "captureId": 
]
"1e070084-56a3-4464-9c09-fa26e6b9ab06",
     
} }

Status code: 200

resultCode → WARNING

resultErrorCode → SOME_CAPTURES_FAILED

resultMessage → “Some API probe captures created successfully”

Failure

Code Block
languagejson
{
     
"resultCode":
 
"ERROR",
     "
resultErrorCode
deviceName": "
ALL_CAPTURES_FAILED
idg_10_5_0_a",
      
"resultMessage":
 
"All
 
API
 
probe
 
captures
 
failed",
     "
result
domainName":
{
 "APIC_Mgmt_Domain",
                "
apicPayloadCaptures
captureCount": 100,
  
[
              
{
"capturedTransactions": 0,
                "
deviceName
userName": 
"apic10_5_idg8
"admin",
                "
domainName
startTimeInMill": 
"APIMgmt_C777777777"
1727267288816,
                "
resultCode
captureStatus": "
ERROR
ACTIVE",
                "
resultErrorCode
resultCode": "
NO_ROMA_PORT_DEFINED_FOR_DEVICE
SUCCESS",
                "resultMessage": "
No
API 
ROMA
Probe 
port
capture 
defined for this device
created successfully"
            }
        ]
} }

Status code: 200

resultCode → ERROR

resultErrorCode → ALL_CAPTURES_FAILED

resultMessage → “All API probe captures failed”

    }
}

Status
colourRed
titleDELETE
Delete API-C Probe Capture

Authorization:

Response:

json
Expand
title/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

URL:

DELETE - https://{{dpodHostname}}/

Description:

This API deletes a specific API-C probe capture.

Required Roles:

  • There shouldn’t be defined a custom role that denies access to “Manage API Probe“ and there is a custom role that permits access or a built-in role OpDashAdminRole.

URI:

/op/api/v2/apiProbeCapture/{{apiProbeCaptureId}}

Request:

The request should use the

URL Parameters

Status
colourRed
titleDELETE
method with the following URL parameters:

Name

Is required

Required/Optional

Description

Parameter

Type

Available Options

apiProbeCaptureId

True

Required

The API probe capture id (can

be retrieved from “Retrieved all API-C probe captures” response)

Number

Required Permissions

More info

  1. Access permissions for API-C product view

  2. Access permissions for API probe capture

  3. Access permissions for investigate

See roles information here: Role Based Access Control

Response Type

Example value

Description

Successful

Code Block
language

be retrieved from “Retrieved all API-C probe captures” response)

Element

 

Successful Response:

Example:

Code Block
{
    "resultCode": "SUCCESS",
    "resultMessage": "API probe capture is stopping"
}

Status code: 200

resultCode → SUCCESS

resultMessage → “API probe capture is stopping”