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.

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:

Example request:

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 contain result attributes that are not sourced from Access Graph metadata. Use mutable_fields to apply changes to a result, and mutable_filter to filter results based on decision or sign-off state:

Mutable field
Value

Delete a prepared action by definition id.

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.

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

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": ""
}'
{
  "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": ""
}

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"

Add smart action definition

Mutable fields and mutable filters

Remove a smart action definition

List smart action definitions

Update a smart action definition

Mutable fields and mutable filters
Remove a smart action definition
List smart action definitions
Update a smart action definition
result
post
Authorizations
AuthorizationstringRequired

Veza API key for authentication. Generate keys in Administration > API Keys.

Body
namestringOptional
descriptionstringOptional
workflow_idstringOptional

empty workflow_id would mean that the smartAction can be used for any workflowId

filterstringOptional
decisioninteger · enumOptional
notesstringOptional
updated_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
notification_typeinteger · enumOptional
webhook_typeinteger · enumOptional
statusinteger · enumOptional
error_messagestringOptional
updated_atstring · date-timeOptional
ticket_numberstringOptional
sys_idstringOptional
infostringOptional
keysstring[]Optional
slack_app_infoobjectOptional
notification_statusinteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
signed_off_stateinteger · enumOptional
signed_off_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
actioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
timestring · date-timeOptional
notestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decisioninteger · enumOptional
notestringOptional
previous_decisioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reasoninteger · enumOptional
request_idstringOptional
approval_levelinteger · enumOptional
users_managerbooleanOptional
resource_managersbooleanOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reviewers_managers_for_approval_levelsinteger · enum[]Optional

This is a list of approval levels. For each approval level listed, we will attempt to assign managers of the reviewers assigned for that approval level. For example, if this assignment instruction is for the second approval level and the first approval level is specified here, we will assign the manager of the reviewer from the first approval level for the second approval level reviewer. Approval levels are "Zero Indexed" so the first approval level is 0, the second is 1, etc. This is only supported for review creation, it is not supported for updating reviewers of existing results.

automation_run_idsstring[]Optional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decision_atstring · date-timeOptional
idstringOptional
stateinteger · enumOptional
error_messagestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
question_idstringOptional
answer_idstringOptional
answer_textstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
responded_atstring · date-timeRead-onlyOptional
is_assigned_to_current_userbooleanOptional
suggestioninteger · enumOptional
reason_codesstring[]Optional
cohort_idstringOptional
cohort_indexinteger · uint32Optional
itsm_request_numberstringOptional
itsm_request_statusstringOptional
itsm_request_urlstringOptional
itsm_request_last_updated_atstring · date-timeOptional
mutable_filterstringOptional
apply_to_all_rowsbooleanOptional
Responses
200

OK

application/json
idstringOptional
default

Default error response

application/json
post
/api/preview/awf/smart_action_definitions
delete
Authorizations
AuthorizationstringRequired

Veza API key for authentication. Generate keys in Administration > API Keys.

Path parameters
idstringRequired
Responses
200

OK

application/json
objectOptional
default

Default error response

application/json
delete
/api/preview/awf/smart_action_definitions/{id}
get
Authorizations
AuthorizationstringRequired

Veza API key for authentication. Generate keys in Administration > API Keys.

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

OK

application/json
idstringOptional
descriptionstringOptional
namestringOptional
workflow_idstringOptional

empty workflow_id would mean that the smartAction can be used for any workflowId

filterstringOptional
decisioninteger · enumOptional
notesstringOptional
updated_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
notification_typeinteger · enumOptional
webhook_typeinteger · enumOptional
statusinteger · enumOptional
error_messagestringOptional
updated_atstring · date-timeOptional
ticket_numberstringOptional
sys_idstringOptional
infostringOptional
keysstring[]Optional
slack_app_infoobjectOptional
notification_statusinteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
signed_off_stateinteger · enumOptional
signed_off_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
actioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
timestring · date-timeOptional
notestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decisioninteger · enumOptional
notestringOptional
previous_decisioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reasoninteger · enumOptional
request_idstringOptional
approval_levelinteger · enumOptional
users_managerbooleanOptional
resource_managersbooleanOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reviewers_managers_for_approval_levelsinteger · enum[]Optional

This is a list of approval levels. For each approval level listed, we will attempt to assign managers of the reviewers assigned for that approval level. For example, if this assignment instruction is for the second approval level and the first approval level is specified here, we will assign the manager of the reviewer from the first approval level for the second approval level reviewer. Approval levels are "Zero Indexed" so the first approval level is 0, the second is 1, etc. This is only supported for review creation, it is not supported for updating reviewers of existing results.

automation_run_idsstring[]Optional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decision_atstring · date-timeOptional
idstringOptional
stateinteger · enumOptional
error_messagestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
question_idstringOptional
answer_idstringOptional
answer_textstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
responded_atstring · date-timeRead-onlyOptional
is_assigned_to_current_userbooleanOptional
suggestioninteger · enumOptional
reason_codesstring[]Optional
cohort_idstringOptional
cohort_indexinteger · uint32Optional
itsm_request_numberstringOptional
itsm_request_statusstringOptional
itsm_request_urlstringOptional
itsm_request_last_updated_atstring · date-timeOptional
mutable_filterstringOptional
apply_to_all_rowsbooleanOptional
default

Default error response

application/json
get
/api/preview/awf/smart_action_definitions
put
Authorizations
AuthorizationstringRequired

Veza API key for authentication. Generate keys in Administration > API Keys.

Body
idstringOptional
descriptionstringOptional
namestringOptional
workflow_idstringOptional

empty workflow_id would mean that the smartAction can be used for any workflowId

filterstringOptional
decisioninteger · enumOptional
notesstringOptional
updated_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
notification_typeinteger · enumOptional
webhook_typeinteger · enumOptional
statusinteger · enumOptional
error_messagestringOptional
updated_atstring · date-timeOptional
ticket_numberstringOptional
sys_idstringOptional
infostringOptional
keysstring[]Optional
slack_app_infoobjectOptional
notification_statusinteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
signed_off_stateinteger · enumOptional
signed_off_atstring · date-timeOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
actioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
timestring · date-timeOptional
notestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decisioninteger · enumOptional
notestringOptional
previous_decisioninteger · enumOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reasoninteger · enumOptional
request_idstringOptional
approval_levelinteger · enumOptional
users_managerbooleanOptional
resource_managersbooleanOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
reviewers_managers_for_approval_levelsinteger · enum[]Optional

This is a list of approval levels. For each approval level listed, we will attempt to assign managers of the reviewers assigned for that approval level. For example, if this assignment instruction is for the second approval level and the first approval level is specified here, we will assign the manager of the reviewer from the first approval level for the second approval level reviewer. Approval levels are "Zero Indexed" so the first approval level is 0, the second is 1, etc. This is only supported for review creation, it is not supported for updating reviewers of existing results.

automation_run_idsstring[]Optional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
decision_atstring · date-timeOptional
idstringOptional
stateinteger · enumOptional
error_messagestringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
question_idstringOptional
answer_idstringOptional
answer_textstringOptional
user_typestringOptional
idstringOptional
emailstringOptional
namestringOptional
alternate_emailstringOptional
responded_atstring · date-timeRead-onlyOptional
is_assigned_to_current_userbooleanOptional
suggestioninteger · enumOptional
reason_codesstring[]Optional
cohort_idstringOptional
cohort_indexinteger · uint32Optional
itsm_request_numberstringOptional
itsm_request_statusstringOptional
itsm_request_urlstringOptional
itsm_request_last_updated_atstring · date-timeOptional
mutable_filterstringOptional
apply_to_all_rowsbooleanOptional
Responses
200

OK

application/json
objectOptional
default

Default error response

application/json
put
/api/preview/awf/smart_action_definitions
{
  "id": "text"
}
{
  "values": [
    {
      "id": "text",
      "description": "text",
      "name": "text",
      "workflow_id": "text",
      "filter": "text",
      "mutable_fields": {
        "decision": 1,
        "notes": "text",
        "updated_at": "2026-06-07T00:12:22.136Z",
        "updated_by": {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        },
        "notification_infos": {
          "values": [
            {
              "notification_type": 1,
              "webhook_type": 1,
              "status": 1,
              "error_message": "text",
              "updated_at": "2026-06-07T00:12:22.136Z",
              "snow_info": {
                "ticket_number": "text",
                "sys_id": "text"
              },
              "webhook_info": {
                "info": "text"
              },
              "jira_info": {
                "keys": [
                  "text"
                ]
              },
              "slack_app_info": {}
            }
          ]
        },
        "notification_status": 1,
        "reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text",
            "alternate_email": "text"
          }
        ],
        "signed_off_state": 1,
        "signed_off_at": "2026-06-07T00:12:22.136Z",
        "signed_off_by": {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        },
        "action_log": {
          "entries": [
            {
              "action": 1,
              "user": {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text",
                "alternate_email": "text"
              },
              "time": "2026-06-07T00:12:22.136Z",
              "note": "text",
              "reviewer_detail": {
                "old_reviewers": [
                  {
                    "user_type": "text",
                    "id": "text",
                    "email": "text",
                    "name": "text",
                    "alternate_email": "text"
                  }
                ],
                "new_reviewers": [
                  {
                    "user_type": "text",
                    "id": "text",
                    "email": "text",
                    "name": "text",
                    "alternate_email": "text"
                  }
                ]
              },
              "decision_detail": {
                "decision": 1,
                "note": "text"
              },
              "decision_cleared_detail": {
                "previous_decision": 1,
                "original_decider": {
                  "user_type": "text",
                  "id": "text",
                  "email": "text",
                  "name": "text",
                  "alternate_email": "text"
                },
                "reason": 1
              },
              "revocation_request_detail": {
                "request_id": "text"
              },
              "approval_level": 1
            }
          ]
        },
        "reviewer_assignment": {
          "users_manager": true,
          "resource_managers": true,
          "reviewers": [
            {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text",
              "alternate_email": "text"
            }
          ],
          "fallback_reviewers": [
            {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text",
              "alternate_email": "text"
            }
          ],
          "reviewers_managers_for_approval_levels": [
            1
          ]
        },
        "automation_run_ids": [
          "text"
        ],
        "decision_by": {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        },
        "decision_at": "2026-06-07T00:12:22.136Z",
        "revoke_request_infos": [
          {
            "id": "text",
            "state": 1,
            "error_message": "text"
          }
        ],
        "old_reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text",
            "alternate_email": "text"
          }
        ],
        "predefined_question_response": [
          {
            "question_id": "text",
            "answer_id": "text",
            "answer_text": "text",
            "respondent_user": {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text",
              "alternate_email": "text"
            },
            "responded_at": "2026-06-07T00:12:22.136Z"
          }
        ],
        "is_assigned_to_current_user": true,
        "ai_suggestion": {
          "suggestion": 1,
          "reason_codes": [
            "text"
          ],
          "cohort_id": "text",
          "cohort_index": 1
        },
        "itsm_request_number": "text",
        "itsm_request_status": "text",
        "itsm_request_url": "text",
        "itsm_request_last_updated_at": "2026-06-07T00:12:22.136Z"
      },
      "mutable_filter": "text",
      "apply_to_all_rows": true
    }
  ]
}
{}
POST /api/preview/awf/smart_action_definitions HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2620

{
  "name": "text",
  "description": "text",
  "workflow_id": "text",
  "filter": "text",
  "mutable_fields": {
    "decision": 1,
    "notes": "text",
    "updated_at": "2026-06-07T00:12:22.136Z",
    "updated_by": {
      "user_type": "text",
      "id": "text",
      "email": "text",
      "name": "text",
      "alternate_email": "text"
    },
    "notification_infos": {
      "values": [
        {
          "notification_type": 1,
          "webhook_type": 1,
          "status": 1,
          "error_message": "text",
          "updated_at": "2026-06-07T00:12:22.136Z",
          "snow_info": {
            "ticket_number": "text",
            "sys_id": "text"
          },
          "webhook_info": {
            "info": "text"
          },
          "jira_info": {
            "keys": [
              "text"
            ]
          },
          "slack_app_info": {}
        }
      ]
    },
    "notification_status": 1,
    "reviewers": [
      {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text",
        "alternate_email": "text"
      }
    ],
    "signed_off_state": 1,
    "signed_off_at": "2026-06-07T00:12:22.136Z",
    "signed_off_by": {
      "user_type": "text",
      "id": "text",
      "email": "text",
      "name": "text",
      "alternate_email": "text"
    },
    "action_log": {
      "entries": [
        {
          "action": 1,
          "user": {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text",
            "alternate_email": "text"
          },
          "time": "2026-06-07T00:12:22.136Z",
          "note": "text",
          "reviewer_detail": {
            "old_reviewers": [
              {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text",
                "alternate_email": "text"
              }
            ],
            "new_reviewers": [
              {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text",
                "alternate_email": "text"
              }
            ]
          },
          "decision_detail": {
            "decision": 1,
            "note": "text"
          },
          "decision_cleared_detail": {
            "previous_decision": 1,
            "original_decider": {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text",
              "alternate_email": "text"
            },
            "reason": 1
          },
          "revocation_request_detail": {
            "request_id": "text"
          },
          "approval_level": 1
        }
      ]
    },
    "reviewer_assignment": {
      "users_manager": true,
      "resource_managers": true,
      "reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        }
      ],
      "fallback_reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        }
      ],
      "reviewers_managers_for_approval_levels": [
        1
      ]
    },
    "automation_run_ids": [
      "text"
    ],
    "decision_by": {
      "user_type": "text",
      "id": "text",
      "email": "text",
      "name": "text",
      "alternate_email": "text"
    },
    "decision_at": "2026-06-07T00:12:22.136Z",
    "revoke_request_infos": [
      {
        "id": "text",
        "state": 1,
        "error_message": "text"
      }
    ],
    "old_reviewers": [
      {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text",
        "alternate_email": "text"
      }
    ],
    "predefined_question_response": [
      {
        "question_id": "text",
        "answer_id": "text",
        "answer_text": "text"
      }
    ],
    "is_assigned_to_current_user": true,
    "ai_suggestion": {
      "suggestion": 1,
      "reason_codes": [
        "text"
      ],
      "cohort_id": "text",
      "cohort_index": 1
    },
    "itsm_request_number": "text",
    "itsm_request_status": "text",
    "itsm_request_url": "text",
    "itsm_request_last_updated_at": "2026-06-07T00:12:22.136Z"
  },
  "mutable_filter": "text",
  "apply_to_all_rows": true
}
DELETE /api/preview/awf/smart_action_definitions/{id} HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /api/preview/awf/smart_action_definitions HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PUT /api/preview/awf/smart_action_definitions HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2642

{
  "value": {
    "id": "text",
    "description": "text",
    "name": "text",
    "workflow_id": "text",
    "filter": "text",
    "mutable_fields": {
      "decision": 1,
      "notes": "text",
      "updated_at": "2026-06-07T00:12:22.136Z",
      "updated_by": {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text",
        "alternate_email": "text"
      },
      "notification_infos": {
        "values": [
          {
            "notification_type": 1,
            "webhook_type": 1,
            "status": 1,
            "error_message": "text",
            "updated_at": "2026-06-07T00:12:22.136Z",
            "snow_info": {
              "ticket_number": "text",
              "sys_id": "text"
            },
            "webhook_info": {
              "info": "text"
            },
            "jira_info": {
              "keys": [
                "text"
              ]
            },
            "slack_app_info": {}
          }
        ]
      },
      "notification_status": 1,
      "reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        }
      ],
      "signed_off_state": 1,
      "signed_off_at": "2026-06-07T00:12:22.136Z",
      "signed_off_by": {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text",
        "alternate_email": "text"
      },
      "action_log": {
        "entries": [
          {
            "action": 1,
            "user": {
              "user_type": "text",
              "id": "text",
              "email": "text",
              "name": "text",
              "alternate_email": "text"
            },
            "time": "2026-06-07T00:12:22.136Z",
            "note": "text",
            "reviewer_detail": {
              "old_reviewers": [
                {
                  "user_type": "text",
                  "id": "text",
                  "email": "text",
                  "name": "text",
                  "alternate_email": "text"
                }
              ],
              "new_reviewers": [
                {
                  "user_type": "text",
                  "id": "text",
                  "email": "text",
                  "name": "text",
                  "alternate_email": "text"
                }
              ]
            },
            "decision_detail": {
              "decision": 1,
              "note": "text"
            },
            "decision_cleared_detail": {
              "previous_decision": 1,
              "original_decider": {
                "user_type": "text",
                "id": "text",
                "email": "text",
                "name": "text",
                "alternate_email": "text"
              },
              "reason": 1
            },
            "revocation_request_detail": {
              "request_id": "text"
            },
            "approval_level": 1
          }
        ]
      },
      "reviewer_assignment": {
        "users_manager": true,
        "resource_managers": true,
        "reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text",
            "alternate_email": "text"
          }
        ],
        "fallback_reviewers": [
          {
            "user_type": "text",
            "id": "text",
            "email": "text",
            "name": "text",
            "alternate_email": "text"
          }
        ],
        "reviewers_managers_for_approval_levels": [
          1
        ]
      },
      "automation_run_ids": [
        "text"
      ],
      "decision_by": {
        "user_type": "text",
        "id": "text",
        "email": "text",
        "name": "text",
        "alternate_email": "text"
      },
      "decision_at": "2026-06-07T00:12:22.136Z",
      "revoke_request_infos": [
        {
          "id": "text",
          "state": 1,
          "error_message": "text"
        }
      ],
      "old_reviewers": [
        {
          "user_type": "text",
          "id": "text",
          "email": "text",
          "name": "text",
          "alternate_email": "text"
        }
      ],
      "predefined_question_response": [
        {
          "question_id": "text",
          "answer_id": "text",
          "answer_text": "text"
        }
      ],
      "is_assigned_to_current_user": true,
      "ai_suggestion": {
        "suggestion": 1,
        "reason_codes": [
          "text"
        ],
        "cohort_id": "text",
        "cohort_index": 1
      },
      "itsm_request_number": "text",
      "itsm_request_status": "text",
      "itsm_request_url": "text",
      "itsm_request_last_updated_at": "2026-06-07T00:12:22.136Z"
    },
    "mutable_filter": "text",
    "apply_to_all_rows": true
  }
}
{}