Get, create, update, delete, and attach Intelligent Automations.
Use these operations to manage Access Review Automations and associate them with individual workflows.
Automations apply changes (such as approve, sign-off, add a note, or apply visual indicators) to Certification rows based on historical certification data, or a filter on the current results. They can run by default or on an opt-in basis when a certification is created.
{
"id": "e48dd2c8-3633-463b-a477-0177a942b5a6",
"name": "Highlight inactive sources",
"description": "Highlight rows where the source account is inactive",
"priority": 0,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "source.is_active eq false",
"mutable_filter": ""
},
"action": {
"display_style": "HIGHLIGHT",
"display_text": "Source account is inactive",
"highlight_color": "#FF6B35"
}
}{
"id": "f59ee3d9-4744-574c-b588-1288b0942c7c",
"name": "Reject privileged account access",
"description": "Suggest reject for admin or root accounts",
"priority": 0,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "(destination.name eq \"admin\") OR (source.name eq \"root\")",
"mutable_filter": ""
},
"action": {
"display_style": "SUGGEST_REJECT",
"display_text": "Privileged account detected - review carefully"
}
}For more information about this feature see Intelligent Automations.
You will need an API token with root team or administrator permissions to manage Automations.
When working with the Automations API, it is important to understand the relationship between three identifiers:
At an API level,
An Automation is a reusable rule that can be attached to one or more Workflows
A Workflow (review configuration) defines how reviews are created and can have multiple Certifications over time
A Certification is a single instance of a review where Automations run against the results
The following rules apply when an Automation run encounters an issue:
If Automation processing fails for any result, the Automation run stops and no further Automations are applied.
When Automations fail, the Certification is still considered complete and non-errored. The Automation run will have an error status and message.
Results are considered the same when the entities and relationships are exactly equal (including data source IDs). If a conflict occurs with Automations trying to change the same mutable field:
Each change must update the field to the same value. The action log entry will contain notes (if supplied) for each action.
Automations changing a field to differing values are unresolvable conflicts and skipped, but will not interrupt the Automation run.
An Automation consists of attachment_behavior rules, filter criteria, and an action to apply:
Each Automation object has the fields:
id (String): Unique identifier for the Automation.
name (String): Name of the Automation.
description (String): A brief description of the Automation.
Defines if the Automation is available for all workflows, and whether it is optional:
attach_to_new_workflows (Boolean): Indicates whether to automatically attach to new and existing workflows.
opt_in (Boolean): If true Operators can pick the automation when creating a Workflow. If false the automation is enabled by default.
Specifies filters for conditionally updating results:
filter (String): A SCIM filter specifying a source or destination attribute with support for complex expressions using AND, OR, and parentheses for grouping. Examples:
Simple filter: source.is_active eq false
Complex filter: (source.name sw "A" OR source.name sw "B") AND destination.is_active eq true
Similarly to Smart Actions, Automations can update results based on a source or destination attribute (such as activity status). Filters use the syntax source.attribute or destination.attribute.
The filter field in an Automation's criteria accepts a SCIM-style expression. Each filter field referenced in the expression is either a bare field or a two-part endpoint.field. Filter fields with three or more dot-separated segments (for example, source.tags.value, reviewers.id, or decision.by) are invalid and are rejected at parse time.
A filter that fails to parse prevents the Automation from running. When multiple Automations are attached to a Certification, a single unparseable filter on any one of them blocks every attached Automation from running on that Certification.
The endpoint must be one of the following:
Notes on two-part form:
tags matches on the tag key only, never the value. For example, source.tags eq "owner" matches any source node carrying a tag whose key is owner, regardless of that tag's value.
Use the exact property key as stored on the node. Built-in properties use their own name (for example, source.is_active). Customer-ingested custom properties carry the customprop_ prefix that is applied during ingest (for example, source.customprop_attribute_code
Bare fields refer to attributes of the Certification result row itself, not to the source, destination, waypoint, or path-summary nodes. The field must be exactly one of the following:
These fields are bare-only. Dotted forms such as reviewers.id, decision.by, or signed_off_state.id are not supported and are rejected at parse time.
The following filter expressions do not conform to the grammar and are rejected when an Automation is created or updated:
When an Access Review configuration includes , you can filter on enriched entity attributes in Automations. Reference joined nodes by their alias directly (e.g., idp.attribute), not using joined_nodes.idp.attribute.
For complete guidance on finding aliases, filter syntax, and examples, see .
Mutable filters in Automations use the syntax previous.decision, previous.notes and previous.signed_off_state to refer to historical row data. The possible values are:
decision:
"RESULT_DECISION_UNKNOWN"
"RESULT_DECISION_NONE"
Action the Automation will apply to matching results:
decision (String): Decision code for the action.
signed_off_state (String): Sign off state code.
notes (String): Notes the automation will apply.
Note: When using display_style actions, you cannot set decision, signed_off_state, notes, or reviewer_assignment fields.
Possible decisions and numeric codes are:
UNKNOWN (0)
NONE (1)
ACCEPTED (2
Signed Off State can be:
UNKNOWN_SIGNED_OFF = 0;
NOT_SIGNED_OFF = 1;
SIGNED_OFF = 2;
The preview API does not currently support Reviewer assignment.
Use the endpoints documented below to create and manage automations:
Endpoint: /api/preview/awf/automations
Method: GET
Description: Returns all Automations and configuration details.
Returns all in a values array.
Endpoint: /api/preview/awf/automations
Method: PUT
Description: Updates an existing Automation. The full Automation object is required.
Endpoint: /api/preview/awf/automations
Method: POST
Description: Creates a new Automation.
Endpoint: /api/preview/awf/automations/{id}
Method: GET
Description: Get details for a single Automation by ID.
Endpoint: /api/preview/awf/automations/{id}
Method: DELETE
Description: Deletes a specific Automation by its ID.
Endpoint: /api/preview/awf/automations:attach
Method: POST
Description: Enable an Automation for a specific workflow, or all workflows.
Attach one or all Automations to a single workflow by specifying the:
id (String): Single Automation ID.
workflow_id (String): ID of the workflow to associate Automations with.
all (boolean): If True, attaches all existing Automations to the Workflow.
Endpoint: /api/preview/awf/automations:attached/{workflow_id}
Method: GET
Description: Returns all Automations eligible to run on Certifications for a given Workflow id.
Endpoint: /api/preview/awf/automations:detach
Method: POST
Description: Detach one or all Automations from an Access Review Workflow.
priority (Integer): Priority value of the Automation (not currently supported).
mutable_filter (String): A filter on a previous result mutable field using the syntax previous.attribute. Example: "previous.decision eq "RESULT_DECISION_ACCEPTED""
path_summary
id, name, type
Join-spec alias
Any property key stored on the joined node (same fields as source). The alias must be declared on the workflow's query.
Join-spec aliases are valid only when the workflow's query declares a joined node with that alias. See Filtering by Joined Node Attributes for finding and using aliases.
Sign-off actor and timestamp
signed_off_by_id, signed_off_by_name, signed_off_by_email, signed_off_at
Reviewers and assignment
reviewers, is_assigned_to_current_user
Risk and access metadata
risk_level, access_path_risk_score, access_stats_last_used, is_outlier, abstract_permissions, concrete_permissions
AI suggestions
ai_suggestion_type, ai_suggestion_reason_codes, ai_suggestion_cohort_id, ai_suggestion_cohort_index
Notes, automation, notifications
notes, updated_at, notification_status, automation_run_ids
idp.email co "@example.com"
idp is valid only when it is declared as a join-spec alias on the workflow's query. See .
"RESULT_DECISION_REJECTED"
"RESULT_DECISION_FIXED"
notes: string
signed_off_state:
"UNKNOWN"
"NOT_SIGNED_OFF"
"SIGNED_OFF"
display_style (String): Visual indicator to apply to matching rows:
HIGHLIGHT: Highlight the row
SUGGEST_ACCEPT: Mark the row as suggested for acceptance
SUGGEST_REJECT: Mark the row as suggested for rejection
display_text (String): Custom message to show when display_style is set
highlight_color (String): Hex color code for custom row highlighting (e.g., #FF0000, #00FF00). Only applies when display_style is HIGHLIGHT. Must be a valid 6-digit hex color in the format #RRGGBB. If omitted, the default highlight color is used.
REJECTED (3)
FIXED (4)
opt_in (boolean): If False the Automation can be selected when creating a certification. Otherwise, operators can enable it when creating certifications.
Automation ID
Unique identifier for a reusable Automation rule
Global (can be attached to multiple workflows)
Workflow ID
Unique identifier for an Access Review configuration
Defines the query, reviewers, and settings for reviews
Certification ID
Unique identifier for a specific Access Review instance created from a workflow
A single review cycle with results to act upon
{
"id": "string",
"name": "string",
"description": "string",
"priority": 0,
"attachment_behavior": {
"attach_to_new_workflows": boolean,
"opt_in": boolean
},
"criteria": {
"filter": "string",
"mutable_filter": "string"
},
"action": {
// For modification actions:
"decision": "string",
"signed_off_state": "string",
"notes": "string",
"reviewer_assignment": null,
// OR for display actions:
"display_style": "string",
"display_text": "string",
"highlight_color": "string"
}
}source
id, name, type, alternate_name, veza_unique_name, tags, or any property key stored on the source node
destination
id, name, type, alternate_name, veza_unique_name, tags, or any property key stored on the destination node
waypoint
Decision and sign-off state
status, decision, signed_off_state, is_signed_off, no_decision_or_decision_by
Decision actor and timestamp
decision_by, decision_by_id, decision_by_name, decision_by_email, decision_at
Marked-fixed actor and time
reviewers.id eq "12345"
reviewers is a bare field. Dotted form is not supported.
decision.by eq "alice@example.com"
Both decision and decision_by are bare fields. Dotted form is not supported.
source.tags.value eq "prod"
One invalid filter blocks every Automation on a Certification. If any Automation attached to a Certification fails to parse, the Automation run fails for that Certification and no other attached Automations are applied. Validate new filters against a test workflow before attaching them to production Access Reviews.
Early Access: Filtering by joined node attributes in Automations is currently in early access. Contact Veza Support for the latest status.
id, name, type, alternate_name, veza_unique_name, or any property key stored on the waypoint node. tags is not supported.
marked_fixed_by_id, marked_fixed_by_name, marked_fixed_by_email, marked_fixed_at
Three dot-separated segments. tags matches tag keys only, not tag values.
Veza API key for authentication. Generate keys in Administration > API Keys.
OK
Assigns the owner of whichever entity is being reviewed as a reviewer. Despite the field name (kept for wire/backward-compat reasons - see resource_owner_lookup_order), this is not restricted to graph nodes labeled "Resource" in the schema: it resolves the tagged owner (entity owners property, or the legacy resource-manager tag) of whichever side of the query result actually has one, trying resource_owner_lookup_order's preferred side first.
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.
Assign reviewer(s) from the comparable row (matched by principal.type/id + resource.type/id) in the prior review. New rows fall through. Creation-only.
Assign reviewer to be the same as the row subject.
Controls which side of the query resource_managers tries first when resolving an owner, when the query has both a principal and a resource node; if that side has no tagged owner, the other side is tried. Has no effect unless resource_managers is set.
The display text can be used to show a message to the user when the automation is applied. Currently supported for display_style type actions.
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
GET /api/preview/awf/automations HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"values": [
{
"id": "text",
"name": "text",
"description": "text",
"priority": 1,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "text",
"mutable_filter": "text"
},
"action": {
"decision": 1,
"signed_off_state": 1,
"notes": "text",
"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
],
"previous_review_assignment": true,
"assign_self": true,
"resource_owner_lookup_order": 1
},
"display_style": 1,
"display_text": "text",
"highlight_color": "text"
}
}
]
}Veza API key for authentication. Generate keys in Administration > API Keys.
Assigns the owner of whichever entity is being reviewed as a reviewer. Despite the field name (kept for wire/backward-compat reasons - see resource_owner_lookup_order), this is not restricted to graph nodes labeled "Resource" in the schema: it resolves the tagged owner (entity owners property, or the legacy resource-manager tag) of whichever side of the query result actually has one, trying resource_owner_lookup_order's preferred side first.
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.
Assign reviewer(s) from the comparable row (matched by principal.type/id + resource.type/id) in the prior review. New rows fall through. Creation-only.
Assign reviewer to be the same as the row subject.
Controls which side of the query resource_managers tries first when resolving an owner, when the query has both a principal and a resource node; if that side has no tagged owner, the other side is tried. Has no effect unless resource_managers is set.
The display text can be used to show a message to the user when the automation is applied. Currently supported for display_style type actions.
OK
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
PUT /api/preview/awf/automations HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 729
{
"value": {
"id": "text",
"name": "text",
"description": "text",
"priority": 1,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "text",
"mutable_filter": "text"
},
"action": {
"decision": 1,
"signed_off_state": 1,
"notes": "text",
"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
],
"previous_review_assignment": true,
"assign_self": true,
"resource_owner_lookup_order": 1
},
"display_style": 1,
"display_text": "text",
"highlight_color": "text"
}
}
}{}Veza API key for authentication. Generate keys in Administration > API Keys.
Assigns the owner of whichever entity is being reviewed as a reviewer. Despite the field name (kept for wire/backward-compat reasons - see resource_owner_lookup_order), this is not restricted to graph nodes labeled "Resource" in the schema: it resolves the tagged owner (entity owners property, or the legacy resource-manager tag) of whichever side of the query result actually has one, trying resource_owner_lookup_order's preferred side first.
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.
Assign reviewer(s) from the comparable row (matched by principal.type/id + resource.type/id) in the prior review. New rows fall through. Creation-only.
Assign reviewer to be the same as the row subject.
Controls which side of the query resource_managers tries first when resolving an owner, when the query has both a principal and a resource node; if that side has no tagged owner, the other side is tried. Has no effect unless resource_managers is set.
The display text can be used to show a message to the user when the automation is applied. Currently supported for display_style type actions.
OK
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
POST /api/preview/awf/automations HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 707
{
"name": "text",
"description": "text",
"priority": 1,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "text",
"mutable_filter": "text"
},
"action": {
"decision": 1,
"signed_off_state": 1,
"notes": "text",
"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
],
"previous_review_assignment": true,
"assign_self": true,
"resource_owner_lookup_order": 1
},
"display_style": 1,
"display_text": "text",
"highlight_color": "text"
}
}{
"id": "text"
}Veza API key for authentication. Generate keys in Administration > API Keys.
OK
Assigns the owner of whichever entity is being reviewed as a reviewer. Despite the field name (kept for wire/backward-compat reasons - see resource_owner_lookup_order), this is not restricted to graph nodes labeled "Resource" in the schema: it resolves the tagged owner (entity owners property, or the legacy resource-manager tag) of whichever side of the query result actually has one, trying resource_owner_lookup_order's preferred side first.
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.
Assign reviewer(s) from the comparable row (matched by principal.type/id + resource.type/id) in the prior review. New rows fall through. Creation-only.
Assign reviewer to be the same as the row subject.
Controls which side of the query resource_managers tries first when resolving an owner, when the query has both a principal and a resource node; if that side has no tagged owner, the other side is tried. Has no effect unless resource_managers is set.
The display text can be used to show a message to the user when the automation is applied. Currently supported for display_style type actions.
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
GET /api/preview/awf/automations/{id} HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"value": {
"id": "text",
"name": "text",
"description": "text",
"priority": 1,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "text",
"mutable_filter": "text"
},
"action": {
"decision": 1,
"signed_off_state": 1,
"notes": "text",
"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
],
"previous_review_assignment": true,
"assign_self": true,
"resource_owner_lookup_order": 1
},
"display_style": 1,
"display_text": "text",
"highlight_color": "text"
}
}
}Veza API key for authentication. Generate keys in Administration > API Keys.
OK
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
DELETE /api/preview/awf/automations/{id} HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{}Veza API key for authentication. Generate keys in Administration > API Keys.
Attaches an automation to one or all workflows Attach will succeeds if the automation is already attached and will update the "opt_in" if necessary
OK
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
POST /api/preview/awf/automations:attach HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 59
{
"id": "text",
"workflow_id": "text",
"all": true,
"opt_in": true
}{}Veza API key for authentication. Generate keys in Administration > API Keys.
OK
Assigns the owner of whichever entity is being reviewed as a reviewer. Despite the field name (kept for wire/backward-compat reasons - see resource_owner_lookup_order), this is not restricted to graph nodes labeled "Resource" in the schema: it resolves the tagged owner (entity owners property, or the legacy resource-manager tag) of whichever side of the query result actually has one, trying resource_owner_lookup_order's preferred side first.
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.
Assign reviewer(s) from the comparable row (matched by principal.type/id + resource.type/id) in the prior review. New rows fall through. Creation-only.
Assign reviewer to be the same as the row subject.
Controls which side of the query resource_managers tries first when resolving an owner, when the query has both a principal and a resource node; if that side has no tagged owner, the other side is tried. Has no effect unless resource_managers is set.
The display text can be used to show a message to the user when the automation is applied. Currently supported for display_style type actions.
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
GET /api/preview/awf/automations:attached/{workflow_id} HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"values": [
{
"automation": {
"id": "text",
"name": "text",
"description": "text",
"priority": 1,
"attachment_behavior": {
"attach_to_new_workflows": true,
"opt_in": true
},
"criteria": {
"filter": "text",
"mutable_filter": "text"
},
"action": {
"decision": 1,
"signed_off_state": 1,
"notes": "text",
"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
],
"previous_review_assignment": true,
"assign_self": true,
"resource_owner_lookup_order": 1
},
"display_style": 1,
"display_text": "text",
"highlight_color": "text"
}
},
"opt_in": true
}
]
}Veza API key for authentication. Generate keys in Administration > API Keys.
Detaches an automation from one or all workflows
OK
Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
The type of the serialized message.
POST /api/preview/awf/automations:detach HTTP/1.1
Host: your-tenant.vezacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"id": "text",
"workflow_id": "text",
"all": true
}{}