Update Recommendation Result

Update Recommendation Result
Update recommendation result for a specific site

Modifies a recommendation result or triggers its publication to the NSX Policy Manager.

Notes:

  • To publish the generated infrastructure payload to NSX, include publish_action of PUBLISH or FORCE_PUBLISH in the request body.
  • Side Effect: Publishing to NSX applies the recommended security policies, rules, and groups directly to the live firewall environment.
  • Returns a 202 Accepted with an async operation ID. Use the result status endpoint to track publication progress.
Request
URI
PUT
https://{api_host}/intelligence/recommendations/{id}/results/{result-id}
COPY
Path Parameters
string
id
Required  

The id of the resource

string
result-id
Required  

The result id of a recommendation session for each site. For now the result id will be the site id.


Request Body

The updated recommendation result. Can include publish_action of PUBLISH or FORCE_PUBLISH to trigger publication to NSX.

RecommendationResult of type(s) application/json
Required  
This request body class requires all of the following: ManagedResource , InlineRecommendationResult1
{
    "_revision": 0,
    "display_name": "REC 260518 03:46:50",
    "description": "Recommendation created on 5/18/26, 3:46 PM",
    "site_ids": [],
    "infra": {
        "domains": [],
        "_links": [],
        "resource_type": "Infra",
        "id": "infra",
        "tags": [],
        "children": [
            {
                "resource_type": "ChildResourceReference",
                "children": [
                    {
                        "resource_type": "ChildSecurityPolicy",
                        "SecurityPolicy": {
                            "application_connectivity_strategy": [],
                            "connectivity_preference": "NONE",
                            "rules": [],
                            "_links": [],
                            "resource_type": "SecurityPolicy",
                            "id": "Policy-d81c4105-3da3-4cb5-8a08-51f082c175ae-fd0b23f9-7bc6-4f95-9308-ec1d620b9605",
                            "display_name": "Policy-1 (REC 260518 03:46:50)",
                            "description": "Created from d81c4105-3da3-4cb5-8a08-51f082c175ae",
                            "tags": [],
                            "children": [
                                {
                                    "resource_type": "ChildRule",
                                    "Rule": {
                                        "action": "ALLOW",
                                        "_links": [],
                                        "resource_type": "Rule",
                                        "id": "Rule-d81c4105-3da3-4cb5-8a08-51f082c175ae-7e17cb1b-3099-4111-83dc-b0db36be1923",
                                        "display_name": "Rule-1 (REC 260518 03:46:50)",
                                        "description": "Created from REC 260518 03:46:50",
                                        "tags": [],
                                        "parent_path": "/infra/domains/default/security-policies/Policy-d81c4105-3da3-4cb5-8a08-51f082c175ae-fd0b23f9-7bc6-4f95-9308-ec1d620b9605",
                                        "path": "/infra/domains/default/security-policies/Policy-d81c4105-3da3-4cb5-8a08-51f082c175ae-fd0b23f9-7bc6-4f95-9308-ec1d620b9605/rules/Rule-d81c4105-3da3-4cb5-8a08-51f082c175ae-7e17cb1b-3099-4111-83dc-b0db36be1923",
                                        "children": [],
                                        "marked_for_delete": false,
                                        "overridden": false,
                                        "destination_groups": [
                                            "/infra/domains/default/groups/fd2186ce-4129-3567-9a47-e1ec6c3b498a"
                                        ],
                                        "destinations_excluded": false,
                                        "direction": "IN_OUT",
                                        "disabled": false,
                                        "logged": false,
                                        "profiles": [
                                            "ANY"
                                        ],
                                        "scope": [
                                            "/infra/domains/default/groups/05604720-dbe9-3b27-a953-3a1de60b8e28"
                                        ],
                                        "sequence_number": 1,
                                        "service_entries": [],
                                        "services": [
                                            "/infra/services/SSH"
                                        ],
                                        "source_groups": [
                                            "/infra/domains/default/groups/05604720-dbe9-3b27-a953-3a1de60b8e28"
                                        ],
                                        "sources_excluded": false
                                    },
                                    "_links": [],
                                    "tags": [],
                                    "marked_for_delete": false
                                }
                            ],
                            "marked_for_delete": false,
                            "overridden": false,
                            "category": "Application",
                            "locked": false,
                            "rule_count": 1,
                            "scope": [
                                "/infra/domains/default/groups/05604720-dbe9-3b27-a953-3a1de60b8e28"
                            ],
                            "stateful": true
                        },
                        "_links": [],
                        "tags": [],
                        "marked_for_delete": false
                    }
                ],
                "target_type": "Domain",
                "_links": [],
                "id": "default",
                "tags": [],
                "mark_for_override": false,
                "marked_for_delete": false
            }
        ],
        "marked_for_delete": false
    },
    "id": "9e0865d0-9d89-44c7-8cc0-9f96a9b35721",
    "publish_action": "PUBLISH"
}
Authentication
This operation uses the following authentication methods.
Responses
202

The recommendation result update request has been accepted and is being processed asynchronously. The response includes an async operation identifier for tracking the status.

Returns AsyncApiResponse of type(s) application/json
{
    "id": "d81c4105-3da3-4cb5-8a08-51f082c175ae",
    "status_url": "https://<ssp_host>/intelligence/recommendations/d81c4105-3da3-4cb5-8a08-51f082c175ae/results/9e0865d0-9d89-44c7-8cc0-9f96a9b35721/status"
}
string
id
Optional

UUID identifier of the response.

string
status_url
Optional

The URL to check the status of the operation.


400

Bad Request

Returns BadRequest of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


401

Unauthorized

Returns Unauthorized of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


403

Forbidden

Returns Forbidden of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


412

Precondition Failed

Returns PreconditionFailed of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


428

Precondition Required

Returns PreconditionRequired of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


429

Too Many Requests

Returns TooManyRequests of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


default

Error

Returns Error of type(s) application/json
{
    "error_code": 0,
    "module_name": "string",
    "error_message": "string"
}
integer
error_code
Required  

HTTP Status or Application error code.

string
module_name
Optional

Module where the error happened.

string
error_message
Required  

Message describing the error.


Code Samples
COPY
                    curl -X PUT -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{}' https://{api_host}/intelligence/recommendations/{id}/results/{result-id}