IBM DataPower Operations Dashboard v1.0.20.x

A newer version of this product documentation is available.

You are viewing an older version. View latest at IBM DPOD Documentation.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »


Available report actions via APIs

Get / Create / Update / Execute / Delete reports

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:

curl -u username:password https://<dpod hostname>/op/api/v2/reports/{{productView}}

GET Retrieve All Reports

 /op/api/v2/reports/{{productView}}

URL:

GET - https://{{dpodHostname}}/op/api/v2/reports/{{productView}}

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. View or Edit report

  2. Access permissions for required product

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Reports retrieved successfully",
    "result": {
        "reports": [{
                "name": "API Latency Report",
                "description": "API Latency",
                "productView": "APIC",
                "apiReference": "1B1925B3-EAE0-4E4A-97B6-78AD13EDE856",
                "indexSets": "apic-log",
                "documentType": "APIC_LOGICAL_TRANS",
                "jsonQuery": "{\"query\":{\"bool\":{\"must\":{\"match_all\":{}},... }",
                "schedule": "",
                "recipients": [],
                "adHocFilterTypes": ["TIME", "DEVICE",....],
                "filtersParameters": { "timeRangeType": "recent",.....},
                "lastUpdateTimeInMillis": 1646655197926,
                "lastUpdateUserName": "admin",
                "esHeadersDictionary": ""
            },
            {....}
        ]
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Reports retrieved successfully”

result → list of all reports and their data. For report parameters info click here: Reports REST API - Message Structure

GET Get Specific Report Details

 /op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

URL:

GET - https://{{dpodHostname}}/op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

reportApiReferenceId

required

The report apiReferenceId (can be retrieved from “Retrieved all reports” response)

path

UUID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. View or Edit report

  2. Access permissions for required product related to the report

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report retrieved successfully",
    "result": {
        "name": "<report name>",
        "description": "<report description>",
        "productView": "<report product view>",
        "apiReference": "<report uuid>",
        "indexSets": "<report indexSet>",
        "documentType": "<report documentType>",
        "jsonQuery": "{\"query\":{\"bool\":{\"must\":{\"match_all\":{}},... }",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": ["TIME", "DEVICE",....],
        "filtersParameters": { "timeRangeType": "recent",.....},
        "lastUpdateTimeInMillis": 1644768927839,
        "lastUpdateUserName": "Installer",
        "esHeadersDictionary": ""
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report retrieved successfully”

result → The report data. For report parameters info click here: Reports REST API - Message Structure

POST Execute (Async) Report

 /op/api/v2/report/{{productView}}/{{reportApiReferenceId}}/executeAsync

URL:

POST - https://{{dpodHostname}}/op/api/v2/report/{{productView}}/{{reportApiReferenceId}}/executeAsync

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

reportApiReferenceId

required

The report apiReferenceId you wish to execute ( id can be retrieved from “Retrieved all reports” response)

path

UUID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. View or Edit report

  2. Access permissions for required product related to the report

See roles information here: Role Based Access Control

Request:

Type

Parameters

Example Json

Description

Required

  1. List<String> recipients

  2. Map<String, String>filtersParameters

{
    "recipients" :[], 
    "filtersParameters" : {}
}
  1. recipients → recipients' email address. Array can be sent empty.

  2. filtersParameters→ list of filters. List can be sent empty.

For report parameters info click here: Reports REST API - Message Structure

Additional parameter

Available filters:

{
    "recipients" :[“address1@mail.com“...],
    "filtersParameters" : {
      "deviceNameOp":"eq", 
      "deviceName":"a8a68da7e070", 
      "timeRangeType":"recent",
      "timeRangePeriod":"600000" 
    }
}

TODO - add all available filters and their description.

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report executed successfully",
    "result": {
        "executionId": <ID>
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report executed successfully”

result executionId → the report execution id (integer).

GET Get Report Execution Details

 /op/api/v2/reportexecution/{{productView}}/{{executionId}}

URL:

GET - https://{{dpodHostname}}/op/api/v2/reportexecution/{{productView}}/{{executionId}}

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Relevant product view APIC / IDG

path

APIC / IDG

executionId

required

The report execution ID (can be retrieved from “execute report” api response)

path

ID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. View or Edit report

  2. Access permissions for required product related to the report

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report execution retrieved successfully",
    "result": {
        "executionId": 7,
        "recipients": "",
        "filters": "",
        "executingUserName": "admin",
        "status": "OK",
        "requestTimeInMillis": 1646827094043,
        "executionTimeInMillis": 1646827094948,
        "completionTimeInMillis": 1646827101507
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report execution retrieved successfully”

result

  • executionId

  • recipients

  • filters

  • executingUserName

  • status

  • requestTimeInMillis

  • executionTimeInMillis

  • completionTimeInMillis

GET Download Report Execution

 /op/api/v2/reportexecution/{{productView}}/{{executionId}}/download

URL:

GET - https://{{dpodHostname}}/op/api/v2/reportexecution/{{productView}}/{{executionId}}/download

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Relevant product view APIC / IDG

path

APIC / IDG

executionId

required

The report execution ID (can be retrieved from “execute report” api response)

path

ID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. View or Edit report

  2. Access permissions for required product related to the report

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

xls file type

Status code: 200

POST Duplicate Report

 /op/api/v2/report/{{productView}}/{{reportApiReferenceId}}/duplicate

URL:

POST - https://{{dpodHostname}}/op/api/v2/report/{{productView}}/{{reportApiReferenceId}}/duplicate

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

reportApiReferenceId

required

The report apiReferenceId you wish to duplicate ( id can be retrieved from “Retrieved all reports” response)

path

UUID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. Edit report

  2. Access permissions for required product related to the report you wish to duplicate

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report duplicated successfully",
    "result": {
        "name": "<source report name> Copy",
        "description": "<source report description>",
        "productView": "<source report productView>",
        "apiReference": "<New unique report uuid>",
        "indexSets": "<source report indexSet>",
        "documentType": "<source report documentType>",
        "jsonQuery": "<source report query>",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": ["TIME", "DEVICE",....],
        "filtersParameters": { "timeRangeType": "recent",.....},
        "lastUpdateTimeInMillis": 1646826210928,
        "lastUpdateUserName": "<current userName>",
        "esHeadersDictionary": ""
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report duplicated successfully”

result → The report data. For report parameters info click here: Reports REST API - Message Structure

POST Add Report

 /op/api/v2/reports/{{productView}}

URL:

POST - https://{{dpodHostname}}/op/api/v2/reports/{{productView}}

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. Edit report

  2. Access permissions for product view of new report

See roles information here: Role Based Access Control

Request:

Type

Parameters

Example Json

Description

Required

  1. String name

  2. String description

  3. String productView

  4. String indexSets

  5. String documentType

  6. String jsonQuery

  7. String jsonParameters

  8. String schedule

  9. List<String>recipients

  10. List<String>adHocFilterTypes

  11. Map<String, String>filtersParameters

  12. String serviceNameFieldOverride

  13. String esHeadersDictionary

{
        "name": "<new report name>",
        "description": "<new report description>",
        "productView": "<new report productView type>",
        "indexSets": "<new report indexSet>",
        "documentType": "<new report documentType>",
        "jsonQuery": "<new report query>",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": [...],
        "filtersParameters": {...},
        "esHeadersDictionary": ""
    }
  1. recipients → recipients' email address. Array can be sent empty.

  2. filtersParameters→ list of filters. List can be sent empty.

For report parameters info click here: Reports REST API - Message Structure

Additional parameter

Available adHocFilterTypes:

{
      ....
        "adHocFilterTypes": [
            "TIME",
            "DEVICE",
            "DOMAIN",
            "APIC_CATALOG",
            "APIC_SPACE",
            "APIC_PRODUCT",
            "APIC_PLAN",
            "APIC_API",
            "APIC_API_VERSION",
            "APIC_CONSUMER_APP"
        ],
      ....
}

TODO - add all available filters and their description.

Additional parameter

Available filtersParameters:

{
      ....
        "filtersParameters": {
            "timeRangeType": "recent",
            "timeRangePeriod": "86400000"
        },
      ....
}

TODO - add all available filters and their description.

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report added successfully",
    "result": {
         "name": "<new report name>",
        "description": "<new report description>",
        "productView": "<new report productView>",
        "apiReference": "<New unique report uuid>",
        "indexSets": "<new report indexSet>",
        "documentType": "<new report documentType>",
        "jsonQuery": "<new report query>",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": ["TIME", "DEVICE",....],
        "filtersParameters": { "timeRangeType": "recent",.....},
        "lastUpdateTimeInMillis": 1646826210928,
        "lastUpdateUserName": "<current userName>",
        "esHeadersDictionary": ""
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report added successfully”

result → The report data. For report parameters info click here: Reports REST API - Message Structure

PUT Edit Report

 /op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

URL:

PUT - https://{{dpodHostname}}/op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

reportApiReferenceId

required

The report apiReferenceId you wish to edit ( id can be retrieved from “Retrieved all reports” response)

path

UUID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. Edit report

  2. Access permissions for product view of the report

See roles information here: Role Based Access Control

Request:

Type

Parameters

Example Json

Description

Required

  1. String name

  2. String description

  3. String productView

  4. String indexSets

  5. String documentType

  6. String jsonQuery

  7. String jsonParameters

  8. String schedule

  9. List<String>recipients

  10. List<String>adHocFilterTypes

  11. Map<String, String>filtersParameters

  12. String serviceNameFieldOverride

  13. String esHeadersDictionary

{
        "name": "<report edited/source name>",
        "description": "<report edited/source description>",
        "productView": "<report edited/source productView>",
        "indexSets": "<report edited/source indexSet>",
        "documentType": "<report edited/source documentType>",
        "jsonQuery": "<report edited/source query>",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": [...],
        "filtersParameters": {...},
        "esHeadersDictionary": ""
    }
  1. recipients → recipients' email address. Array can be sent empty.

  2. filtersParameters→ list of filters. List can be sent empty.

For report parameters info click here: Reports REST API - Message Structure

Additional parameter

Available adHocFilterTypes:

{
      ....
        "adHocFilterTypes": [
            "TIME",
            "DEVICE",
            "DOMAIN",
            "APIC_CATALOG",
            "APIC_SPACE",
            "APIC_PRODUCT",
            "APIC_PLAN",
            "APIC_API",
            "APIC_API_VERSION",
            "APIC_CONSUMER_APP"
        ],
      ....
}

TODO - add all available filters and their description.

Additional parameter

Available filtersParameters:

{
      ....
        "filtersParameters": {
            "timeRangeType": "recent",
            "timeRangePeriod": "86400000"
        },
      ....
}

TODO - add all available filters and their description.

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report updated successfully",
    "result": {
         "name": "<report edited/source name>",
        "description": "<report edited/source description>",
        "productView": "<report edited/source productView>",
        "apiReference": "<report uuid>",
        "indexSets": "<report edited/source indexSet>",
        "documentType": "<report edited/source documentType>",
        "jsonQuery": "<report edited/source query>",
        "schedule": "",
        "recipients": [],
        "adHocFilterTypes": ["TIME", "DEVICE",....],
        "filtersParameters": { "timeRangeType": "recent",.....},
        "lastUpdateTimeInMillis": 1646826210928,
        "lastUpdateUserName": "<current userName>",
        "esHeadersDictionary": ""
    }
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report updated successfully”

result → The report data. For report parameters info click here: Reports REST API - Message Structure

DELETE Delete Report

 /op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

URL:

DELETE - https://{{dpodHostname}}/op/api/v2/report/{{productView}}/{{reportApiReferenceId}}

Request - None.

Parameters:

Parameter

Value

Description

Parameter Type

Data Type

productView

required

Product view APIC / IDG

path

APIC / IDG

reportApiReferenceId

required

The report apiReferenceId you wish to delete ( id can be retrieved from “Retrieved all reports” response)

path

UUID

Authorization:

Authentication Type

Required Permissions

More info

Basic Auth

  1. Edit report

  2. Access permissions for required product related to the report you wish to delete

See roles information here: Role Based Access Control

Response:

Response Type

Value

Description

Successful

{
    "resultCode": "SUCCESS",
    "resultMessage": "Report deleted successfully"
}

Status code: 200

resultCode → SUCCESS

resultMessage → “Report deleted successfully”

  • No labels