Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

GUI Application Framework Endpoints

 

Use the references for REST API V8.0 GUI application framework endpoints.

GET /gui_app_framework/application_creation_task

Retrieve a list of status details of all asynchronous requests to create applications.

Table 1: GET /gui_app_framework/application_creation_task Resource Details

MIME Type

application/json

There are no parameters for this endpoint.

Table 2: GET /gui_app_framework/application_creation_task Response Codes

HTTP Response Code

Unique Code

Description

200

 

Application Creation Request list was retrieved.

500

1020

An error occurred while attempting to retrieve the list of status details.

Response Description

The details of the requests to create applications.

Response Sample

[ { "application_id":"101", "status":"String <one of: CREATING, UPGRADING, COMPLETED, CANCELLED, ERROR>", "error_messages": [ { "code":"String <one of: ERROR_DB_UNAVAILABLE, ERROR_FRAMEWORK_UNAVAILABLE, ERROR_CREATING_IMAGE, ERROR_STARTING_CONTAINER>", "message":"String" } ] } ]

POST /gui_app_framework/application_creation_task

Create a new application within the Application framework, and register it with JSA. The application is created asynchronously. A reference to the application_id is returned and should be used in subsequent API calls to determine the status of the application installation.

Table 3: POST /gui_app_framework/application_creation_task Resource Details

MIME Type

application/json

Table 4: POST /gui_app_framework/application_creation_task Request Body Details

Parameter

Data Type

MIME Type

Description

Sample

package

zip

application/zip

A zip file, that contains custom code, and a application manifest JSON file descriptor

null

Table 5: POST /gui_app_framework/application_creation_task Response Codes

HTTP Response Code

Unique Code

Description

201

 

The application was installed and registered successfully.

409

1008

An application with that UUID is already installed. Only an upgrade or delete can be performed in this state.

422

1005

The provided application is invalid. See messages for further details.

500

1020

The application could not be created.

Response Description

application id and status

Response Sample

[ { "application_id":"101", "status":"String <one of: CREATING, UPGRADING, COMPLETED, CANCELLED, ERROR>", "error_messages": [ { "code":"String <one of: ERROR_DB_UNAVAILABLE, ERROR_FRAMEWORK_UNAVAILABLE, ERROR_CREATING_IMAGE, ERROR_STARTING_CONTAINER>", "message":"String" } ] } ]

GET /gui_app_framework/application_creation_task/{application_id}

Retrieve a list of status details of a asynchronous request to create application.

Table 6: GET /gui_app_framework/application_creation_task/{application_id} Resource Details

MIME Type

application/json

Table 7: GET /gui_app_framework/application_creation_task/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

Required - Get the status details of this application defined by application_id returned by the initial POST on application_creation_task.

Table 8: GET /gui_app_framework/application_creation_task/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

200

 

Application Creation Request list was retrieved.

404

1002

The application_id is invalid or could not be found.

500

1020

An error occurred while attempting to retrieve the list of status details.

Response Description

The details of the request to create application.

Response Sample

[ { "application_id":"101", "status":"String <one of: CREATING, UPGRADING, COMPLETED, CANCELLED, ERROR>", "error_messages": [ { "code":"String <one of: ERROR_DB_UNAVAILABLE, ERROR_FRAMEWORK_UNAVAILABLE, ERROR_CREATING_IMAGE, ERROR_STARTING_CONTAINER>", "message":"String" } ] } ]

POST /gui_app_framework/application_creation_task/{application_id}

Use this endpoint to cancel a new application install within the Application framework. The application_id and a status are required.

Table 9: POST /gui_app_framework/application_creation_task/{application_id} Resource Details

MIME Type

application/json

Table 10: POST /gui_app_framework/application_creation_task/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

Required - The application_id to cancel installing.

status

query

Required

String

text/plain

Required - The status to update the application install to. Currently only CANCELLED is supported

Table 11: POST /gui_app_framework/application_creation_task/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

200

 

The application installation was canceled and unregistered successfully.

404

1002

The application_id is invalid or could not be found.

422

1005

The status is not valid.

500

1020

An error occurred when attempting to update the Application request state.

Response Description

application id and status

Response Sample

[ { "application_id":"101", "status":"String <one of: CREATING, UPGRADING, COMPLETED, CANCELLED, ERROR>", "error_messages": [ { "code":"String <one of: ERROR_DB_UNAVAILABLE, ERROR_FRAMEWORK_UNAVAILABLE, ERROR_CREATING_IMAGE, ERROR_STARTING_CONTAINER>", "message":"String" } ] } ]

GET /gui_app_framework/applications

Retrieve a list of applications that are installed on the console, with their manifest json structures and current status.

Table 12: GET /gui_app_framework/applications Resource Details

MIME Type

application/json

There are no parameters for this endpoint.

Table 13: GET /gui_app_framework/applications Response Codes

HTTP Response Code

Unique Code

Description

200

 

The database list was retrieved.

500

1020

An error occurred while attempting to retrieve the list of applications.

Response Description

The list of applications.

Response Sample

[ { "application_state":{ "application_id":"101", "status":"String <one of: CREATING, UPGRADING, RUNNING, STOPPED, ERROR>", "error_message": "String" } , "manifest":{ "name":"Sample Application", "description":"An example of how to create an application manifest", "version":"0.0.1", "areas": [ { "id":"Qapp1_HelloWorld", "url":"http://9.21.118.58:5000", "text":"QApp1", "description":"Loading a dockerised web app into a tab inside Qradar", "required_capabilities":["ADMIN"] } ], "dashboard_items": [ { "text":"Sample Item", "description":"Sample dashboard item that is a copy of most recent offenses", "rest_method":"sampleDashboardItem", "required_capabilities":["ADMIN"] } ], "rest_methods": [ { "name":"sampleDashboardItem", "url":"/static/sampleDashboardItemResponse.json", "method":"GET", "argument_names":[], "required_capabilities":["ADMIN"] }, { "name":"sampleToolbarMethod", "url":"/static/sampleToolbarButtonResponse.json", "method":"GET", "argument_names":["context"], "required_capabilities":["ADMIN"] }, { "name":"sampleIPInformation", "url":"/static/sampleIPInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleUserInformation", "url":"/static/sampleUserInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleURLInformation", "url":"/static/sampleURLInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"addToReferenceSet", "url":"/addToReferenceSet", "method":"GET", "argument_names":["data"] } ], "configuration_pages": [ { "text":"Open IBM.com", "description":"Loading IBM.com in a new window", "icon":null, "url":"https://www.ibm.com/us/en/", "required_capabilities":["ADMIN"] } ], "gui_actions": [ { "id":"addToReferenceSet", "text":"Add To Reference Set", "description":"Adds to a reference set", "icon":null, "rest_method":"addToReferenceSet", "javascript":"alert(result)", "groups":[ "ipPopup" ], "required_capabilities":[ "ADMIN" ] }, { "id":"sampleToolbarButton", "text":"Sample Toolbar Button", "description":"Sample toolbar button that calls a REST method, passing an offense ID along", "icon":null, "rest_method":"sampleToolbarMethod", "javascript":"alert(result)", "groups":[ "OffenseListToolbar" ], "required_capabilities":[ "ADMIN" ] } ], "page_scripts": [ { "app_name":"SEM", "page_id":"OffenseList", "scripts":["/static/sampleScriptInclude.js"] } ], "metadata_providers": [ { "rest_method":"sampleIPInformation", "metadata_type":"ip" }, { "rest_method":"sampleUserInformation", "metadata_type":"userName" }, { "rest_method":"sampleURLInformation", "metadata_type":"ariel:URL" } ] } } ]

GET /gui_app_framework/applications/{application_id}

Retrieve a specific application installed on the console with manifest json structure and current status.

Table 14: GET /gui_app_framework/applications/{application_id} Resource Details

MIME Type

application/json

Table 15: GET /gui_app_framework/applications/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

Required - Get specific installed application defined by application_id returned by the initial POST on application_creation_task.

Table 16: GET /gui_app_framework/applications/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

200

 

The application was retrieved.

404

1002

The application_id is invalid or could not be found.

500

1020

An error occurred while attempting to retrieve the application.

Response Description

The specific application.

Response Sample

[ { "application_state":{ "application_id":"101", "status":"String <one of: CREATING, UPGRADING, RUNNING, STOPPED, ERROR>", "error_message": "String" } , "manifest":{ "name":"Sample Application", "description":"An example of how to create an application manifest", "version":"0.0.1", "areas": [ { "id":"Qapp1_HelloWorld", "url":"http://9.21.118.58:5000", "text":"QApp1", "description":"Loading a dockerised web app into a tab inside Qradar", "required_capabilities":["ADMIN"] } ], "dashboard_items": [ { "text":"Sample Item", "description":"Sample dashboard item that is a copy of most recent offenses", "rest_method":"sampleDashboardItem", "required_capabilities":["ADMIN"] } ], "rest_methods": [ { "name":"sampleDashboardItem", "url":"/static/sampleDashboardItemResponse.json", "method":"GET", "argument_names":[], "required_capabilities":["ADMIN"] }, { "name":"sampleToolbarMethod", "url":"/static/sampleToolbarButtonResponse.json", "method":"GET", "argument_names":["context"], "required_capabilities":["ADMIN"] }, { "name":"sampleIPInformation", "url":"/static/sampleIPInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleUserInformation", "url":"/static/sampleUserInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleURLInformation", "url":"/static/sampleURLInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"addToReferenceSet", "url":"/addToReferenceSet", "method":"GET", "argument_names":["data"] } ], "configuration_pages": [ { "text":"Open IBM.com", "description":"Loading IBM.com in a new window", "icon":null, "url":"https://www.ibm.com/us/en/", "required_capabilities":["ADMIN"] } ], "gui_actions": [ { "id":"addToReferenceSet", "text":"Add To Reference Set", "description":"Adds to a reference set", "icon":null, "rest_method":"addToReferenceSet", "javascript":"alert(result)", "groups":[ "ipPopup" ], "required_capabilities":[ "ADMIN" ] }, { "id":"sampleToolbarButton", "text":"Sample Toolbar Button", "description":"Sample toolbar button that calls a REST method, passing an offense ID along", "icon":null, "rest_method":"sampleToolbarMethod", "javascript":"alert(result)", "groups":[ "OffenseListToolbar" ], "required_capabilities":[ "ADMIN" ] } ], "page_scripts": [ { "app_name":"SEM", "page_id":"OffenseList", "scripts":["/static/sampleScriptInclude.js"] } ], "metadata_providers": [ { "rest_method":"sampleIPInformation", "metadata_type":"ip" }, { "rest_method":"sampleUserInformation", "metadata_type":"userName" }, { "rest_method":"sampleURLInformation", "metadata_type":"ariel:URL" } ] } } ]

POST /gui_app_framework/applications/{application_id}

Start or stop an application by setting status to RUNNING or STOPPED respectively.

Table 17: POST /gui_app_framework/applications/{application_id} Resource Details

MIME Type

application/json

Table 18: POST /gui_app_framework/applications/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

Required - The applicationId of the application to update.

status

query

Required

String

text/plain

Required - The status of the application to set to RUNNING or STOPPED.

Table 19: POST /gui_app_framework/applications/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

200

 

The application has been successfully updated

404

1002

The application_id does not exist.

409

1008

The application is locked by another process.

422

1005

The application status is not valid.

500

1020

An error occurred while attempting to update the application.

Response Description

Application structure including application status.

Response Sample

[ { "application_state":{ "application_id":"101", "status":"String <one of: CREATING, UPGRADING, RUNNING, STOPPED, ERROR>", "error_message": "String" } , "manifest":{ "name":"Sample Application", "description":"An example of how to create an application manifest", "version":"0.0.1", "areas": [ { "id":"Qapp1_HelloWorld", "url":"http://9.21.118.58:5000", "text":"QApp1", "description":"Loading a dockerised web app into a tab inside Qradar", "required_capabilities":["ADMIN"] } ], "dashboard_items": [ { "text":"Sample Item", "description":"Sample dashboard item that is a copy of most recent offenses", "rest_method":"sampleDashboardItem", "required_capabilities":["ADMIN"] } ], "rest_methods": [ { "name":"sampleDashboardItem", "url":"/static/sampleDashboardItemResponse.json", "method":"GET", "argument_names":[], "required_capabilities":["ADMIN"] }, { "name":"sampleToolbarMethod", "url":"/static/sampleToolbarButtonResponse.json", "method":"GET", "argument_names":["context"], "required_capabilities":["ADMIN"] }, { "name":"sampleIPInformation", "url":"/static/sampleIPInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleUserInformation", "url":"/static/sampleUserInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"sampleURLInformation", "url":"/static/sampleURLInformationResponse.json", "method":"GET", "argument_names":["metaDataContext"], "required_capabilities":["ADMIN"] }, { "name":"addToReferenceSet", "url":"/addToReferenceSet", "method":"GET", "argument_names":["data"] } ], "configuration_pages": [ { "text":"Open IBM.com", "description":"Loading IBM.com in a new window", "icon":null, "url":"https://www.ibm.com/us/en/", "required_capabilities":["ADMIN"] } ], "gui_actions": [ { "id":"addToReferenceSet", "text":"Add To Reference Set", "description":"Adds to a reference set", "icon":null, "rest_method":"addToReferenceSet", "javascript":"alert(result)", "groups":[ "ipPopup" ], "required_capabilities":[ "ADMIN" ] }, { "id":"sampleToolbarButton", "text":"Sample Toolbar Button", "description":"Sample toolbar button that calls a REST method, passing an offense ID along", "icon":null, "rest_method":"sampleToolbarMethod", "javascript":"alert(result)", "groups":[ "OffenseListToolbar" ], "required_capabilities":[ "ADMIN" ] } ], "page_scripts": [ { "app_name":"SEM", "page_id":"OffenseList", "scripts":["/static/sampleScriptInclude.js"] } ], "metadata_providers": [ { "rest_method":"sampleIPInformation", "metadata_type":"ip" }, { "rest_method":"sampleUserInformation", "metadata_type":"userName" }, { "rest_method":"sampleURLInformation", "metadata_type":"ariel:URL" } ] } } ]

PUT /gui_app_framework/applications/{application_id}

Upgrade an application.

Table 20: PUT /gui_app_framework/applications/{application_id} Resource Details

MIME Type

application/json

Table 21: PUT /gui_app_framework/applications/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

null

Table 22: PUT /gui_app_framework/applications/{application_id} Request Body Details

Parameter

Data Type

MIME Type

Description

Sample

package

zip

application/zip

A zip file, that contains custom code, and a application manifest JSON file descriptor

null

Table 23: PUT /gui_app_framework/applications/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

202

 

The request for an application upgrade was accepted.

404

1002

The application_id is invalid or could not be found.

409

1008

The application is locked by another process.

422

1005

The provided application is invalid. See messages for further details.

500

1020

The application could not be created.

Response Description

application id and status

Response Sample

[ { "application_id":"101", "status":"String <one of: CREATING, UPGRADING, COMPLETED, CANCELLED, ERROR>", "error_messages": [ { "code":"String <one of: ERROR_DB_UNAVAILABLE, ERROR_FRAMEWORK_UNAVAILABLE, ERROR_CREATING_IMAGE, ERROR_STARTING_CONTAINER>", "message":"String" } ] } ]

DELETE /gui_app_framework/applications/{application_id}

Delete an Application.

Table 24: DELETE /gui_app_framework/applications/{application_id} Resource Details

MIME Type

text/plain

Table 25: DELETE /gui_app_framework/applications/{application_id} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

application_id

path

Required

Number (Integer)

text/plain

Required - The applicationId of the application to delete.

Table 26: DELETE /gui_app_framework/applications/{application_id} Response Codes

HTTP Response Code

Unique Code

Description

204

 

The application has been successfully unregistered.

404

1002

The application_id does not exist.

409

1008

The application is locked by another process.

500

1020

An error occurred while attempting to delete the application.

Response Description

Successful response code 204 No content.

Response Sample

GET /gui_app_framework/named_services

Retrieves a list of all named services registered with the Application Framework.

By using the returned information, the caller can determine what services are available and what facilities each service provides via its REST endpoints.

Table 27: GET /gui_app_framework/named_services Resource Details

MIME Type

application/json

There are no parameters for this endpoint.

Table 28: GET /gui_app_framework/named_services Response Codes

HTTP Response Code

Unique Code

Description

200

 

The list of named services was returned.

500

1020

An error occurred while trying to retrieve the list of named services.

Response Description

A list of named services. The documentation for /named_services/{uuid} has a description of the details returned for a named service instance.

Response Sample

[{ "name": "resourceservice", "version": "1", "application_id": 1001, "uuid": "e4081cd1-c3c8-4089-afc7-c32039bd796c", "endpoints": [ { "name": "getResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource/{resource_id}", "http_method": "GET", "parameters": [ { "location": "PATH", "name": "resource_id" } ], "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" }, { "name": "createResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource", "http_method": "POST", "request_mime_type": "application/json+ld", "request_body_type": { "@type": "http://id.ibm.com/Resource", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" }, "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" }, { "name": "updateResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource/{resource_id}", "http_method": "PUT", "request_mime_type": "application/json+ld", "request_body_type": { "@type": "http://id.ibm.com/Resource", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" }, "parameters": [ { "location": "PATH", "name": "resource_id" } ], "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" } ] }]

GET /gui_app_framework/named_services/{uuid}

Retrieves a named service registered with the Application Framework by using the supplied uuid.

Table 29: GET /gui_app_framework/named_services/{uuid} Resource Details

MIME Type

application/json

Table 30: GET /gui_app_framework/named_services/{uuid} Request Parameter Details

Parameter

Type

Optionality

Data Type

MIME Type

Description

uuid

path

Required

String

text/plain

Required - A named service uuid.

Table 31: GET /gui_app_framework/named_services/{uuid} Response Codes

HTTP Response Code

Unique Code

Description

200

 

The requested named service was returned.

404

1002

The requested named service could not be found.

500

1020

An error occurred while trying to retrieve the requested named service.

Response Description

The details of a named service:

  • name - String - Service name.

  • version - String - Service version.

  • application_id - Integer - ID of the application that implements this service.

  • uuid - Integer - Unique identifier for this service.

  • endpoints - Array - List of endpoints provided by this service.

    • name - String - Endpoint name.

    • path - String - Endpoint URL.

    • http_method - String - One of GET/POST/PUT/DELETE.

    • request_mime_type - String - MIME type of request body.

    • request_body_type - Object - JSON definition of request body.

    • parameters - Array - List of request parameters.

      • location - String - Where the parameter goes in the request. One of PATH/QUERY/BODY.

    • name - String - Parameter name.

    • definition - String - Parameter definition, e.g. "String".

    • response - Object - Response definition.

      • mime_type - String - MIME type of response body.

      • body_type - Object - JSON definition of response body.

    • error_mime_type - String - MIME type of response body when an error occurs.

Response Sample

{ "name": "resourceservice", "version": "1", "application_id": 1001, "uuid": "e4081cd1-c3c8-4089-afc7-c32039bd796c", "endpoints": [ { "name": "getResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource/{resource_id}", "http_method": "GET", "parameters": [ { "location": "PATH", "name": "resource_id" } ], "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" }, { "name": "createResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource", "http_method": "POST", "request_mime_type": "application/json+ld", "request_body_type": { "@type": "http://id.ibm.com/Resource", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" }, "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" }, { "name": "updateResource", "path": "https://1.1.1.1/console/plugins/1001/ app_proxy:resourceservice/resource/{resource_id}", "http_method": "PUT", "request_mime_type": "application/json+ld", "request_body_type": { "@type": "http://id.ibm.com/Resource", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" }, "parameters": [ { "location": "PATH", "name": "resource_id" } ], "response": { "mime_type": "application/json+ld", "body_type": { "@type": "http://id.ibm.com/Resource", "resource_id": "http://id.ibm.com/resourceID", "resource_name": "http://id.ibm.com/resourceName", "resource_owner": "http://id.ibm.com/personId" } }, "error_mime_type": "text/plain" } ] }