All pages
Powered by GitBook
1 of 13

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Self Review Prevention

Prevent users from being assigned as reviewers for rows that relate to their own access and permissions.

Enable or disable self-review prevention. When self-review prevention is enabled, users are prevented from being assigned as reviewers for rows that relate to their own access and permissions.

Parameters

The value can be either an integer or string:

  • SELF_REVIEWER_CHECKING_DISABLED = 1 (or "SELF_REVIEWER_CHECKING_DISABLED" as string)

  • SELF_REVIEWER_CHECKING_ENABLED = 2 (or "SELF_REVIEWER_CHECKING_ENABLED" as string)

Examples

Example using string value:

{
    "value": "SELF_REVIEWER_CHECKING_DISABLED"
}

Example using integer value:

{
    "value": 1
}

Example cURL request:

curl -L -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/self_reviewer_settings' \
  -H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "value": 1
  }'

Get Self Review Settings

Set Self Review Settings

Review Auto-Complete Settings

Enable or disable automatic review completion once all rows have decisions.

Enable or disable the "auto-complete" feature. When auto-complete is enabled, a review will automatically be completed once all rows have a signed-off decision, or a non-rejected signed-off decision, depending on the "Completion Allowed Settings."

Parameters

Possible values are:

  • AUTO_COMPLETE_UNKNOWN

  • AUTO_COMPLETE_ENABLED

  • AUTO_COMPLETE_DISABLED

Example

{
    "value": "AUTO_COMPLETE_DISABLED"
}

Get Review Auto-Complete Settings

Set Review Auto-Complete Settings

Predefined Decision Notes

Add suggested notes for reviewer decisions.

Configure predefined notes as menu options when reviewers approve or reject rows. This feature can be configured globally for all reviews or specifically for individual review configurations. When configured for a specific review configuration (using workflow_id), those settings override any global predefined notes.

The predefined notes appear as selectable options in the notes dialog when making decisions, suggesting standardized responses alongside free-form text entry.

Parameters

The request body accepts:

  • reject_notes: Array of predefined note options shown when rejecting rows

  • accept_notes: Array of predefined note options shown when approving rows

  • workflow_id: (Optional) Specific review configuration ID to override global settings

Example

Example request body:

{
    "value": {
        "reject_notes": [
            "Rotate now",
            "Delete secret"
        ],
        "accept_notes": []
    },
    "workflow_id": "8ae1c414-3a76-46cb-950a-925316b3f264"  // Optional
}

Get Predefined Notes Settings

Retrieve the current predefined notes settings. Include the optional workflow_id query parameter to get settings for a specific review configuration.

Global Settings Request:

curl -L 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/predefined_decision_notes' \
-H 'Authorization: Bearer YOUR_API_KEY'

Configuration-Specific Request:

curl -L 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/predefined_decision_notes?workflow_id=8ae1c414-3a76-46cb-950a-925316b3f264' \
-H 'Authorization: Bearer YOUR_API_KEY'

Example response:

{
    "value": {
        "reject_notes": [
            "Rotate now",
            "Delete secret"
        ],
        "accept_notes": []
    }
}

Set Predefined Notes Settings

Update the predefined notes settings globally or for a specific review configuration.

Configuration-Specific Request:

curl -L -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/predefined_decision_notes' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
    "value": {
        "reject_notes": [
            "Rotate now",
            "Delete secret"
        ],
        "accept_notes": []
    },
    "workflow_id": "8ae1c414-3a76-46cb-950a-925316b3f264"
}'

Review Completion Settings

Customize the requirements for completing a review.

An Admin or Operator user can complete a review by clicking the "Complete Review" button.

Once a review is marked as "completed," it becomes read-only and is no longer visible to reviewers. By default, a review can be completed when all rows have a signed-off decision.

This API allows you to modify this behavior, enabling a review to be completed at any time, or only when all rows are signed off with a non-rejected decision. The latter option is useful if your organization prefers to complete reviews only after all rejected access has been remediated.

Parameters

Possible values are:

  • COMPLETION_ALLOWED_UNKNOWN = 0

  • COMPLETION_ALLOWED_ALL_ROWS_HAVE_DECISION = 1 (Review can be completed only when all result rows have a decision)

  • COMPLETION_ALLOWED_ANYTIME = 2 (Review can be completed any time)

Example

{
    "value": "COMPLETION_ALLOWED_ALL_ROWS_HAVE_DECISION"
}

Get Review Completion Settings

Set Review Completion Settings

Review Expiration Behavior

Configure what happens when reviews expire.

This setting is configurable on the Access Reviews > Settings page. Enable Reject incomplete rows to reject and sign off on undecided rows when a review expires.

This API allows you to change the behavior when a review expires (which can be enabled in Review Auto-Complete Settings). Depending on the behavior, incomplete rows can be auto-rejected when the review deadline passes.

Review expiration behavior can be configured globally, or for all reviews for a single Review Configuration, specified by workflow_id in the request.

Request Structure

The request body must include a setting object with the following structure:

{
  "workflow_id": "string",
  "setting": {
    "behavior": 0,
    "note_to_add": "string"
  }
}

Parameters

Where:

  • workflow_id (string, optional): Specific review configuration ID. If omitted, applies globally to all reviews.

  • setting.behavior (integer): The expiration behavior mode:

    • 0 = DO_NOTHING: No action is made on incomplete rows (default)

    • 1 = AUTO_REJECT_INCOMPLETE_RESULTS: Reject and sign-off any results that are incomplete when the review expires

  • setting.note_to_add (string, optional): Note to be added when auto-rejecting incomplete results

Example

Example request:

{
  "workflow_id": "string",
  "setting": {
    "behavior": 1,
    "note_to_add": "Rejected incomplete result due to review expiration."
  }
}

Get Review Expiration Behavior

Set Review Expiration Behavior

Review UI Customizations

Customize notes behavior and UI elements for reviewers.

By default, when a reviewer approves a row, a "notes" pop-up appears, allowing the user to optionally add a note explaining their decision. When a reviewer rejects a row, the "notes" pop-up appears, and adding a note is required. This API allows you to customize this behavior. For example, you can choose to disable the pop-up when a row is approved and make the notes pop-up optional when a row is rejected.

Additionally, this API can enable the historical "Approve & Signoff" action in the reviewer experience when multiple rows are selected. Note: It is recommended that this feature remains disabled to ensure a more streamlined reviewer experience.

Parameters

accept_notes_behavior can be:

  • NOTES_BEHAVIOR_UNKNOWN = 0

  • NO_POP_UP = 1

  • POP_UP_OPTIONAL = 2

  • POP_UP_REQUIRED = 3

reject_notes_behavior can be:

  • NOTES_BEHAVIOR_UNKNOWN = 0

  • NO_POP_UP = 1

  • POP_UP_OPTIONAL = 2

  • POP_UP_REQUIRED = 3

approve_and_sign_off_button_behavior can be:

  • HIDE_OR_SHOW_BEHAVIOR_UNKNOWN = 0

  • SHOW = 1

  • HIDE = 2

diff_dropdown_behavior can be:

  • NORMAL = 1 (Enables all users to see decisions and access changes from previous reviews for the same configuration)

  • ALWAYS_HIDE_FOR_ACCESS_REVIEWER_ROLE = 2 (Prevents users with the "Access Reviewer" role from accessing this option)

Example

{
    "value": {
        "diff_dropdown_behavior": "ALWAYS_HIDE_FOR_ACCESS_REVIEWER_ROLE",
        "accept_notes_behavior": "NO_POP_UP",
        "reject_notes_behavior": "POP_UP_REQUIRED",
        "approve_and_sign_off_button_behavior": "SHOW"
    }
}

Get Review UI Customizations

Set Review UI Customizations

Review Sort Order

Set default sort order for review rows.

Configure the default order in which review rows are displayed. Note: Users can later sort the rows as they prefer.

The order is specified using a SCIM "order by" expression. The default value is source.type asc.

Valid Values

Valid values include:

  • source.ATTR

  • destination.ATTR

  • waypoint.ATTR

  • idp.ATTR

Where ATTR is an attribute name such as "id" or "name".

Example

Get Review Sort Order

Set Review Sort Order

Get Self-Reviewer Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/self_reviewer_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": "SELF_REVIEWER_CHECKING_DISABLED"
}

Set Self-Reviewer Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
valueone ofOptional
integer · enumOptional

1 = SELF_REVIEWER_CHECKING_DISABLED, 2 = SELF_REVIEWER_CHECKING_ENABLED

Possible values:
or
string · enumOptional

String values for self-review prevention settings

Possible values:
Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/self_reviewer_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "value": 1
}
200

OK

{
  "value": "SELF_REVIEWER_CHECKING_DISABLED"
}

Get Auto-Complete Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/cert_auto_complete_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": "AUTO_COMPLETE_DISABLED"
}

Set Auto-Complete Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":"<integer>"}
Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/cert_auto_complete_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "value": "<integer>"
}
200

OK

{
  "value": "AUTO_COMPLETE_DISABLED"
}

Get Completion Allowed Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/cert_completion_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": "COMPLETION_ALLOWED_ALL_ROWS_HAVE_DECISION"
}

Set Certification Completion Allowed Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":"<integer>"}
Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/cert_completion_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "value": "<integer>"
}
200

OK

{
  "value": "COMPLETION_ALLOWED_ALL_ROWS_HAVE_DECISION"
}

Get Review Expiration Settings

get
Authorizations
Query parameters
workflow_idstringOptionalExample: <string>
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/review_expiration_behavior HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": "AUTO_REJECT_INCOMPLETE_RESULTS",
  "setting": {
    "behavior": 0,
    "note_to_add": "Rejected incomplete result due to review expiration."
  }
}

Set Review Expiration Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
workflow_idstringOptional

Optional workflow ID for configuration-specific settings

Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/review_expiration_behavior HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 118

{
  "workflow_id": "string",
  "setting": {
    "behavior": 1,
    "note_to_add": "Rejected incomplete result due to review expiration."
  }
}
200

OK

{
  "value": "AUTO_REJECT_INCOMPLETE_RESULTS",
  "setting": {
    "behavior": 1,
    "note_to_add": "Rejected incomplete result due to review expiration."
  }
}

Get Review Customization Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/ui_customization_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": {
    "diff_dropdown_behavior": "ALWAYS_HIDE_FOR_ACCESS_REVIEWER_ROLE",
    "accept_notes_behavior": "NO_POP_UP",
    "reject_notes_behavior": "POP_UP_REQUIRED",
    "approve_and_sign_off_button_behavior": "SHOW"
  }
}

Set Review Customization Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":{"diff_dropdown_behavior":"<integer>","accept_notes_behavior":"<integer>","reject_notes_behavior":"<integer>","approve_and_sign_off_button_behavior":"<integer>"}}
Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/ui_customization_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 171

{
  "value": {
    "diff_dropdown_behavior": "<integer>",
    "accept_notes_behavior": "<integer>",
    "reject_notes_behavior": "<integer>",
    "approve_and_sign_off_button_behavior": "<integer>"
  }
}
200

OK

{
  "value": {
    "diff_dropdown_behavior": "ALWAYS_HIDE_FOR_ACCESS_REVIEWER_ROLE",
    "accept_notes_behavior": "NO_POP_UP",
    "reject_notes_behavior": "POP_UP_REQUIRED",
    "approve_and_sign_off_button_behavior": "SHOW"
  }
}
{
    "value": {
        "order_by": "destination.name desc"
    }
}

Get Review Sort Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
200

OK

Set Review Sort Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":{"order_by":"<string>"}}
Responses
200

OK

application/json
Responseobject
put
200

OK

Review Column Defaults

Configure default columns and visibility for reviewers.

This API configures the default columns which reviewers will see when they open a review, as well as columns that should be hidden from reviewers but visible to administrators. If workflow_id is specified then the configuration will only be applied to reviews related to the particular Review Configuration identified by workflow_id.

The request body includes two main fields:

  • default_ordered_columns: Array of column names that will be visible to all users (reviewers, administrators, and operators)

  • hide_from_reviewers_columns: Array of column names that will be hidden from users with the reviewer role but remain visible to administrators and operators

Validation Rules

Important validation rules:

  • Column names cannot appear in both default_ordered_columns and hide_from_reviewers_columns simultaneously

  • Column names cannot be empty strings

  • Column names cannot contain spaces or commas

  • The system validates these constraints and returns an error if violations are found

Valid Column Values

The valid values to show entity attributes include:

  • source.ATTR

  • destination.ATTR

  • waypoint.ATTR

  • path_summary.ATTR

  • idp.ATTR

Where ATTR is an attribute name such as "id" or "name".

The following column values are also valid:

  • status

  • abstract_permissions

  • concrete_permissions

  • updated_at

  • notes

  • reviewers

  • decision

  • decision_by

  • decision_by_id

  • decision_by_name

  • decision_by_email

  • decision_at

  • marked_fixed_by_id

  • marked_fixed_by_name

  • marked_fixed_by_email

  • marked_fixed_at

  • signed_off_state

  • signed_off_by_id

  • signed_off_by_name

  • signed_off_by_email

  • signed_off_at

  • notification_status

  • automation_run_ids

  • no_decision_or_decision_by

  • Is_signed_off

Example

This example configuration shows sensitive identity information (unique IDs and distinguished names) to administrators while hiding them from reviewers, allowing for better security and privacy control in access reviews.

Get Review Column Defaults

Set Review Column Defaults

List All Column Settings

GET /api/private/workflows/access/global_settings/view_sort_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "value": {
    "order_by": "source.type asc"
  }
}
PUT /api/private/workflows/access/global_settings/view_sort_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "value": {
    "order_by": "<string>"
  }
}
{
  "value": {
    "order_by": "source.type asc"
  }
}
{
  "value": {
    "default_ordered_columns": [
      "source.name",
      "source.department",
      "source.customprop_worker_status",
      "source.tags",
      "path_summary.name",
      "concrete_permissions",
      "destination.name",
      "destination.customprop_display_name",
      "reviewers"
    ],
    "hide_from_reviewers_columns": [
      "source.identity_unique_id",
      "idp.on_premises_distinguished_name"
    ]
  },
  "workflow_id": "002063d2-7898-4183-b5fb-1192758fdec7"
}

Get Review Columns

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
200

OK

Set Review Columns

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":{"default_ordered_columns":["source.name","source.identity_unique_id","concrete_permissions","idp.on_premises_distinguished_name","idp.name","destination.name","destination.type","reviewers","notes","decision_by","decision_at","notification_status","automation_run_ids"]}}
Responses
200

OK

application/json
Responseobject
put
200

OK

Get All Column Customizations

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
500

Internal Server Error

application/json
get

Expire Overdue Reviews

Auto-expire overdue reviews.

This setting is configurable on the Access Reviews > Settings page. Enable Auto-Expire overdue reviews to automatically expire reviews that aren't completed by the due date.

Enables or disable expiration of overdue reviews. By default, overdue reviews are not expired and remain available to reviewers. When expiration is enabled, the review will be "expired" when it becomes overdue. An expired review is read-only and is not shown to reviewers.

Parameters

The value can be True or False.

Get Expire Overdue Reviews Setting

Set Expire Overdue Reviews Setting

Data Source Acknowledgement

Require data source status acknowledgement during review creation.

By default, when a review is created, a user can optionally view the status of the data sources involved in the review. This API allows the behavior to change, requiring that the data source status is shown to the user and acknowledged during review creation.

Parameters

Possible values are:

  • DATASOURCE_ACKNOWLEDGEMENT_UNKNOWN = 0

  • DATASOURCE_ACKNOWLEDGEMENT_NOT_SHOWN = 1

  • DATASOURCE_ACKNOWLEDGEMENT_REQUIRED = 2

Get Data Source Acknowledgement Setting

Set Data Source Acknowledgement Setting

Access Review Settings

API operations for customizing the behavior and functionality of Veza Access Reviews.

These endpoints can be called by providing a Veza admin user API key. See to generate a bearer token for use in requests. Note that API operations in the private namespace are subject to change as features are added or modified.

Use these APIs to configure for Veza Access Reviews.

The settings that can be configured by a Veza administrator are:

  • : Automatically complete reviews once all rows have a signed-off decision, or a non-rejected signed-off decision.

  • : Enable review completion at any time, or only when all rows are signed off with a non-rejected decision.

  • : Require review creators to view and acknowledge the data source status shown at review creation.

  • : Enable or disable expiration of overdue reviews.

  • : Reject and sign off incomplete rows when a review expires.

  • : Prevent users from being assigned as reviewers for rows that relate to their own access and permissions.

  • : Configure default columns which reviewers will see when they open a review.

  • : Set whether notes are required when approving or rejecting access.

  • : Set the default sort order and sorting column when opening a review.

  • : Add suggested notes as menu options when reviewers approve or reject rows.

  • : Configure default grouping behavior for review rows to organize data by column values.

  • : Control whether reviewers can export review data to CSV or PDF formats.

For each endpoint, a GET request returns the current setting, and a PUT request updates the setting. Use your unique Veza URL and API key (see ) in your request, for example:

Postman Collection

Use the Postman collection as an alternative to cURL commands for testing and configuring Veza Access Reviews global settings:

Import Instructions

To import the collection into Postman:

  1. Open Postman and click Import in the sidebar

  2. In the Import modal, click Choose Files

  3. Select the access-reviews-global-settings.postman_collection.json file

  4. Click Import to complete the process

  5. The collection appears in your Collections tab

  1. Download the collection file to your computer

  2. Drag and drop the .json file directly into the Postman interface

  3. The collection is automatically imported and appears in your Collections tab

Configure Variables

Before using the collection, configure these required variables on the Variables tab:

Variable
Description
Example

The collection uses Bearer token authentication. Your apiToken variable automatically populates the Authorization header for all requests.

Important: Use HTTPS (not HTTP) for your baseUrl to avoid redirect issues that can drop request bodies in PUT/POST operations.

GET /api/private/workflows/access/global_settings/ui_column_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "value": {
    "default_ordered_columns": [
      "source.name",
      "source.identity_unique_id",
      "concrete_permissions",
      "idp.on_premises_distinguished_name",
      "idp.name",
      "destination.name",
      "destination.type",
      "reviewers",
      "notes",
      "decision_by",
      "decision_at",
      "notification_status",
      "automation_run_ids"
    ]
  }
}
PUT /api/private/workflows/access/global_settings/ui_column_settings HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 281

{
  "value": {
    "default_ordered_columns": [
      "source.name",
      "source.identity_unique_id",
      "concrete_permissions",
      "idp.on_premises_distinguished_name",
      "idp.name",
      "destination.name",
      "destination.type",
      "reviewers",
      "notes",
      "decision_by",
      "decision_at",
      "notification_status",
      "automation_run_ids"
    ]
  }
}
{
  "value": {
    "default_ordered_columns": [
      "source.name",
      "source.identity_unique_id",
      "concrete_permissions",
      "idp.on_premises_distinguished_name",
      "idp.name",
      "destination.name",
      "destination.type",
      "reviewers",
      "notes",
      "decision_by",
      "decision_at",
      "notification_status",
      "automation_run_ids"
    ]
  }
}
GET /api/private/workflows/access/global_settings/ui_column_settings:list_all HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "global_settings": {
    "default_ordered_columns": [
      "source.name",
      "source.identity_unique_id",
      "concrete_permissions",
      "idp.on_premises_distinguished_name",
      "idp.name",
      "destination.name",
      "destination.type",
      "reviewers",
      "notes",
      "decision_by",
      "decision_at",
      "notification_status",
      "automation_run_ids"
    ]
  },
  "workflow_settings": [
    {
      "workflow_id": "002063d2-7898-4183-b5fb-1192758fdec7",
      "settings": {
        "default_ordered_columns": [
          "source.name",
          "source.department",
          "source.customprop_worker_status",
          "source.tags",
          "path_summary.name",
          "concrete_permissions",
          "destination.name",
          "destination.type",
          "destination.customprop_display_name",
          "reviewers",
          "notes"
        ]
      }
    },
    {
      "workflow_id": "84459ad9-3976-4f21-9d56-fa9c0694a8a7",
      "settings": {
        "default_ordered_columns": [
          "source.aws_userid",
          "source.name",
          "source.identity_unique_id",
          "concrete_permissions",
          "destination.name",
          "destination.type",
          "reviewers",
          "notes",
          "decision_by",
          "decision_at",
          "notification_status",
          "automation_run_ids"
        ]
      }
    }
  ]
}
curl -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/cert_completion_settings' \
-H 'authorization: Bearer mZ1eqKMACtP...' \
-d '{"value": "AUTO_COMPLETE_DISABLED"}'

baseUrl

Your Veza instance URL

https://your-organization.vezacloud.com

apiToken

Veza admin user API key

mZ1eqKMACtP...

Workflow ID

Specific review configuration ID (optional)

8ae1c414-3a76-46cb-950a-925316b3f264

Authentication
Access Reviews Settings
Review Auto-Complete Settings
Review Completion Settings
Data Source Acknowledgement
Expire Overdue Reviews
Review Expiration Behavior
Self Review Prevention
Review Column Defaults
Review UI Customizations
Review Sort Order
Predefined Decision Notes
Review Row Grouping
Reviewer Export Settings
Authentication
53KB
access-reviews-global-settings.postman_collection.json

Get Expire Overdue Certifications Setting

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
GET /api/private/workflows/access/global_settings/expire_overdue_certifications HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "value": false
}

Set Expire Overdue Certifications Setting

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":"<boolean>"}
Responses
200

OK

application/json
Responseobject
put
PUT /api/private/workflows/access/global_settings/expire_overdue_certifications HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "value": "<boolean>"
}
200

OK

{
  "value": false
}

Get Data Source Acknowledgement Settings

get
Authorizations
Header parameters
AcceptstringOptionalExample: application/json
Responses
200

OK

application/json
Responseobject
get
200

OK

Set Data Source Acknowledgement Settings

put
Authorizations
Header parameters
Content-TypestringOptionalExample: application/json
AcceptstringOptionalExample: application/json
Body
objectOptionalExample: {"value":"<integer>"}
Responses
200

OK

application/json
Responseobject
put
200

OK

Reviewer Export Settings

Control export permissions for reviewers.

Control whether reviewers can view and export access review data. This setting provides granular control over different export formats, allowing administrators to enable or disable CSV and PDF exports independently based on organizational security policies.

When enabled, reviewers can export review data in the allowed formats for offline analysis or reporting. When disabled, the corresponding export options are hidden from the reviewer interface, ensuring review data remains within the Veza platform.

The default setting disables both CSV and PDF exports for security. This setting can be configured globally for all reviews or for specific review configurations using the workflow_id parameter.

Parameters

The request body accepts:

  • allow_csv_exports (boolean) - Enable or disable CSV export functionality for reviewers

  • allow_pdf_exports (boolean) - Enable or disable PDF export functionality for reviewers

  • workflow_id (optional string) - Specific review configuration ID to override global settings

Example

Example request body:

{
  "value": {
    "allow_csv_exports": true,
    "allow_pdf_exports": false
  },
  "workflow_id": "8ae1c414-3a76-46cb-950a-925316b3f264"  // Optional
}

Get Reviewer Export Settings

Retrieve the current reviewer export permission settings. Include the optional workflow_id query parameter to get settings for a specific review configuration.

Global Settings Request:

curl -L 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/allow_reviewer_exports' \
-H 'Authorization: Bearer YOUR_API_KEY'

Configuration-Specific Request:

curl -L 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/allow_reviewer_exports?workflow_id=8ae1c414-3a76-46cb-950a-925316b3f264' \
-H 'Authorization: Bearer YOUR_API_KEY'

Example response:

{
  "value": {
    "allow_csv_exports": false,
    "allow_pdf_exports": false
  }
}

Set Reviewer Export Settings

Update the reviewer export permission settings globally or for a specific review configuration.

Global Settings Request:

curl -L -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/allow_reviewer_exports' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "value": {
    "allow_csv_exports": true,
    "allow_pdf_exports": false
  }
}'

Configuration-Specific Request:

curl -L -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/allow_reviewer_exports' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "value": {
    "allow_csv_exports": true,
    "allow_pdf_exports": false
  },
  "workflow_id": "8ae1c414-3a76-46cb-950a-925316b3f264"
}'

Example response:

{}
GET /api/private/workflows/access/global_settings/datasource_acknowledgement HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "value": "DATASOURCE_ACKNOWLEDGEMENT_REQUIRED"
}
PUT /api/private/workflows/access/global_settings/datasource_acknowledgement HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "value": "<integer>"
}
{
  "value": "DATASOURCE_ACKNOWLEDGEMENT_REQUIRED"
}

Review Row Grouping

Configure default grouping behavior for review rows to organize data by column values.

Configure default grouping behavior for access review rows. When enabled, review rows are automatically organized by the specified column values, making it easier for reviewers to process large datasets by grouping related items together.

The setting allows admins to configure a default group by column and collapsed/expanded behavior, either globally or per-workflow.

Parameters

Name
Type
Required
In
Description

workflow_id

string

No

body

The workflow ID to apply the setting to

value.group_by_column

string

Yes

body

The column to group rows by (e.g. destination.veza_unique_name, source.veza_unique_name, status, risk_level). Must be a valid column name (same as in CreateAccessResultsGroupCollection). If empty or unset, grouping is disabled.

value.expand_groups_by_default

bool

Yes

body

When set to true, row groups will be expanded by default when the review loads; if false, they'll be collapsed. This flag is ignored when group_by_column is empty.

Get Row Grouping Settings

GET /api/private/workflows/access/global_settings/rows_group_by_setting

Get Global Setting

curl 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/rows_group_by_setting' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_BEARER_TOKEN'

Get Workflow-Scoped Setting

curl 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/rows_group_by_setting?workflow_id=01983256-911c-7906-9d75-d69871c877fd' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_BEARER_TOKEN'

Example Response

{
  "value": {
    "group_by_column": "status",
    "expand_groups_by_default": true
  }
}

Set Row Grouping Settings

PUT /api/private/workflows/access/global_settings/rows_group_by_setting

Example: Set Global Setting

curl -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/rows_group_by_setting' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_BEARER_TOKEN' \
    -d '{
      "value": {
        "group_by_column": "destination.veza_unique_name",
        "expand_groups_by_default": false
      }
    }'

Example: Set Workflow-Scoped Setting

curl -X PUT 'https://your-organization.vezacloud.com/api/private/workflows/access/global_settings/rows_group_by_setting' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_BEARER_TOKEN' \
    -d '{
      "workflow_id": "01983256-911c-7906-9d75-d69871c877fd",
      "value": {
        "group_by_column": "destination.veza_unique_name",
        "expand_groups_by_default": false
      }
    }'

Response

{}  // Empty on success

Common Column Examples

  • destination.veza_unique_name - Group by resource name

  • source.veza_unique_name - Group by identity name

  • status - Group by review status

  • risk_level - Group by risk level

  • destination.type - Group by resource type

  • decision - Group by decision status

Row grouping settings apply when reviewers first load a review. Users can manually change grouping options in the review interface regardless of these default settings. When configured for a specific review configuration (using workflow_id), those settings override any global grouping settings for reviews created from that configuration.

Grouping helps organize large reviews by collecting related rows together, making it easier to identify patterns and make decisions efficiently. Common grouping strategies include grouping by department, resource type, permission level, or risk assessment.

get
Authorizations
Query parameters
workflow_idstringOptional
Responses
200

OK

application/json
default

Default error response

application/json
get
GET /api/private/workflows/access/global_settings/allow_reviewer_exports HTTP/1.1
Host: 
Authorization: Bearer Bearer <API key>
Accept: */*
{
  "value": {
    "allow_csv_exports": true,
    "allow_pdf_exports": true
  },
  "workflow_id": "text"
}
put
Authorizations
Body
workflow_idstringOptional
Responses
200

OK

application/json
Responseobject
default

Default error response

application/json
put
PUT /api/private/workflows/access/global_settings/allow_reviewer_exports HTTP/1.1
Host: 
Authorization: Bearer Bearer <API key>
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "value": {
    "allow_csv_exports": true,
    "allow_pdf_exports": true
  },
  "workflow_id": "text"
}
{}