All pages
Powered by GitBook
1 of 1

Loading...

Smart Action Definitions

Define filter-based actions that reviewers can apply to certifications results with a matching attribute or status.

Reviewers can view and apply custom actions from the Review interface by clicking Smart Action > Prepared Actions.

Add smart action definition

Create a smart action definition, globally or for a single Workflow.

Example request:

curl -X POST "https://{{veza_url}}/api/preview/awf/smart_action_definitions" \
-H 'authorization: Bearer {{access_token}}' \
-d '{
  "apply_to_all_rows": "false",
  "description": "Reject users where the user `is active` value is not `true`",
  "filter": "source.is_active ne \"true\"",
  "mutable_fields": {
    "decision": "RESULT_DECISION_REJECTED"
  },
  "mutable_filter": "",
  "name": "Reject inactive users",
  "workflow_id": ""
}'

The filter can apply to any source or destination node property.

When apply_to_all_rows is true and no other filter criteria is specified, the action will run on all certification results.

Mutable fields and mutable filters

Mutable fields contain result attributes that are not sourced from Authorization Graph data. Use mutable_fields to apply changes to a result, and mutable_filter to filter results based on decision or sign-off state:

{
  "apply_to_all_rows": "false",
  "description": "Sign off on all rejected rows",
  "filter": "",
  "mutable_fields": {
    "signed_off_state": "SIGNED_OFF"
  },
  "mutable_filter": "decision eq \"RESULT_DECISION_REJECTED\"",
  "name": "Sign off rejected rows",
  "workflow_id": ""
}
Mutable field
Value

decision

One of: "RESULT_DECISION_UNKNOWN" "RESULT_DECISION_NONE" "RESULT_DECISION_ACCEPTED" "RESULT_DECISION_REJECTED" "RESULT_DECISION_FIXED"

notes

string

signed_off_state

One of: "UNKNOWN" "NOT_SIGNED_OFF" "SIGNED_OFF"

Remove a smart action definition

Delete a prepared action by definition id.

List smart action definitions

Returns an array of smart action definitions. By default, this endpoint lists all definitions. If a workflow_id is specified, only definitions for that workflow are included in the response.

Update a smart action definition

Alter a smart action definition by specifying the id and an array of values to change.

A certification includes all source and destination node properties discovered or added by Veza. You can specify a SCIM filter to select the results to affect, for example:

result
Add smart action definition
Mutable fields and mutable filters
Remove a smart action definition
List smart action definitions
Update a smart action definition
delete
Authorizations
Path parameters
idstringRequired
Responses
200
A successful response.
application/json
Responseobject
401
Authorization information is missing or invalid.
403
Returned when the user does not have permission to access the resource.
application/json
404
Returned when the resource does not exist.
500
Server error
502
Returned when the service is temporarily unavailable.
503
Returned when the resource is temporarily unavailable.
delete
DELETE /api/preview/awf/smart_action_definitions/{id} HTTP/1.1
Host: 
Bearer: YOUR_API_KEY
Accept: */*
{}
get
Authorizations
Query parameters
workflow_idstringOptional

If no value is passed for workflow_id, all smart actions will be returned. If workflow_id is not "", smart actions with a matching workflow_id or with an empty workflow_id will be returned.

Responses
200
A successful response.
application/json
401
Authorization information is missing or invalid.
403
Returned when the user does not have permission to access the resource.
application/json
404
Returned when the resource does not exist.
500
Server error
502
Returned when the service is temporarily unavailable.
503
Returned when the resource is temporarily unavailable.
get
GET /api/preview/awf/smart_action_definitions HTTP/1.1
Host: 
Bearer: YOUR_API_KEY
Accept: */*
{
  "values": [
    {
      "id": "text",
      "description": "text",
      "name": "text",
      "workflow_id": "text",
      "filter": "text",
      "mutable_fields": {
        "decision": "RESULT_DECISION_UNKNOWN",
        "notes": "text",
        "updated_at": "2025-05-09T11:32:55.196Z",
        "updated_by": {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text"
        },
        "notification_infos": {
          "values": [
            {
              "notification_type": "WEBHOOK",
              "webhook_type": "GENERIC",
              "status": "UNKNOWN",
              "error_message": "text",
              "updated_at": "2025-05-09T11:32:55.196Z",
              "snow_info": {
                "ticket_number": "text",
                "sys_id": "text"
              },
              "webhook_info": {
                "info": "text"
              }
            }
          ]
        },
        "notification_status": "UNKNOWN",
        "reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text"
          }
        ],
        "signed_off_state": "UNKNOWN",
        "signed_off_at": "2025-05-09T11:32:55.196Z",
        "signed_off_by": {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text"
        },
        "action_log": {
          "entries": [
            {
              "action": "UNKNOWN",
              "user": {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text"
              },
              "time": "2025-05-09T11:32:55.196Z",
              "note": "text",
              "reviewer_detail": {
                "old_reviewers": [
                  {
                    "user_type": "text",
                    "id": "text",
                    "email": "text",
                    "name": "text"
                  }
                ],
                "new_reviewers": [
                  {
                    "user_type": "text",
                    "id": "text",
                    "email": "text",
                    "name": "text"
                  }
                ]
              },
              "decision_detail": {
                "decision": "RESULT_DECISION_UNKNOWN",
                "note": "text"
              }
            }
          ]
        },
        "reviewer_assignment": {
          "users_manager": true,
          "resource_managers": true,
          "reviewers": [
            {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text"
            }
          ],
          "fallback_reviewers": [
            {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text"
            }
          ]
        },
        "automation_run_ids": [
          "text"
        ]
      },
      "mutable_filter": "text",
      "apply_to_all_rows": true
    }
  ]
}
post
Authorizations
Body
namestringOptional
descriptionstringOptional
workflow_idstringOptional
filterstringOptional
mutable_filterstringOptional
apply_to_all_rowsbooleanOptional
Responses
200
A successful response.
application/json
401
Authorization information is missing or invalid.
403
Returned when the user does not have permission to access the resource.
application/json
404
Returned when the resource does not exist.
500
Server error
502
Returned when the service is temporarily unavailable.
503
Returned when the resource is temporarily unavailable.
post
POST /api/preview/awf/smart_action_definitions HTTP/1.1
Host: 
Bearer: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1500

{
  "name": "text",
  "description": "text",
  "workflow_id": "text",
  "filter": "text",
  "mutable_fields": {
    "decision": "RESULT_DECISION_UNKNOWN",
    "notes": "text",
    "updated_at": "2025-05-09T11:32:55.196Z",
    "updated_by": {
      "user_type": "text",
      "id": "text",
      "email": "text",
      "name": "text"
    },
    "notification_infos": {
      "values": [
        {
          "notification_type": "WEBHOOK",
          "webhook_type": "GENERIC",
          "status": "UNKNOWN",
          "error_message": "text",
          "updated_at": "2025-05-09T11:32:55.196Z",
          "snow_info": {
            "ticket_number": "text",
            "sys_id": "text"
          },
          "webhook_info": {
            "info": "text"
          }
        }
      ]
    },
    "notification_status": "UNKNOWN",
    "reviewers": [
      {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text"
      }
    ],
    "signed_off_state": "UNKNOWN",
    "signed_off_at": "2025-05-09T11:32:55.196Z",
    "signed_off_by": {
      "user_type": "text",
      "id": "text",
      "email": "text",
      "name": "text"
    },
    "action_log": {
      "entries": [
        {
          "action": "UNKNOWN",
          "user": {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text"
          },
          "time": "2025-05-09T11:32:55.196Z",
          "note": "text",
          "reviewer_detail": {
            "old_reviewers": [
              {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text"
              }
            ],
            "new_reviewers": [
              {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text"
              }
            ]
          },
          "decision_detail": {
            "decision": "RESULT_DECISION_UNKNOWN",
            "note": "text"
          }
        }
      ]
    },
    "reviewer_assignment": {
      "users_manager": true,
      "resource_managers": true,
      "reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text"
        }
      ],
      "fallback_reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text"
        }
      ]
    },
    "automation_run_ids": [
      "text"
    ]
  },
  "mutable_filter": "text",
  "apply_to_all_rows": true
}
{
  "id": "text"
}
put
Authorizations
Body
Responses
200
A successful response.
application/json
Responseobject
401
Authorization information is missing or invalid.
403
Returned when the user does not have permission to access the resource.
application/json
404
Returned when the resource does not exist.
500
Server error
502
Returned when the service is temporarily unavailable.
503
Returned when the resource is temporarily unavailable.
put
PUT /api/preview/awf/smart_action_definitions HTTP/1.1
Host: 
Bearer: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1522

{
  "value": {
    "id": "text",
    "description": "text",
    "name": "text",
    "workflow_id": "text",
    "filter": "text",
    "mutable_fields": {
      "decision": "RESULT_DECISION_UNKNOWN",
      "notes": "text",
      "updated_at": "2025-05-09T11:32:55.196Z",
      "updated_by": {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text"
      },
      "notification_infos": {
        "values": [
          {
            "notification_type": "WEBHOOK",
            "webhook_type": "GENERIC",
            "status": "UNKNOWN",
            "error_message": "text",
            "updated_at": "2025-05-09T11:32:55.196Z",
            "snow_info": {
              "ticket_number": "text",
              "sys_id": "text"
            },
            "webhook_info": {
              "info": "text"
            }
          }
        ]
      },
      "notification_status": "UNKNOWN",
      "reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text"
        }
      ],
      "signed_off_state": "UNKNOWN",
      "signed_off_at": "2025-05-09T11:32:55.196Z",
      "signed_off_by": {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text"
      },
      "action_log": {
        "entries": [
          {
            "action": "UNKNOWN",
            "user": {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text"
            },
            "time": "2025-05-09T11:32:55.196Z",
            "note": "text",
            "reviewer_detail": {
              "old_reviewers": [
                {
                  "user_type": "text",
                  "id": "text",
                  "email": "text",
                  "name": "text"
                }
              ],
              "new_reviewers": [
                {
                  "user_type": "text",
                  "id": "text",
                  "email": "text",
                  "name": "text"
                }
              ]
            },
            "decision_detail": {
              "decision": "RESULT_DECISION_UNKNOWN",
              "note": "text"
            }
          }
        ]
      },
      "reviewer_assignment": {
        "users_manager": true,
        "resource_managers": true,
        "reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text"
          }
        ],
        "fallback_reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text"
          }
        ]
      },
      "automation_run_ids": [
        "text"
      ]
    },
    "mutable_filter": "text",
    "apply_to_all_rows": true
  }
}
{}