All pages
Powered by GitBook
1 of 1

Loading...

Automations API

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.

Example Automations

{
  "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.

Key Concepts

When working with the Automations API, it is important to understand the relationship between three identifiers:

ID Type
Description
Scope

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:

Endpoint
Valid fields

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:

Category
Fields

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:

Filter
Reason

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_ACCEPTED"
  • "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"

    Error handling and conflicts

    Automation Object Schema

    attachment_behavior (Object)

    criteria (Object)

    AWF Automation Filter Grammar

    Two-part form: endpoint.field

    One-part form: field

    Invalid filter examples

    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.

    Filtering by Joined Node Attributes

    Early Access: Filtering by joined node attributes in Automations is currently in early access. Contact Veza Support for the latest status.

    Filtering by Mutable Fields

    action (Object)

    reviewer_assignment (Object)

    Preview API Documentation

    List Automations

    Update Automation

    Create Automation

    Get Automation

    Delete Automation

    Attach Automations

    List attached Workflow Automations

    Detach Automations

    IdP or HRIS enrichment
    Using Enrichment Data in Automations
    Automations

    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.

    Filtering by Joined Node Attributes
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    200

    OK

    application/json
    idstringOptional
    namestringOptional
    descriptionstringOptional
    priorityinteger · int32Optional
    attach_to_new_workflowsbooleanOptional
    opt_inbooleanOptional
    filterstringOptional
    mutable_filterstringOptional
    decisioninteger · enumOptional
    signed_off_stateinteger · enumOptional
    notesstringOptional
    users_managerbooleanOptional
    resource_managersbooleanOptional

    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.

    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.

    previous_review_assignmentbooleanOptional

    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_selfbooleanOptional

    Assign reviewer to be the same as the row subject.

    resource_owner_lookup_orderinteger · enumOptional

    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.

    display_styleinteger · enumOptional
    display_textstringOptional

    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.

    highlight_colorstringOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    get/api/preview/awf/automations
    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"
          }
        }
      ]
    }
    put
    Authorizations
    AuthorizationstringRequired

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

    Body
    idstringOptional
    namestringOptional
    descriptionstringOptional
    priorityinteger · int32Optional
    attach_to_new_workflowsbooleanOptional
    opt_inbooleanOptional
    filterstringOptional
    mutable_filterstringOptional
    decisioninteger · enumOptional
    signed_off_stateinteger · enumOptional
    notesstringOptional
    users_managerbooleanOptional
    resource_managersbooleanOptional

    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.

    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.

    previous_review_assignmentbooleanOptional

    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_selfbooleanOptional

    Assign reviewer to be the same as the row subject.

    resource_owner_lookup_orderinteger · enumOptional

    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.

    display_styleinteger · enumOptional
    display_textstringOptional

    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.

    highlight_colorstringOptional
    Responses
    200

    OK

    application/json
    object · UpdateAwfAutomationResponseOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    put/api/preview/awf/automations
    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"
        }
      }
    }
    {}
    post
    Authorizations
    AuthorizationstringRequired

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

    Body
    namestringOptional
    descriptionstringOptional
    priorityinteger · int32Optional
    attach_to_new_workflowsbooleanOptional
    opt_inbooleanOptional
    filterstringOptional
    mutable_filterstringOptional
    decisioninteger · enumOptional
    signed_off_stateinteger · enumOptional
    notesstringOptional
    users_managerbooleanOptional
    resource_managersbooleanOptional

    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.

    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.

    previous_review_assignmentbooleanOptional

    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_selfbooleanOptional

    Assign reviewer to be the same as the row subject.

    resource_owner_lookup_orderinteger · enumOptional

    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.

    display_styleinteger · enumOptional
    display_textstringOptional

    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.

    highlight_colorstringOptional
    Responses
    200

    OK

    application/json
    idstringOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    post/api/preview/awf/automations
    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"
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    200

    OK

    application/json
    idstringOptional
    namestringOptional
    descriptionstringOptional
    priorityinteger · int32Optional
    attach_to_new_workflowsbooleanOptional
    opt_inbooleanOptional
    filterstringOptional
    mutable_filterstringOptional
    decisioninteger · enumOptional
    signed_off_stateinteger · enumOptional
    notesstringOptional
    users_managerbooleanOptional
    resource_managersbooleanOptional

    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.

    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.

    previous_review_assignmentbooleanOptional

    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_selfbooleanOptional

    Assign reviewer to be the same as the row subject.

    resource_owner_lookup_orderinteger · enumOptional

    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.

    display_styleinteger · enumOptional
    display_textstringOptional

    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.

    highlight_colorstringOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    get/api/preview/awf/automations/{id}
    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"
        }
      }
    }
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    200

    OK

    application/json
    object · DeleteAwfAutomationResponseOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    delete/api/preview/awf/automations/{id}
    DELETE /api/preview/awf/automations/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    post
    Authorizations
    AuthorizationstringRequired

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

    Body

    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

    idstringOptional
    workflow_idstringOptional
    allbooleanOptional
    opt_inbooleanOptional
    Responses
    200

    OK

    application/json
    object · AttachAwfAutomationResponseOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    post/api/preview/awf/automations:attach
    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
    }
    {}
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    workflow_idstringRequired
    Responses
    200

    OK

    application/json
    idstringOptional
    namestringOptional
    descriptionstringOptional
    priorityinteger · int32Optional
    attach_to_new_workflowsbooleanOptional
    opt_inbooleanOptional
    filterstringOptional
    mutable_filterstringOptional
    decisioninteger · enumOptional
    signed_off_stateinteger · enumOptional
    notesstringOptional
    users_managerbooleanOptional
    resource_managersbooleanOptional

    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.

    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.

    previous_review_assignmentbooleanOptional

    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_selfbooleanOptional

    Assign reviewer to be the same as the row subject.

    resource_owner_lookup_orderinteger · enumOptional

    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.

    display_styleinteger · enumOptional
    display_textstringOptional

    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.

    highlight_colorstringOptional
    opt_inbooleanOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    get/api/preview/awf/automations:attached/{workflow_id}
    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
        }
      ]
    }
    post
    Authorizations
    AuthorizationstringRequired

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

    Body

    Detaches an automation from one or all workflows

    idstringOptional
    workflow_idstringOptional
    allbooleanOptional
    Responses
    200

    OK

    application/json
    object · DetachAwfAutomationResponseOptional
    default

    Default error response

    application/json

    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.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    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.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    post/api/preview/awf/automations:detach
    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
    }
    {}