arrow-left

All pages
gitbookPowered by GitBook
1 of 31

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

List provider types

Returns all provider types available in the tenant, including both Veza-managed integrations and custom OAA provider types.

hashtag
Response

  • provider_types: Veza-managed provider types such as AWS, AZURE, GOOGLE_CLOUD, OKTA, ACTIVE_DIRECTORY, GITHUB, SNOWFLAKE, SALESFORCE, KUBERNETES, and others. Each entry includes enabled: true if the tenant has at least one configured provider instance of that type.

  • unregistered_custom_provider_types: OAA provider types present in the tenant that do not have a registered Veza configuration definition.

Each ProviderType includes a schema_integration_type field. Use this value (not type) when filtering by integration_type in assessment queries. The values are not always a direct transformation of the type identifier — for example, GOOGLE_CLOUD maps to google, ONE_LOGIN maps to onelogin, and MYSQL maps to my_sql.

hashtag
Sample request

hashtag
Sample response

For detailed integration guides, see the .

curl -X GET "$BASE_URL/api/v1/providers/types" \
  -H "authorization: Bearer $VEZA_TOKEN"
{
  "provider_types": [
    {
      "type": "AWS",
      "schema_integration_type": "aws",
      "enabled": true,
      "provider_ids": ["883dd869-8762-4187-8767-1c387de14b4b"]
    },
    {
      "type": "GOOGLE_CLOUD",
      "schema_integration_type": "google",
      "enabled": false,
      "provider_ids": []
    }
  ],
  "unregistered_custom_provider_types": []
}
Integrations documentation

Integration APIs

Programmatic configuration of providers and data sources

The Veza management APIs enable internal tooling to automate administration of cloud providers and data sources. These APIs provide both unified and provider-specific endpoints to manage integrations:

  • Provider Management API: Unified endpoints for managing all provider types through a single interface

  • Provider-Specific APIs: Specialized endpoints for individual provider types with extended configuration options

  • : Management of individual data sources within providers

Each supported provider can be managed through either the unified Provider Management API or provider-specific endpoints, depending on your needs.

hashtag
Notes

  • A data plane ID is required when adding a custom provider.

    • This value refers to the used for discovery, or the GUID of the built-in data plane.

    • To get all available IDs, navigate to Administration > Insight Point.

hashtag
Authentication

You can issue new API keys from Administration > API Keys > . Provide the key as the bearer auth token in the header of each request.

Users must have the role to add/modify provider configurations. Configurations can be viewed by users with the operator role.

hashtag
Sample Integrations and Tools

circle-info

Please contact your support team for private repository access.

Register Accounts - Use the management API to add multiple AWS accounts from CSV.

Veza Python Client - Simple Python class for making REST API calls to Veza.

Cloud Formation Stacks - Configure multiple AWS accounts for Veza discovery by enabling the required assume role operations and IAM permissions.

hashtag
Open Authorization APIs

If your organization uses applications, data sources, or identity providers not natively supported by Veza, you may be able to add them to your data catalog using . You will need to query the provider to retrieve entity and permissions metadata and push the payload to Veza for parsing in a template format.

Endpoints for administering custom resources (/providers/custom/*) are described in .

Enable/Disable Providers

API operations for enabling and disabling provider connections

The v1/providers API includes endpoints to enable or disable integrations by provider id. This allows you to temporarily pause data extraction and synchronization for specific providers when needed, without deleting the configuration.

The provider_id value should be obtained from the provider listing APIs (e.g., /api/v1/providers/aws for AWS providers)

hashtag

Unless you have deployed an Insight Point within your environment, the only entry will be for the internal data plane.

  • If a request is unsuccessful, an error message will provide additional details and troubleshooting steps.

  • Data Sources API
    Insight Point
    Add New API Key
    admin
    Open Authorization APIs
    OAA Push API
    Enable Provider

    Activate a provider connection that was disabled.

    hashtag
    Disable Provider

    Deactivates a provider connection until it is-renabled, preserving the configured settings.

    curl -X PUT \
      "https://{tenant}.vezacloud.com/api/v1/providers/{id}:enable" \
      -H "accept: application/json" \
      -H "Authorization: Bearer {your_api_key}"
    curl -X PUT \
      "https://{tenant}.vezacloud.com/api/v1/providers/{id}:disable" \
      -H "accept: application/json" \
      -H "Authorization: Bearer {your_api_key}"

    Get Lifecycle Manager Datasource

    Retrieve details for a specific lifecycle management datasource

    hashtag
    Endpoint

    GET /api/v1/providers/datasources/lifecycle_managers/{id}

    hashtag
    Description

    Returns detailed information for a specific lifecycle management datasource by its ID, including its supported capabilities, available actions, syncable attributes, and grantable entitlements.

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    For detailed information about the response fields, see the documentation.

    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    enabledbooleanOptional
    datasourceobjectOptional
    entity_typestringOptional
    typeinteger · enumOptional
    idempotentbooleanOptional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    chevron-right
    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

    id

    string

    Required

    The lifecycle management datasource ID

    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers/549a4b5e-0328-4c87-a19d-ee8a2926d1aa" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "value": {
        "id": "549a4b5e-0328-4c87-a19d-ee8a2926d1aa",
        "name": "Workday Integration",
        "provider_type": "WORKDAY",
        "external_id": "https://wd5-impl-services1.workday.com/veza_preview",
        "lifecycle_management_enabled": true,
        "supported_capabilities": [
          "IDENTITY_SOURCE",
          "ACCESS_TARGET"
        ]
      }
    }
    {
      "value": {
        "id": "549a4b5e-0328-4c87-a19d-ee8a2926d1aa",
        "name": "SCIM Demo Server",
        "provider_type": "SCIM",
        "external_id": "https://scim.example.com",
        "lifecycle_management_enabled": true,
        "supported_capabilities": [
          "ACCESS_TARGET"
        ],
        "available_actions": [
          {
            "action_type": "MANAGE_RELATIONSHIPS",
            "description": "Add or remove user memberships in groups",
            "supported_entity_types": ["User", "Group"],
            "supported_relationship_types": ["MemberOf"]
          }
        ],
        "syncable_attributes": [
          {
            "entity_type": "User",
            "attributes": [
              {
                "name": "userName",
                "type": "string",
                "required": true,
                "description": "Primary identifier for the user"
              },
              {
                "name": "displayName", 
                "type": "string",
                "required": false,
                "description": "Display name for the user"
              },
              {
                "name": "emails",
                "type": "array",
                "required": false,
                "description": "Email addresses associated with the user"
              }
            ]
          },
          {
            "entity_type": "Group",
            "attributes": [
              {
                "name": "displayName",
                "type": "string", 
                "required": true,
                "description": "Display name for the group"
              }
            ]
          }
        ],
        "grantable_entitlements": [
          {
            "entity_type": "Group",
            "entitlement_type": "MemberOf",
            "description": "Grant membership in the specified group"
          }
        ]
      }
    }
    List Lifecycle Manager Datasources

    List Lifecycle Manager Datasources

    Lists all data sources that have enabled lifecycle management and their supported capabilities

    hashtag
    Endpoint

    GET /api/v1/providers/datasources/lifecycle_managers

    hashtag
    Description

    Lists all data sources that have enabled lifecycle management and their detailed capabilities. This endpoint shows which systems can be used as sources of identity information and as targets for access management operations in Veza Lifecycle Management.

    Use this endpoint to:

    • Discover which datasources support lifecycle management

    • View the capabilities each datasource provides

    • Get datasource IDs needed for other lifecycle management operations

    • Identify available actions, syncable attributes, and grantable entitlements for each datasource

    hashtag
    API Reference

    hashtag
    Query Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    hashtag
    Response Fields

    hashtag
    Basic Datasource Information

    • id: Unique identifier for the datasource

    • name: Human-readable name of the datasource

    • provider_type: The type of integration (e.g., SCIM, WORKDAY, ACTIVE_DIRECTORY)

    hashtag
    Supported Capabilities

    The supported_capabilities field indicates what operations each datasource can perform:

    • IDENTITY_SOURCE: Can provide identity information for lifecycle management

    • ACCESS_TARGET: Can receive and execute access management operations

    hashtag
    Available Actions

    The available_actions array details specific lifecycle management operations supported:

    • action_type: Type of action (e.g., MANAGE_RELATIONSHIPS)

    • description: Human-readable description of the action

    • supported_entity_types: Entity types this action can work with (User, Group, etc.)

    hashtag
    Syncable Attributes

    The syncable_attributes array shows which entity attributes can be synchronized:

    • entity_type: The type of entity (User, Group, etc.)

    • attributes: Array of attribute definitions including:

      • name: Attribute name in the target system

    hashtag
    Grantable Entitlements

    The grantable_entitlements array shows what access can be granted through this datasource:

    • entity_type: Type of entity that can grant access (typically Group)

    • entitlement_type: Type of entitlement relationship (MemberOf, etc.)

    • description: What access is granted through this entitlement

    hashtag
    ListProviderTypes

    get

    List Provider Types

    Returns all provider types configured in the tenant, grouped by Veza-managed and user-defined custom types.

    Response

    FieldDescription
    provider_typesVeza-managed provider types. Includes integrations such as AWS, AZURE, GOOGLE_CLOUD, OKTA, ACTIVE_DIRECTORY, GITHUB, SNOWFLAKE, SALESFORCE, KUBERNETES, and others.
    unregistered_custom_provider_typesOAA provider types present in the tenant that do not have a registered Veza configuration definition. Always have enabled: true.

    ProviderType

    FieldDescription
    typeProvider type identifier (e.g., AWS, OKTA).
    schema_integration_typeThe graph schema identifier for this provider type, used as the integration_type value in assessment query filters. Not always a direct transformation of type (e.g., GOOGLE_CLOUD → google, ONE_LOGIN → onelogin, MYSQL → my_sql).
    enabledtrue if the tenant has at least one configured provider instance of this type.
    provider_idsDeprecated. Use provider_details instead.
    provider_detailsList of individual provider instances of this type.

    ProviderDetail

    FieldDescription
    idProvider ID.
    external_idThe provider's identifier in its source system, derived at creation time. Format varies by type: a flat ID for cloud and identity providers (e.g., AWS account ID, Azure tenant ID, Okta domain), or a structured composite for databases and infrastructure (e.g., oracle_db:host:1521/dbname, kubernetes:GKE::cluster:my-cluster).
    put
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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/v1/providers/{id}:enable
    put
    /api/v1/providers/{id}:disable
    get
    /api/v1/providers/datasources/lifecycle_managers/{id}
    PUT /api/v1/providers/{id}:enable HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    PUT /api/v1/providers/{id}:disable HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    GET /api/v1/providers/datasources/lifecycle_managers/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "enabled": true,
        "datasource": {},
        "definition": {
          "source_of_identity_definition": {
            "entity_type": "text"
          },
          "actions": [
            {
              "type": 1,
              "idempotent": true,
              "input_entity_types": [
                {
                  "name": "text",
                  "description": "text",
                  "available_entity_types": [
                    "text"
                  ]
                }
              ],
              "output_entity_types": [
                {
                  "name": "text",
                  "description": "text",
                  "available_entity_types": [
                    "text"
                  ]
                }
              ],
              "definition": {
                "@type": "text",
                "ANY_ADDITIONAL_PROPERTY": "anything"
              }
            }
          ]
        }
      }
    }

    Sort results by specified field

    page_size

    integer

    Optional

    The maximum number of results to return. Fewer results may be returned even when more pages exist

    page_token

    string

    Optional

    The token specifying the specific page of results to retrieve

    external_id: External system identifier or endpoint URL
  • lifecycle_management_enabled: Whether LCM is enabled for this datasource

  • supported_relationship_types: Relationship types this action can manage (MemberOf, etc.)
    type: Data type (string, array, boolean, etc.)
  • required: Whether the attribute is required

  • description: Purpose and usage of the attribute

  • get
    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    filterstringOptional
    order_bystringOptional
    page_sizeinteger · int32Optional

    The maximum number of results to be returned. Fewer results may be returned even when more pages exist.

    page_tokenstringOptional

    The token specifying the specific page of results to retrieve.

    filter

    string

    Optional

    When present, only returns data sources matching the filter

    order_by

    string

    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers" \
      -H "authorization: Bearer $VEZA_TOKEN"
    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers?page_size=10" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "values": [
        {
          "id": "549a4b5e-0328-4c87-a19d-ee8a2926d1aa",
          "name": "Workday Integration", 
          "provider_type": "WORKDAY",
          "external_id": "https://wd5-impl-services1.workday.com/veza_preview",
          "lifecycle_management_enabled": true,
          "supported_capabilities": [
            "IDENTITY_SOURCE",
            "ACCESS_TARGET"
          ]
        },
        {
          "id": "2b1c8d4e-5f2a-4b3c-9e7f-1d2e3f4a5b6c",
          "name": "Active Directory",
          "provider_type": "ACTIVE_DIRECTORY", 
          "external_id": "corp.example.com",
          "lifecycle_management_enabled": true,
          "supported_capabilities": [
            "ACCESS_TARGET"
          ]
        }
      ],
      "has_more": false,
      "next_page_token": ""
    }
    {
      "values": [
        {
          "id": "549a4b5e-0328-4c87-a19d-ee8a2926d1aa",
          "name": "SCIM Demo Server",
          "provider_type": "SCIM",
          "external_id": "https://scim.example.com",
          "lifecycle_management_enabled": true,
          "supported_capabilities": [
            "ACCESS_TARGET"
          ],
          "available_actions": [
            {
              "action_type": "MANAGE_RELATIONSHIPS",
              "description": "Add or remove user memberships in groups",
              "supported_entity_types": ["User", "Group"],
              "supported_relationship_types": ["MemberOf"]
            }
          ],
          "syncable_attributes": [
            {
              "entity_type": "User",
              "attributes": [
                {
                  "name": "userName",
                  "type": "string",
                  "required": true,
                  "description": "Primary identifier for the user"
                },
                {
                  "name": "displayName", 
                  "type": "string",
                  "required": false,
                  "description": "Display name for the user"
                },
                {
                  "name": "emails",
                  "type": "array",
                  "required": false,
                  "description": "Email addresses associated with the user"
                }
              ]
            },
            {
              "entity_type": "Group",
              "attributes": [
                {
                  "name": "displayName",
                  "type": "string", 
                  "required": true,
                  "description": "Display name for the group"
                }
              ]
            }
          ],
          "grantable_entitlements": [
            {
              "entity_type": "Group",
              "entitlement_type": "MemberOf",
              "description": "Grant membership in the specified group"
            }
          ]
        }
      ],
      "has_more": false,
      "next_page_token": ""
    }

    Optional

    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    typestringOptional

    Provider type identifier (e.g., "AWS", "OKTA").

    schema_integration_typestringOptional

    The corresponding integration_type for this provider type that appears in schema and can be used for assessment queries.

    enabledbooleanOptional

    Whether this provider type is enabled.

    provider_idsstring[]OptionalDeprecated

    DEPRECATED: use provider_details instead.

    idstringOptional

    Provider ID.

    external_idstringOptional

    External ID of the provider.

    typestringOptional

    Provider type identifier (e.g., "AWS", "OKTA").

    schema_integration_typestringOptional

    The corresponding integration_type for this provider type that appears in schema and can be used for assessment queries.

    enabledbooleanOptional

    Whether this provider type is enabled.

    provider_idsstring[]OptionalDeprecated

    DEPRECATED: use provider_details instead.

    idstringOptional

    Provider ID.

    external_idstringOptional

    External ID of the provider.

    chevron-right
    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/v1/providers/types

    Disable AWS Services using Provider Management APIs

    hashtag
    Overview

    This guide explains how to disable specific AWS services across multiple AWS integrations (providers) using the Veza API. Limiting AWS service extraction can reduce processing overhead, help teams focus on relevant services, or exclude analytics platforms like AWS_DATABRICKS that may not be deployed or required for visibility in Veza. This is particularly useful for organizations with many AWS accounts who need to disable unused services at scale.

    In the JSON AWS provider configuration, the services array acts as an allow list that controls which AWS services Veza will discover and extract:

    GET /api/v1/providers/types HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "provider_types": [
        {
          "type": "text",
          "schema_integration_type": "text",
          "enabled": true,
          "provider_details": [
            {
              "id": "text",
              "external_id": "text"
            }
          ]
        }
      ],
      "unregistered_custom_provider_types": [
        {
          "type": "text",
          "schema_integration_type": "text",
          "enabled": true,
          "provider_details": [
            {
              "id": "text",
              "external_id": "text"
            }
          ]
        }
      ]
    }
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    enabledbooleanOptional
    datasourceobjectOptional
    entity_typestringOptional
    typeinteger · enumOptional
    idempotentbooleanOptional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    next_page_tokenstringOptional

    The pagination token to retrieve the next page of results.

    has_morebooleanOptional

    If true, more results are available.

    chevron-right
    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/v1/providers/datasources/lifecycle_managers
    GET /api/v1/providers/datasources/lifecycle_managers HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    

    Empty array [] = All available AWS services are enabled for discovery

  • Populated array = Only the listed services are enabled; all others are disabled

  • To disable specific services, you must populate the array with only the services you want to monitor.

    hashtag
    Before you start

    Before you update AWS provider services, ensure:

    • You have API access credentials for your Veza instance (see Authentication for API key setup)

    • You have the VEZA_TOKEN environment variable configured

    • You have the VEZA_URL environment variable set to your instance (e.g., https://yourcompany.cookiecloud.ai)

    • You have appropriate permissions to modify provider configurations

    • You understand that empty services arrays mean ALL services are enabled

    hashtag
    Disable specific AWS services across providers

    hashtag
    Step 1: Discover your current AWS providers

    First, retrieve all AWS provider configurations to understand your current setup:

    Understanding the response:

    • Providers with empty services: [] arrays have ALL services enabled

    • Providers with populated services arrays only extract the listed services

    • Note the id, name, and account_id fields for providers you want to modify

    Example response structure:

    hashtag
    Step 2: Identify target providers and services

    1. Identify which providers to modify based on:

      • Provider names that match your AWS accounts

      • Account IDs that correspond to your AWS accounts

      • Current services configuration

    2. Determine your desired services configuration:

      Option A: Disable AWS_DATABRICKS only

      Option B: Enable only specific services

      Option C: Custom configuration

      • Review the below

    hashtag
    Step 3: Test with a single provider

    Before updating all providers, test with one provider first:

    Verify the change:

    Check that the response shows your desired services array.

    hashtag
    Step 4: Apply to multiple providers

    hashtag
    Manual approach (recommended for small numbers)

    Update each provider individually using their specific IDs:

    hashtag
    Bulk approach (for many providers)

    Create a script for bulk updates. Use with caution as this affects all AWS providers:

    hashtag
    Step 5: Verify changes

    After updating providers, verify the changes took effect:

    hashtag
    Reversing changes

    hashtag
    Re-enable all services

    To return a provider to monitoring all services:

    hashtag
    Modify service configuration

    To change which services are monitored:

    hashtag
    Available AWS services

    The following AWS services can be included in the services array (25 total):

    Storage services:

    • S3 - Simple Storage Service

    • DYNAMODB - DynamoDB NoSQL database

    Database services:

    • RDS - General RDS service

    • RDS_POSTGRES - PostgreSQL databases

    • RDS_MYSQL - MySQL databases

    • RDS_ORACLE - Oracle databases

    • REDSHIFT - Redshift data warehouse

    • REDSHIFT_CLUSTER - Redshift cluster (legacy, use REDSHIFT instead)

    • NEPTUNE - Graph database service

    • DOCUMENTDB - Document database (MongoDB-compatible)

    Compute services:

    • EC2 - Elastic Compute Cloud (virtual machines)

    • LAMBDA - Serverless functions

    • EKS - Elastic Kubernetes Service

    • ECR - Elastic Container Registry

    • EMR - Elastic MapReduce (big data)

    • BEDROCK - Generative AI service

    Identity and security services:

    • AWS_IAM - Identity and Access Management

    • KMS - Key Management Service

    • SECRETS_MANAGER - AWS Secrets Manager

    • COGNITO - User authentication service

    • SSO - AWS Single Sign-On

    • CERTIFICATE_MANAGER - SSL/TLS certificate management

    Management and governance:

    • ORGANIZATIONS - AWS Organizations

    • SYSTEMS_MANAGER - Operations management

    Analytics platforms:

    • AWS_DATABRICKS - Databricks analytics platform

    Important notes:

    • Service availability may vary by Veza version and configuration

    • Some services may require specific permissions or setup

    • When in doubt, check your Veza UI to see which services are available for your AWS providers

    hashtag
    See also

    • API Reference - AWS Providers

    • AWS Provider Configuration Guide

    curl -H "Authorization: Bearer $VEZA_TOKEN" \
         "$VEZA_URL/api/v1/providers/aws"
    {
      "values": [
        {
          "id": "12345678-1234-5678-9012-123456789012",
          "name": "Production AWS Account", 
          "account_id": "123456789012",
          "services": [],
          "state": "ENABLED"
        },
        {
          "id": "87654321-4321-8765-2109-876543210987",
          "name": "Development AWS Account",
          "account_id": "987654321098", 
          "services": ["S3", "RDS_POSTGRES", "LAMBDA"],
          "state": "ENABLED"
        }
      ]
    }
    # Replace with your actual provider ID and desired services
    curl -X PATCH \
         -H "Authorization: Bearer $VEZA_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{"services":["S3","RDS_POSTGRES","LAMBDA","EC2","AWS_IAM"]}' \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID_HERE"
    curl -H "Authorization: Bearer $VEZA_TOKEN" \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID_HERE"
    # Example for multiple providers - replace with your actual IDs and services
    DESIRED_SERVICES='["S3","RDS_POSTGRES","DYNAMODB","LAMBDA","EC2","AWS_IAM"]'
    
    # Provider 1
    curl -X PATCH \
         -H "Authorization: Bearer $VEZA_TOKEN" \
         -H "Content-Type: application/json" \
         -d "{\"services\":$DESIRED_SERVICES}" \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID_1"
    
    # Provider 2  
    curl -X PATCH \
         -H "Authorization: Bearer $VEZA_TOKEN" \
         -H "Content-Type: application/json" \
         -d "{\"services\":$DESIRED_SERVICES}" \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID_2"
    #!/bin/bash
    
    # Configuration - CUSTOMIZE THESE VALUES
    VEZA_URL="https://yourcompany.cookiecloud.ai"
    DESIRED_SERVICES='["S3","RDS_POSTGRES","DYNAMODB","LAMBDA","EC2","AWS_IAM"]'
    
    echo "Starting bulk AWS provider services update..."
    echo "Target services: $DESIRED_SERVICES"
    echo ""
    
    # Get all AWS provider IDs
    provider_ids=$(curl -s -H "Authorization: Bearer $VEZA_TOKEN" \
                        "$VEZA_URL/api/v1/providers/aws" | \
                   jq -r '.values[].id')
    
    if [ -z "$provider_ids" ]; then
        echo "Error: No AWS providers found or API call failed"
        exit 1
    fi
    
    # Count providers
    provider_count=$(echo "$provider_ids" | wc -l)
    echo "Found $provider_count AWS providers to update"
    echo ""
    
    # Add confirmation prompt
    read -p "Continue with bulk update? (y/N): " -n 1 -r
    echo
    if [[ ! $REPLY =~ ^[Yy]$ ]]; then
        echo "Update cancelled"
        exit 0
    fi
    
    # Update each provider
    echo "$provider_ids" | while read provider_id; do
        if [ -n "$provider_id" ]; then
            echo "Updating provider: $provider_id"
            
            response=$(curl -s -w "\nHTTP_STATUS:%{http_code}" -X PATCH \
                            -H "Authorization: Bearer $VEZA_TOKEN" \
                            -H "Content-Type: application/json" \
                            -d "{\"services\":$DESIRED_SERVICES}" \
                            "$VEZA_URL/api/v1/providers/aws/$provider_id")
            
            http_status=$(echo "$response" | grep "HTTP_STATUS" | cut -d: -f2)
            
            if [ "$http_status" = "200" ]; then
                echo "âś“ Successfully updated provider $provider_id"
            else
                echo "âś— Failed to update provider $provider_id (HTTP $http_status)"
                echo "Response: $(echo "$response" | grep -v "HTTP_STATUS")"
            fi
            echo ""
        fi
    done
    
    echo "Bulk update completed"
    # Check all providers
    curl -H "Authorization: Bearer $VEZA_TOKEN" \
         "$VEZA_URL/api/v1/providers/aws" | \
    jq '.values[] | {id: .id, name: .name, services: .services}'
    
    # Check specific provider
    curl -H "Authorization: Bearer $VEZA_TOKEN" \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID" | \
    jq '{id: .id, name: .name, services: .services}'
    curl -X PATCH \
         -H "Authorization: Bearer $VEZA_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{"services":[]}' \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID"
    # Example: Enable different set of services
    NEW_SERVICES='["S3","LAMBDA","DYNAMODB","EC2"]'
    
    curl -X PATCH \
         -H "Authorization: Bearer $VEZA_TOKEN" \
         -H "Content-Type: application/json" \
         -d "{\"services\":$NEW_SERVICES}" \
         "$VEZA_URL/api/v1/providers/aws/YOUR_PROVIDER_ID"

    Custom Provider Configurations

    ListCustomProviderInternalConfigurationDefinitions returns the internal configuration definitions for all custom OAA providers, including built-in Veza integrations that use OAA templates.

    This endpoint is useful for understanding the configuration schema of custom integrations, including connector types, data source configurations, and supported settings.

    hashtag
    Sample request

    curl -X GET "$BASE_URL/api/v1/providers/custom/configurations" \
      -H "authorization: Bearer $VEZA_TOKEN"

    Get Parse Status

    Retrieve the parsing status and details for a specific data source

    hashtag
    Endpoint

    hashtag
    Description

    Returns the current parsing status for a specific data source, including information about the last parse operation and any errors that occurred.

    Get enrichment rule

    Returns the configuration and status of a single enrichment rule by ID.

    hashtag
    Path parameter

    Parameter
    Description

    Owners API

    API reference for managing entity ownership in the Veza Access Graph

    Manage entity ownership in the Veza Access Graph using the Owners API. Use to discover valid owner candidates, then to assign, add, or remove owners across multiple entities in a single request.

    Owner updates are applied asynchronously — changes typically reflect within a few seconds of the API returning.

    hashtag
    Endpoints

    Operation

    Get Data Source

    Retrieve status and details for an individual data source

    hashtag
    Endpoint

    hashtag
    Description

    Returns status and configuration details for an individual data source by its ID.

    Get valid queries

    Returns saved assessment queries that are compatible with a given entity type. Use this to discover valid query_id values before calling .

    hashtag
    Request body

    Field
    Description

    Delete enrichment rule

    Permanently deletes an enrichment rule.

    hashtag
    Path parameter

    Parameter
    Description

    Disable Data Source

    Pause discovery and extraction for a data source

    hashtag
    Endpoint

    hashtag
    Description

    Pause discovery and extraction for a data source. This will cancel all pending extractions for the specified data source.

    Custom Providers

    ListCustomProviders returns all custom (OAA-based) provider definitions configured in the Veza instance.

    Each provider in the response includes its ID, name, custom template type, integration type, and associated data sources.

    hashtag
    Sample request

    hashtag

    Enable Data Source

    Resume monitoring and queue the data source for extraction

    hashtag
    Endpoint

    hashtag
    Description

    Resume monitoring and queue the data source for extraction. This will re-enable a previously disabled data source and schedule it for data collection.

    Enable or disable rule

    Enables or disables an existing enrichment rule without deleting it. Disabled rules are not evaluated during metadata extraction.

    hashtag
    Path parameter

    Parameter
    Description

    Get Sync Status

    Retrieve the synchronization status and details for a specific data source

    hashtag
    Endpoint

    hashtag
    Description

    Returns the current synchronization status for a specific data source, including information about the last sync operation and any errors that occurred during data extraction.

    Create your own array with desired services

    available services list
    {
      "values": [
        {
          "id": "text",
          "enabled": true,
          "datasource": {},
          "definition": {
            "source_of_identity_definition": {
              "entity_type": "text"
            },
            "actions": [
              {
                "type": 1,
                "idempotent": true,
                "input_entity_types": [
                  {
                    "name": "text",
                    "description": "text",
                    "available_entity_types": [
                      "text"
                    ]
                  }
                ],
                "output_entity_types": [
                  {
                    "name": "text",
                    "description": "text",
                    "available_entity_types": [
                      "text"
                    ]
                  }
                ],
                "definition": {
                  "@type": "text",
                  "ANY_ADDITIONAL_PROPERTY": "anything"
                }
              }
            ]
          }
        }
      ],
      "next_page_token": "text",
      "has_more": true
    }
    {
      "services": [
        "S3", "RDS_POSTGRES", "RDS_MYSQL", "RDS_ORACLE", "RDS",
        "DYNAMODB", "REDSHIFT", "REDSHIFT_CLUSTER", "EC2", "LAMBDA",
        "EKS", "ECR", "EMR", "AWS_IAM", "KMS", "SECRETS_MANAGER",
        "COGNITO", "SSO", "ORGANIZATIONS", "NEPTUNE", "SYSTEMS_MANAGER",
        "CERTIFICATE_MANAGER", "BEDROCK", "DOCUMENTDB"
      ]
    }
    {
      "services": [
        "S3", "RDS_POSTGRES", "LAMBDA", "EC2", "AWS_IAM"
      ]
    }

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    id

    string

    Required

    The data source ID

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    GET /api/v1/providers/datasources/{id}/parse_status
    curl -X GET "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27/parse_status" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "value": {
        "datasource_id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
        "status": "SUCCESS",
        "last_parsed_at": "2022-01-13T20:53:29Z",
        "parse_duration_seconds": 45,
        "entities_processed": 1250,
        "errors_count": 0,
        "warnings_count": 2
      }
    }

    The ID of the enrichment rule to retrieve.

    hashtag
    Sample response

    hashtag
    Get enrichment rule

    get

    Returns the configuration and status of a single enrichment rule by ID.

    Authorizations
    Authorizationstring

    id

    {
      "value": {
        "id": "019c4441-62c3-78f6-9dad-2b29b9b7ffee",
        "name": "AWS NHIs by property",
        "active": true,
        "provider_ids": ["5443ea52-9dba-435e-8c6a-9035cc513bfa"],
        "entity_type": "AwsIamUser",
        "property_name": "enriched_owners",
        "property_value": "{\"property_names_in_template\":[\"id\"],\"owners\":[{\"entity_id\":\"{{id}}\",\"entity_type\":\"OktaUser\"}]}",
        "node_ids": [],
        "query_id": "0198d3ff-b2f7-7b05-b3d3-14b3cfc35858",
        "priority": 6
      }
    }
    Method
    Path

    POST

    /api/v1/list_available_owners

    POST

    /api/v1/batch_set_owners

    List Available Owners
    Batch Set Owners
    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    id

    string

    Required

    The data source ID

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    GET /api/v1/providers/datasources/{id}
    curl -X GET "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "value": {
        "id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
        "name": "AWS EC2 (527398259632)",
        "datasource_type": "EXTRACTOR",
        "agent_type": "AWS_EC2",
        "status": "SUCCESS",
        "provider_id": "cd0cf102-e86c-4599-9cbe-64d2c6b83236",
        "path": "AWS/ec2",
        "state": "ENABLED",
        "effective_state": "ENABLED",
        "datasource_config": null,
        "created_at": "2021-10-26T07:10:38Z",
        "updated_at": "2021-10-26T07:10:38Z",
        "synced_at": "2022-01-13T20:53:23Z",
        "parsed_at": "2022-01-13T20:53:29Z"
      }
    }

    entity_type

    The entity type to find compatible queries for (e.g., OktaUser, AwsIamRole). Required.

    hashtag
    Response

    Returns a queries array of ValidEnrichmentRuleQuery objects, each with an id and name. Pass the id as query_id when creating an enrichment rule.

    hashtag
    Get valid enrichment rule queries

    post

    Returns saved assessment queries compatible with the given entity_type. Use this endpoint to discover valid query_id values before creating an enrichment rule. The entity_type must match across all provider_ids specified in the rule.

    Authorizations
    Create enrichment rule
    {
      "queries": [
        {
          "id": "019d5767-2edf-7401-9c65-1d9c28f6b343",
          "name": "AWS IAM users who can delete S3 buckets"
        }
      ]
    }

    The ID of the enrichment rule to delete.

    hashtag
    Notes

    Deleting a rule stops future enrichment but does not roll back attributes previously applied by the rule. Entities that were classified or tagged by the rule retain those attributes until they are updated by another rule or manually changed.

    hashtag
    Delete enrichment rule

    delete

    Permanently deletes an enrichment rule. Entities previously enriched by this rule retain their current attributes; deletion stops future enrichment from this rule but does not roll back previously applied classifications.

    Authorizations

    id

    circle-exclamation

    Disabling a data source will cancel all pending extractions and prevent new data from being collected until the data source is re-enabled.

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    id

    string

    Required

    The data source ID

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    PUT /api/v1/providers/datasources/{id}:disable
    curl -X PUT "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27:disable" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {}
    Sample response

    hashtag
    List custom providers

    get

    Retrieve all custom (OAA) providers configured in the tenant. Custom providers represent integrations built using the Open Authorization API (OAA), including both Veza-managed connectors and customer-built integrations. Use the filter parameter to narrow results by name, state, or custom_template (e.g., filter=name eq "My App"). Set page_size to control results per page (default varies), and use page_token from the response to retrieve subsequent pages.

    Authorizations
    curl -X GET "$BASE_URL/api/v1/providers/custom" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "values": [
        {
          "name": "my_custom_app",
          "custom_template": "application",
          "integration_type": "my_custom_app",
          "data_sources": [],
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
        }
      ]
    }

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    id

    string

    Required

    The data source ID

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    PUT /api/v1/providers/datasources/{id}:enable
    curl -X PUT "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27:enable" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {}

    The ID of the enrichment rule to enable or disable.

    hashtag
    Request body

    Field
    Description

    active

    Set to true to enable the rule or false to disable it.

    A 200 OK with an empty body indicates success.

    hashtag
    Enable or disable enrichment rule

    put

    Enables or disables an existing enrichment rule by setting active to true or false. This is the only public API endpoint for changing a rule's enabled state. Disabled rules are not evaluated during metadata extraction.

    Authorizations

    id

    curl -X PUT "$BASE_URL/api/v1/enrichment/rules/{id}:toggle" \
      -H "Authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"active": false}'

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    id

    string

    Required

    The data source ID

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    GET /api/v1/providers/datasources/{id}/sync_status
    curl -X GET "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27/sync_status" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "value": {
        "datasource_id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
        "status": "SUCCESS",
        "last_synced_at": "2022-01-13T20:53:23Z",
        "sync_duration_seconds": 120,
        "records_extracted": 5000,
        "errors_count": 0,
        "next_scheduled_sync": "2022-01-14T08:00:00Z"
      }
    }

    hashtag
    List custom provider configuration definitions

    get

    Retrieve the internal configuration definitions for all available OAA provider types. Returns metadata about each provider type including configuration property definitions (names, types, and whether fields are optional or secret), provider icon and MIME type, custom templates available, provider categories (application, IdP, HRIS, etc.), lifecycle management support, and documentation URL. Use this to discover available provider types and their configuration schema before creating a new custom provider instance.

    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json

    List of OAA provider configuration definitions.

    provider_namestringOptional

    Canonical name identifying this provider type (e.g., "slack", "jira").

    namestringOptional
    descriptionstringOptional
    typeinteger · enumOptional
    optionalbooleanOptional
    secretbooleanOptional
    internalbooleanOptional
    oauth2_redirect_requiredbooleanOptional
    vault_sourcedbooleanOptional
    valuestringOptional
    labelstringOptional
    lifecycle_management_onlybooleanOptional
    condition_fieldstringOptional

    When set, this property is only shown/required when the named field equals the given value.

    condition_valuestringOptional
    clear_when_condition_not_metbooleanOptional

    When true, the value of this property is cleared if its condition is not met.

    write_oncebooleanOptional

    When true, the value of the property cannot be changed once set

    iconstringOptional

    Base64-encoded icon image for UI display.

    icon_mime_typestringOptional

    MIME type of the icon image (e.g., "image/png", "image/svg+xml").

    custom_templatesstring[]Optional

    OAA template types supported by this provider.

    provider_categoriesinteger · enum[]Optional

    Categories this provider belongs to (application, IdP, HRIS, file system, etc.).

    documentation_urlstringOptional

    URL to the provider's documentation page on docs.veza.com.

    lifecycle_management_supportedbooleanOptional

    Whether this provider supports lifecycle management (provisioning/deprovisioning) operations.

    created_atstring · date-timeOptional

    Timestamp when this provider configuration was registered.

    chevron-right
    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/v1/providers/custom/configurations

    Data Source Scheduling Configuration

    Configure priority scheduling and extraction times for data sources

    hashtag
    Overview

    The Data Source Scheduling Configuration APIs allow administrators to configure advanced scheduling options for individual data sources, including:

    • Priority scheduling: Assign priorities (1-100) to ensure extraction jobs are processed ahead of standard data sources

    • Scheduled extraction times: Define specific times of day when extractions should occur (in 30-minute intervals)

    • Day-of-week scheduling: Restrict extractions to precise days of the week

    These APIs are intended primarily for use with Veza Lifecycle Management to ensure critical data sources (such as HR systems) are refreshed at predictable times to support downstream automation workflows.

    circle-exclamation

    Supported Data Source Types: Scheduling configuration is designed for EXTRACTOR and DISCOVERER data source types only. Configuring scheduling for other data source types (such as PARSER) will not work as expected.

    hashtag
    Examples

    hashtag
    Source of Identity Scheduling

    Configure HR system data sources to extract at specific times to ensure identity data is current before provisioning workflows execute:

    hashtag
    Prevent Extraction During Business Hours

    Schedule non-critical extractions only on weekends to reduce workload during business hours:

    hashtag
    Endpoints

    Method
    Endpoint
    Description

    hashtag
    Create or Update Scheduling Configuration

    hashtag
    Endpoint

    hashtag
    Description

    Creates or updates the scheduling configuration for a specific data source. If a configuration already exists for the data source, it will be updated with the new values; otherwise, a new configuration will be created.

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Body

    The request body contains the configuration fields directly (no wrapper object needed):

    Field
    Type
    Required?
    Description
    circle-info

    Note: The datasource_id is specified in the URL path and should not be included in the request body.

    hashtag
    Validation Rules

    • Priority: Must be between 1-100 (where 100 is the highest priority)

      • When scheduled_extraction_times are configured, priority must be 100 to ensure jobs are processed closest to the configured times

      • Priority 1-99 can be used without schedules for edge cases requiring a higher priority than standard periodic scheduling

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    Error Response (Invalid Time Format):

    Error Response (Limit Reached):


    hashtag
    Get Scheduling Configuration

    hashtag
    Endpoint

    hashtag
    Description

    Retrieves the scheduling configuration for a specific data source.

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    Error Response (Not Found):


    hashtag
    List Scheduling Configurations

    hashtag
    Endpoint

    hashtag
    Description

    Returns all scheduling configurations across all data sources in your organization.

    hashtag
    Query Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:


    hashtag
    Delete Scheduling Configuration

    hashtag
    Endpoint

    hashtag
    Description

    Removes the scheduling configuration for a specific data source. The data source will revert to standard scheduling behavior.

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:


    hashtag
    Related APIs

    • - Get data source IDs for configuration

    • - View data source details and status

    • - Automated identity lifecycle workflows

    Update Data Source

    Update the name for a given data source ID

    hashtag
    Endpoint

    PUT /api/v1/providers/datasources/{id}

    hashtag
    Description

    Update the name for a given data source ID. This endpoint allows you to modify the display name of an existing data source.

    hashtag
    API Reference

    hashtag
    Path Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Body

    Field
    Type
    Required?
    Description

    hashtag
    Request Examples

    hashtag
    Response Examples

    Standard Response:

    List enrichment rules

    Returns all enrichment rules configured in the tenant.

    hashtag
    Query parameters

    Parameter
    Description

    hashtag
    Sample request

    hashtag
    Sample response

    Batch set owners

    Assign, add, or remove owners across multiple entities in a single request

    Endpoint: POST {veza_url}/api/v1/batch_set_owners Authentication: Bearer token (admin, operator, or nhi_security_admin role)

    Assigns, adds, or removes owners across multiple entities in a single bulk operation. Unlike the private owners API, this endpoint queries existing owner state internally — callers do not need to fetch current ownership before making changes.

    Owner updates are applied asynchronously and typically reflect within a few seconds.


    List available owners
    Batch set owners
    Required

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional

    ID of the enrichment rule.

    namestringOptional

    Name of the enrichment rule.

    descriptionstringOptional

    Description of the enrichment rule.

    activebooleanOptional

    Whether the rule will be executed.

    provider_idsstring[]Optional

    Provider IDs for which the rule will be executed.

    entity_typestringOptional

    Entity type on which the rule will be executed.

    property_namestringOptional

    Property name whose value will be changed by enrichment.

    property_valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    node_idsstring[]Optional

    Static list of entity IDs for which the property-value should be applied. Not recommended: use query_id to target entities dynamically instead. Limitation: does not work with ENRICHED_OWNERS or VEZA_TAGS enrichment types.

    query_idstringOptional

    The query that is executed to obtain a list of entity IDs of the specified entity type.

    prioritynumber · floatOptional

    The higher the priority, the later the rule runs. A rule running later will overwrite the changes from previous rules. CAVEAT: it is not recommended to have multiple rules of the same priority, as they may run in any order.

    other_node_query_idstringOptional

    If set, this separate query will be executed to find another entity that is related to the enriched entity, and the properties of the other entity can be referenced in the value for enriched_owners.

    chevron-right
    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/v1/enrichment/rules/{id}

    /api/private/providers/datasources/scheduling_configs

    List all scheduling configurations

    DELETE

    /api/private/providers/datasources/{datasource_id}/scheduling_config

    Remove scheduling configuration

    IANA timezone (e.g., America/New_York). Required if scheduled_extraction_times or scheduled_days_of_week are provided

    scheduled_extraction_times

    array[string]

    Optional

    Extraction times in HH:MM:SS format. Minutes must be :00 or :30, seconds must be :00. Times must be at least 1 hour apart

    scheduled_days_of_week

    array[string]

    Optional

    Days when extractions should run: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. Requires scheduled_extraction_times to be set

    Extraction and parsing jobs are picked up in decreasing order of priority, followed by creation timestamp

  • Timezone: Required when either scheduled_extraction_times or scheduled_days_of_week are provided. Must be a valid IANA timezone

  • Extraction times:

    • Must be in HH:MM:SS format

    • Minutes must be :00 or :30 (30-minute intervals only)

    • Seconds must be :00

    • Minimum 1-hour gap between adjacent times

  • Days of the week:

    • Requires scheduled_extraction_times to be non-empty

    • Automatically sorted (Sunday first)

    • Empty array or omitted means all days allowed

  • System limit: A maximum of 100 data sources can have scheduling configurations (limit will be enforced in a future release)

  • POST

    /api/private/providers/datasources/{datasource_id}/scheduling_config

    Create or update scheduling configuration

    GET

    /api/private/providers/datasources/{datasource_id}/scheduling_config

    Get configuration for a specific data source

    datasource_id

    string (UUID)

    Required

    The unique identifier of the data source

    priority

    integer

    Required

    Priority level (1-100). Must be 100 when scheduled_extraction_times are configured

    timezone

    string

    datasource_id

    string (UUID)

    Required

    The unique identifier of the data source

    datasource_type

    string

    Optional

    Filter by datasource type: EXTRACTOR, DISCOVERER, or PARSER

    datasource_id

    string (UUID)

    Required

    The unique identifier of the data source

    List Data Sources
    Get Data Source
    Lifecycle Management APIs

    GET

    Conditional

    GET /api/v1/enrichment/rules/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "name": "text",
        "description": "text",
        "active": true,
        "provider_ids": [
          "text"
        ],
        "entity_type": "text",
        "property_name": "text",
        "property_value": null,
        "node_ids": [
          "text"
        ],
        "query_id": "text",
        "priority": 1,
        "other_node_query_id": "text"
      }
    }
    {
      "values": [
        {
          "provider_name": "text",
          "properties": [
            {
              "name": "text",
              "description": "text",
              "type": 1,
              "optional": true,
              "secret": true,
              "internal": true,
              "oauth2_redirect_required": true,
              "vault_sourced": true,
              "enum_values": [
                {
                  "value": "text",
                  "label": "text"
                }
              ],
              "lifecycle_management_only": true,
              "condition_field": "text",
              "condition_value": "text",
              "clear_when_condition_not_met": true,
              "write_once": true
            }
          ],
          "icon": "text",
          "icon_mime_type": "text",
          "custom_templates": [
            "text"
          ],
          "provider_categories": [
            1
          ],
          "documentation_url": "text",
          "lifecycle_management_supported": true,
          "created_at": "2026-04-23T05:20:41.722Z"
        }
      ]
    }
    GET /api/v1/providers/custom/configurations HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    # Configure Workday to extract weekdays at 6 AM Eastern
    curl -X POST "$BASE_URL/api/private/providers/datasources/{workday_datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "priority": 100,
        "timezone": "America/New_York",
        "scheduled_extraction_times": ["06:00:00"],
        "scheduled_days_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
      }'
    curl -X POST "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "priority": 100,
        "timezone": "America/Los_Angeles",
        "scheduled_extraction_times": ["00:00:00", "12:00:00"],
        "scheduled_days_of_week": ["SATURDAY", "SUNDAY"]
      }'
    POST /api/private/providers/datasources/{datasource_id}/scheduling_config
    curl -X POST "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "priority": 100,
        "timezone": "America/New_York",
        "scheduled_extraction_times": ["09:00:00", "13:30:00", "18:30:00"],
        "scheduled_days_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
      }'
    curl -X POST "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "priority": 100
      }'
    curl -X POST "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "priority": 100,
        "timezone": "America/Los_Angeles",
        "scheduled_extraction_times": ["09:00:00", "21:00:00"],
        "scheduled_days_of_week": ["SATURDAY", "SUNDAY"]
      }'
    {
      "value": {
        "datasource_id": "019a0f2b-53cd-7c5d-904f-bf2588b876d5",
        "priority": "100",
        "datasource_name": "AWS S3 (527398259632)",
        "datasource_type": "EXTRACTOR",
        "timezone": "America/New_York",
        "scheduled_extraction_times": ["09:00:00", "13:30:00", "18:30:00"],
        "created_at": "2025-10-28T02:34:27.794138246Z",
        "updated_at": "2025-10-31T19:42:43.705828675Z",
        "scheduled_days_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
      }
    }
    {
      "code": "INVALID_ARGUMENT",
      "message": "invalid time format '09:15:00': only 00 and 30 minutes of the hour are supported",
      "details": []
    }
    {
      "code": "INVALID_ARGUMENT",
      "message": "Cannot create scheduling configuration. Limit of 100 configurations is reached.",
      "details": []
    }
    GET /api/private/providers/datasources/{datasource_id}/scheduling_config
    curl -X GET "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "value": {
        "datasource_id": "0199827a-402d-7554-af7b-cb3489b68402",
        "priority": "100",
        "datasource_name": "AWS IAM Volatile (527398259632)",
        "datasource_type": "EXTRACTOR",
        "timezone": "America/New_York",
        "scheduled_extraction_times": ["09:00:00", "13:30:00", "18:30:00"],
        "created_at": "2025-10-10T12:52:11.659562336Z",
        "updated_at": "2025-10-10T12:52:11.659562336Z",
        "scheduled_days_of_week": ["MONDAY", "WEDNESDAY", "FRIDAY"]
      }
    }
    {
      "code": "NOT_FOUND",
      "message": "datasource_scheduling_config not found",
      "details": []
    }
    GET /api/private/providers/datasources/scheduling_configs
    curl -X GET "$BASE_URL/api/private/providers/datasources/scheduling_configs" \
      -H "authorization: Bearer $VEZA_TOKEN"
    curl -X GET "$BASE_URL/api/private/providers/datasources/scheduling_configs?datasource_type=EXTRACTOR" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "values": [
        {
          "datasource_id": "0199827a-3d32-7342-9ccd-2f928ccc6855",
          "priority": "100",
          "datasource_name": "AWS Cognito (527398259632)",
          "datasource_type": "EXTRACTOR",
          "timezone": "America/New_York",
          "scheduled_extraction_times": ["00:00:00", "01:30:00", "03:00:00"],
          "created_at": "1970-01-01T00:00:01.758832260Z",
          "updated_at": "1970-01-01T00:00:01.758832260Z",
          "scheduled_days_of_week": ["MONDAY", "WEDNESDAY", "FRIDAY"]
        },
        {
          "datasource_id": "0199827a-402d-7554-af7b-cb3489b68402",
          "priority": "100",
          "datasource_name": "AWS IAM Volatile (527398259632)",
          "datasource_type": "EXTRACTOR",
          "timezone": "America/New_York",
          "scheduled_extraction_times": ["09:00:00", "13:30:00", "18:30:00"],
          "created_at": "2025-10-10T12:52:11.659562336Z",
          "updated_at": "2025-10-10T12:52:11.659562336Z",
          "scheduled_days_of_week": []
        }
      ]
    }
    DELETE /api/private/providers/datasources/{datasource_id}/scheduling_config
    curl -X DELETE "$BASE_URL/api/private/providers/datasources/{datasource_id}/scheduling_config" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {}
    Authorization
    string
    Required

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

    Body
    provider_idsstring[]OptionalDeprecated

    No longer used. The provider compatibility is validated only when creating or updating enrichment rules.

    entity_typestringOptional

    Queries returned should have source_type compatible with the entity_type specified here.

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional

    ID of the assessment query.

    namestringOptional

    Name of the assessment query.

    chevron-right
    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/v1/enrichment/rules/queries
    POST /api/v1/enrichment/rules/queries HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 22
    
    {
      "entity_type": "text"
    }
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Query parameters
    forcebooleanOptionalDeprecated

    No longer used. Deletion is always forced.

    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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/v1/enrichment/rules/{id}
    DELETE /api/v1/enrichment/rules/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    AuthorizationstringRequired

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

    Query parameters
    filterstringOptional
    order_bystringOptional
    page_sizeinteger · int32Optional

    The maximum number of results to be returned. Fewer results may be returned even when more pages exist.

    page_tokenstringOptional

    The token specifying the specific page of results to retrieve.

    Responses
    chevron-right
    200

    OK

    application/json

    Paginated list of custom (OAA) providers.

    idstringOptional

    Unique identifier for the provider instance.

    external_idstringOptional

    External identifier for the provider, typically set by the integration that created it.

    namestringOptional

    Display name of the provider.

    custom_templatestringOptional

    The OAA template type used to create this provider (e.g., "application", "idp").

    custom_templatesstring[]Optional

    List of OAA template types associated with this provider instance (e.g., "application", "idp", "hris").

    stateinteger · enumOptional

    Current provider state.

    application_typesstring[]Optional

    Application type classifications for this provider.

    resource_typesstring[]OptionalDeprecated

    Deprecated. Resource type classifications. Use application_types, idp_types, hris_types, or file_system_types instead.

    idp_typesstring[]Optional

    Identity provider type classifications (if this provider represents an IdP).

    file_system_typesstring[]Optional

    File system type classifications (if this provider represents a file system).

    hris_typesstring[]Optional

    HRIS system type classifications (if this provider represents an HR system).

    principal_typesstring[]Optional

    Principal (identity) type classifications for this provider.

    secret_store_typesstring[]Optional
    schema_definition_jsonstring · bytesOptional
    provisioningbooleanOptional

    Whether provisioning (write-back) operations are enabled for this provider.

    push_typeinteger · enumOptional
    rbac_idstringOptional
    internal_app_namestringOptional
    configuration_jsonstringOptional

    JSON string containing the provider's connection configuration parameters.

    data_plane_idstringOptional

    Identifier of the data plane that runs this provider's extraction. Empty for cloud-hosted extraction.

    lifecycle_management_stateinteger · enumOptional

    Current lifecycle management state for this provider (enum). Indicates whether provisioning and deprovisioning workflows are active.

    team_idstringOptional

    Identifier of the team that owns this provider instance.

    template_typestringOptional
    column_namestringOptional
    destination_typestringOptional
    destination_propertystringOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    as_listbooleanOptional
    templatestringOptional
    property_typeinteger · enumOptional
    is_requiredbooleanOptional
    application_namestringOptional
    application_typestringOptional
    identitystring[]Optional
    resource_typestringOptional
    okta_app_idstringOptional
    list_delimiterstringOptional
    idp_typestringOptional
    domainstringOptional
    hris_namestringOptional
    hris_typestringOptional
    hris_urlstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    hris_provisioning_sourcebooleanOptional
    cmdb_instance_namestringOptional
    cmdb_instance_typestringOptional
    owner_id_column_namestringOptional
    asset_id_column_namestringOptional
    asset_type_column_namestringOptional
    owner_node_typestringOptional
    owner_id_propertystringOptional
    asset_type_valuestringOptional
    asset_node_typestringOptional
    asset_property_namestringOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    external_lifecycle_management_typeinteger · enumOptional

    For external OAA, how to manage lifecycle management requests

    cmdb_typesstring[]Optional
    next_page_tokenstringOptional

    Token to retrieve the next page of results. Empty when no more pages exist.

    has_morebooleanOptional

    If true, additional pages of results are available.

    chevron-right
    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/v1/providers/custom
    GET /api/v1/providers/custom HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Body
    idstringOptional

    ID of the enrichment rule to be enabled or disabled.

    activebooleanOptional

    The new active state. If true, the rule will be executed.

    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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/v1/enrichment/rules/{id}:toggle
    PUT /api/v1/enrichment/rules/{id}:toggle HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 27
    
    {
      "id": "text",
      "active": true
    }
    hashtag
    Minimal Working Example

    Assign one owner to one entity:

    A 200 OK with an empty body indicates success.


    hashtag
    Request Structure

    hashtag
    Top-Level

    Field
    Type
    Required
    Description

    batches

    array of Batch

    Yes

    One or more batches of entity updates. All batches are validated before any are applied. Maximum 1,000 total entities and 1,000 unique owners across all batches.

    hashtag
    Batch Object

    Each batch targets a set of entities of the same type and applies the same owner operation to all of them.

    Field
    Type
    Required
    Description

    entity_type

    string

    Yes

    Type of the entities in this batch (e.g., AwsIamUser). All entities must be the same type.

    entity_ids

    array of string

    hashtag
    OwnersAssignment Object

    Field
    Type
    Description

    owners

    array of Owner

    The owners for this assignment. An empty array assigns with no owners (clears existing). To skip the operation entirely, omit the parent field instead of passing an empty assignment.

    hashtag
    Owner Object

    Field
    Type
    Required
    Description

    entity_id

    string

    Conditional

    Veza internal owner ID. Use this or external_id, not both.

    external_id

    string


    hashtag
    Update Strategies

    The four owner operation fields interact in a defined precedence order. All operations in a batch are applied together to each entity:

    Strategy
    Field
    Precedence
    Effect

    Assign

    assigned_owners

    1st

    Replaces all manually-assigned owners. Does not un-remove permanently-removed owners.

    Add

    added_owners

    Note on permanently removed owners: When an owner is added to the permanently-removed list (via removed_owners_incremental or removed_owners_update), they will not reappear even if an enrichment rule or assigned_owners would otherwise include them — unless added_owners explicitly un-removes them.


    hashtag
    Common Use Cases

    hashtag
    1. Assign owners to many entities at once

    Use assigned_owners to set a definitive owner list across many entities. Existing manually-assigned owners are replaced; enrichment-sourced owners are unaffected.

    hashtag
    2. Add owners without clearing existing

    Use added_owners to append owners without disturbing what's already there.

    hashtag
    3. Permanently block an enriched owner from returning

    Use removed_owners_incremental to prevent a specific owner from being re-added by enrichment rules on the next sync.

    hashtag
    4. Mixed batch across entity types

    Target different entity types in separate batches within a single request.


    hashtag
    Limits

    Constraint
    Limit

    Total entities across all batches

    1,000

    Unique owners across all batches

    1,000


    hashtag
    Common Errors

    400: Unknown or unprovisioned entity_type

    The owner's entity_type is not a known node type in the graph — the integration may not be provisioned, or the type string is incorrect.

    Fix: Verify the integration for that owner type is provisioned in Veza. Check the exact entity_type string via Graph Search or GET /api/v1/providers/custom.

    400: Owner type not allowed as an owner

    The entity_type provided is a resource type (e.g., AwsS3Bucket), not a user or identity type.

    Fix: Use an identity provider user type. See Owner Type Reference.

    400: Owner not found

    The external_id value doesn't match any entity in Veza. Verify the owner exists in your IdP integration and that you're using an IdP-backed user type (not an OAA HRIS employee).


    hashtag
    Owner Type Reference

    Native identity providers:

    Identity Provider

    entity_type

    Okta

    OktaUser

    Azure AD

    AzureADUser

    Active Directory

    ActiveDirectoryUser

    OAA custom providers:

    OAA Template

    entity_type

    Custom IdP (identity_provider)

    OAA.{idp_type}.IDPUser

    HRIS (hris)

    OAA.{hris_type}.HRISEmployee

    The {idp_type} and {hris_type} values come from the idp_type or hris_type field in your OAA payload.

    OAA HRIS employees: external_id is not supported for HRIS employee types. Use entity_id instead.

    Finding your custom type:

    • UI: Access Visibility → Graph → search for a user → View Details → copy the entity_type

    • API: GET /api/v1/providers/custom


    hashtag
    Verification

    After the API returns, verify ownership changes via:

    1. Graph Search: Access Visibility → Graph → find entity → Entity Owners section

    2. Query Builder (VQL):

      SHOW AwsIamUser
      WHERE entity_id = "your-entity-id"
    3. NHI Dashboard: NHI Security → Accounts → Entity Owner column

    curl -X POST "https://your-tenant.veza.com/api/v1/batch_set_owners" \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "batches": [
          {
            "entity_type": "AwsIamUser",
            "entity_ids": ["aws-iam-user-abc123"],
            "assigned_owners": {
              "owners": [
                {
                  "entity_id": "okta-user-xyz789",
                  "entity_type": "OktaUser"
                }
              ]
            }
          }
        ]
      }'
    {
      "batches": [
        {
          "entity_type": "AwsS3Bucket",
          "entity_ids": ["bucket-1", "bucket-2", "bucket-3"],
          "assigned_owners": {
            "owners": [{"entity_id": "okta-user-xyz", "entity_type": "OktaUser"}]
          }
        }
      ]
    }
    {
      "batches": [
        {
          "entity_type": "VirtualMachine",
          "entity_ids": ["vm-abc"],
          "added_owners": [
            {"external_id": "[email protected]", "entity_type": "OktaUser"}
          ]
        }
      ]
    }
    {
      "batches": [
        {
          "entity_type": "AwsIamRole",
          "entity_ids": ["role-xyz"],
          "removed_owners_incremental": [
            {"entity_id": "okta-user-former", "entity_type": "OktaUser"}
          ]
        }
      ]
    }
    {
      "batches": [
        {
          "entity_type": "AwsIamUser",
          "entity_ids": ["iam-user-1", "iam-user-2"],
          "assigned_owners": {
            "owners": [{"entity_id": "okta-user-xyz", "entity_type": "OktaUser"}]
          }
        },
        {
          "entity_type": "GithubRepo",
          "entity_ids": ["repo-abc"],
          "added_owners": [
            {"external_id": "[email protected]", "entity_type": "OktaUser"}
          ]
        }
      ]
    }
    {
      "code": "InvalidArgument",
      "message": "Invalid Arguments",
      "details": [{"field_violations": [{"field": "types", "description": "Must supply at least one valid type"}]}]
    }
    {
      "code": "InvalidArgument",
      "details": [{"field_violations": [{"field": "entity_type", "description": "issue with entity {external_id}: owner not of an allowed type"}]}]
    }
    put
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Body
    idstringOptional
    namestringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    valueobjectOptional
    chevron-right
    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

    id

    string

    Required

    The data source ID

    name

    string

    Optional

    New name for the data source

    curl -X PUT "$BASE_URL/api/v1/providers/datasources/6961b032-3fd7-4baa-a230-146d1b70ec27" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      --data-raw '{
        "name": "AWS EC2 Production Environment"
      }'
    {
      "value": {
        "id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
        "name": "AWS EC2 Production Environment",
        "datasource_type": "EXTRACTOR",
        "agent_type": "AWS_EC2",
        "status": "SUCCESS",
        "provider_id": "cd0cf102-e86c-4599-9cbe-64d2c6b83236",
        "path": "AWS/ec2",
        "state": "ENABLED",
        "effective_state": "ENABLED",
        "datasource_config": null,
        "created_at": "2021-10-26T07:10:38Z",
        "updated_at": "2024-01-15T10:30:45Z",
        "synced_at": "2022-01-13T20:53:23Z",
        "parsed_at": "2022-01-13T20:53:29Z"
      }
    }

    include_inactive_rules

    When true, includes disabled rules in the response. Default: false.

    filter

    SCIM filter expression. Example: property_name eq "enriched_owners".

    order_by

    Sort order for results.

    page_size / page_token

    Pagination controls.

    curl "$BASE_URL/api/v1/enrichment/rules?page_size=3" \
      -H "Authorization: Bearer $VEZA_TOKEN"
    {
      "values": [
        {
          "id": "019c4441-62c3-78f6-9dad-2b29b9b7ffee",
          "name": "AWS NHIs by property",
          "active": true,
          "provider_ids": ["5443ea52-9dba-435e-8c6a-9035cc513bfa"],
          "entity_type": "AwsIamUser",
          "property_name": "enriched_owners",
          "property_value": "{\"property_names_in_template\":[\"id\"],\"owners\":[{\"entity_id\":\"{{id}}\",\"entity_type\":\"OktaUser\"}]}",
          "node_ids": [],
          "query_id": "0198d3ff-b2f7-7b05-b3d3-14b3cfc35858",
          "priority": 6
        }
      ],
      "next_page_token": "<token>",
      "has_more": true
    }

    hashtag
    List enrichment rules

    get

    Returns all enrichment rules configured in the tenant. Enrichment rules automatically classify and tag entities in the Veza Authorization Graph based on saved query conditions. Use include_inactive_rules=true to include disabled rules in the response. Supports filter and order_by parameters for result filtering.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    include_inactive_rulesbooleanOptional
    filterstringOptional
    order_bystringOptional
    page_sizestringOptional
    page_tokenstringOptional
    Responses
    chevron-right
    200

    OK

    application/json

    Paginated list of enrichment rules. Use page_token from the response to fetch subsequent pages when the total count exceeds page_size.

    idstringOptional

    ID of the enrichment rule.

    namestringOptional

    Name of the enrichment rule.

    descriptionstringOptional

    Description of the enrichment rule.

    activebooleanOptional

    Whether the rule will be executed.

    provider_idsstring[]Optional

    Provider IDs for which the rule will be executed.

    entity_typestringOptional

    Entity type on which the rule will be executed.

    property_namestringOptional

    Property name whose value will be changed by enrichment.

    property_valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    node_idsstring[]Optional

    Static list of entity IDs for which the property-value should be applied. Not recommended: use query_id to target entities dynamically instead. Limitation: does not work with ENRICHED_OWNERS or VEZA_TAGS enrichment types.

    query_idstringOptional

    The query that is executed to obtain a list of entity IDs of the specified entity type.

    prioritynumber · floatOptional

    The higher the priority, the later the rule runs. A rule running later will overwrite the changes from previous rules. CAVEAT: it is not recommended to have multiple rules of the same priority, as they may run in any order.

    other_node_query_idstringOptional

    If set, this separate query will be executed to find another entity that is related to the enriched entity, and the properties of the other entity can be referenced in the value for enriched_owners.

    next_page_tokenstringOptional

    The pagination token to retrieve the next page of results.

    has_morebooleanOptional

    If true, more results are available.

    chevron-right
    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/v1/enrichment/rules
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    statusstringOptional
    chevron-right
    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/v1/providers/datasources/{id}/parse_status
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    valueobjectOptional
    chevron-right
    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/v1/providers/datasources/{id}
    put
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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/v1/providers/datasources/{id}:disable
    put
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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/v1/providers/datasources/{id}:enable
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    statusstringOptional
    chevron-right
    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/v1/providers/datasources/{id}/sync_status

    Enrichment Rules API

    API reference for managing Veza enrichment rules

    Manage enrichment rules using the Veza API. Enrichment rules automatically classify and tag entities in the Veza Authorization Graph based on saved query conditions.

    Supported rule types (set via enriched_property):

    enriched_property

    Rule type

    Effect

    IDENTITY_TYPE

    Before creating a rule, save the target query using the or the Veza UI.

    hashtag
    Endpoints

    Operation
    Method
    Path

    List Data Sources

    Retrieve all data sources with optional filtering and pagination

    hashtag
    Endpoint

    GET /api/v1/providers/datasources

    hashtag
    Description

    Returns the properties and status for all data sources. When filtering is applied, only data sources matching the filter will be returned.

    Data sources represent discrete instances of services that Veza connects to for discovery and extraction of authorization metadata. Each cloud provider may have one or more associated data sources.

    hashtag
    API Reference

    hashtag
    Query Parameters

    Parameter
    Type
    Required?
    Description

    hashtag
    Request Examples

    circle-info

    Veza expects spaces in URLs encoded as + (?datasource_type+eq+"extractor"). Some libraries encode spaces as %2B by default, which will cause errors.

    hashtag
    Response Examples

    Standard Response:

    Data Sources

    Operations for managing data sources including listing, updating, enabling, disabling, and status monitoring

    Each cloud provider will have one or more associated data sources. Each represents a discrete instance of a service that Veza connects to for the discovery and extraction of authorization metadata.

    The provider under /providers/aws/{id}, for example, may have an associated EC2 data source, represented as:

    {
      "id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
      "name": "AWS EC2 (527398259632)",
      "datasource_type": "EXTRACTOR",
      "agent_type": "AWS_EC2",
      "status": "SUCCESS",
      "provider_id": "cd0cf102-e86c-4599-9cbe-64d2c6b83236",
      "path": "AWS/ec2",
      "state": "ENABLED",
      "effective_state": "ENABLED",
      "datasource_config": null,
      "created_at": "2021-10-26T07:10:38Z",
      "updated_at": "2021-10-26T07:10:38Z",
      "sync_start": "2022-01-13T20:53:20Z",
      "sync_end": "2022-01-13T20:53:23Z",
      "sync_start_success": "2022-01-13T20:53:20Z",
      "sync_end_success": "2022-01-13T20:53:23Z",
      "parse_start": "2022-01-13T20:53:24Z",
      "parse_end": "2022-01-13T20:53:29Z",
      "parse_start_success": "2022-01-13T20:53:24Z",
      "parse_end_success": "2022-01-13T20:53:29Z"
    }

    You can use the API to get or update data source records, or enable and disable individual data sources.

    circle-exclamation

    Disabling a data source will cancel all pending extractions.

    hashtag
    Available Endpoints

    hashtag
    Core Data Source Operations

    hashtag
    Lifecycle Management Operations

    hashtag
    Status and Monitoring

    hashtag
    Related APIs

    For working with custom applications and Open Authorization API (OAA), see:

    List by Action Type

    Find lifecycle management datasources that support specific action types and entity relationships

    hashtag
    Endpoint

    hashtag
    Description

    Returns filtered by their supported action types, entity types, and relationship types. This endpoint helps you find datasources that can perform specific lifecycle management operations.

    List available owners

    Returns paginated active IdP users that can be assigned as entity owners

    Endpoint: POST {veza_url}/api/v1/list_available_owners Authentication: Bearer token (admin, operator, or nhi_security_admin role)

    Returns a paginated list of active IdP users that are eligible to be assigned as entity owners. Use this endpoint to populate an owner picker before calling .


    Yes

    Veza entity IDs to update. All entities in the batch receive the same owner operation.

    assigned_owners

    OwnersAssignment

    No

    Owners to assign. Replaces the entity's manually-assigned owners. Permanently removed owners are not re-added even if listed here. Omit (not empty) to skip.

    added_owners

    array of Owner

    No

    Owners to add. Applied after assigned_owners. Un-removes any owner that was previously permanently removed.

    removed_owners_incremental

    array of Owner

    No

    Owners to permanently remove from the entity regardless of source. Applied after assigned_owners and added_owners. Appended to any existing permanently-removed list.

    removed_owners_update

    OwnersAssignment

    No

    Owners to permanently remove. Replaces the existing permanently-removed list (overrides removed_owners_incremental). Omit (not empty) to skip.

    Conditional

    External identifier (e.g., email). Matched against the idp_unique_id property. Works for native IdP users and OAA IdP users. Not supported for OAA HRIS employees — use entity_id instead.

    entity_type

    string

    Yes*

    Owner entity type (e.g., OktaUser). *Optional if a global IdP is configured.

    2nd

    Appends owners. If an owner was permanently removed, this un-removes them.

    Remove (incremental)

    removed_owners_incremental

    3rd

    Permanently removes owners regardless of source. Appended to any existing permanently-removed list.

    Remove (replace)

    removed_owners_update

    4th

    Permanently removes owners. Replaces the entire permanently-removed list. Overrides removed_owners_incremental if both are set.

    Ping Identity

    PingOneUser

    OneLogin

    OneLoginUser

    AWS IAM Identity Center

    AwsSsoUser

    Google Workspace

    GoogleWorkspaceUser

    Open Authorization API
    OAA Operations

    List Data Sources

    Retrieve all data sources with filtering and pagination

    Get Data Source

    Retrieve details for a specific data source

    Update Data Source

    Update the name for a data source

    Disable Data Source

    Pause discovery and extraction for a data source

    Enable Data Source

    Resume monitoring and queue for extraction

    List Lifecycle Manager Datasources

    List datasources with lifecycle management capabilities

    Get Lifecycle Manager Datasource

    Get details for a specific lifecycle manager datasource

    List by Action Type

    Find datasources that support specific action types

    Get Parse Status

    Retrieve parsing status and details

    Get Sync Status

    Retrieve synchronization status and details

    {
      "queries": [
        {
          "id": "text",
          "name": "text"
        }
      ]
    }
    {}
    {
      "values": [
        {
          "id": "text",
          "external_id": "text",
          "name": "text",
          "custom_template": "text",
          "custom_templates": [
            "text"
          ],
          "state": 1,
          "application_types": [
            "text"
          ],
          "idp_types": [
            "text"
          ],
          "file_system_types": [
            "text"
          ],
          "hris_types": [
            "text"
          ],
          "principal_types": [
            "text"
          ],
          "secret_store_types": [
            "text"
          ],
          "schema_definition_json": "text",
          "provisioning": true,
          "push_type": 1,
          "rbac_id": "text",
          "internal_app_name": "text",
          "configuration_json": "text",
          "data_plane_id": "text",
          "lifecycle_management_state": 1,
          "team_id": "text",
          "csv_mapping_configuration": {
            "template_type": "text",
            "column_mappings": [
              {
                "column_name": "text",
                "destination_type": "text",
                "destination_property": "text",
                "custom_property": {
                  "name": "text",
                  "type": 1,
                  "lcm_unique_identifier": true
                },
                "as_list": true,
                "template": "text",
                "property_type": 1,
                "is_required": true
              }
            ],
            "application": {
              "application_name": "text",
              "application_type": "text",
              "identity": [
                "text"
              ],
              "resource_type": "text",
              "okta_app_id": "text"
            },
            "advanced": {
              "list_delimiter": "text"
            },
            "idp": {
              "idp_type": "text",
              "domain": "text"
            },
            "hris": {
              "hris_name": "text",
              "hris_type": "text",
              "hris_url": "text",
              "hris_identity_mapping": {
                "mappings": [
                  {
                    "destination_datasource_type": "text",
                    "destination_datasource_oaa_app_type": "text",
                    "type": 1,
                    "mode": 1,
                    "transformations": [
                      1
                    ],
                    "custom_value": "text",
                    "property_matchers": [
                      {
                        "source_property": 1,
                        "destination_property": 1,
                        "custom_source_property": "text",
                        "custom_destination_property": "text"
                      }
                    ],
                    "id_matchers": [
                      {
                        "source_id": "text",
                        "destination_id": "text"
                      }
                    ],
                    "destination_datasources": [
                      {
                        "type": "text",
                        "oaa_app_type": "text"
                      }
                    ]
                  }
                ],
                "use_email": true
              },
              "hris_provisioning_source": true
            },
            "cmdb": {
              "cmdb_instance_name": "text",
              "cmdb_instance_type": "text",
              "csc_global_config": {
                "owner_id_column_name": "text",
                "asset_id_column_name": "text",
                "asset_type_column_name": "text",
                "owner_node_type": "text",
                "owner_id_property": "text",
                "asset_connections": [
                  {
                    "asset_type_value": "text",
                    "asset_node_type": "text",
                    "asset_property_name": "text"
                  }
                ]
              }
            }
          },
          "secret_references": [
            {
              "id": "text",
              "secret_id": "text",
              "vault_id": "text",
              "vault": {
                "id": "text",
                "name": "text",
                "vault_provider": "text",
                "insight_point_id": "text",
                "deleted": true
              }
            }
          ],
          "external_lifecycle_management_type": 1,
          "cmdb_types": [
            "text"
          ]
        }
      ],
      "next_page_token": "text",
      "has_more": true
    }
    {}
    GET /api/v1/providers/datasources/{id}/parse_status HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "job_status": {
        "id": "text",
        "status": "text"
      }
    }
    GET /api/v1/providers/datasources/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {}
    }
    PUT /api/v1/providers/datasources/{id}:disable HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    PUT /api/v1/providers/datasources/{id}:enable HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    GET /api/v1/providers/datasources/{id}/sync_status HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "job_status": {
        "id": "text",
        "status": "text"
      }
    }
    {
      "values": [
        {
          "id": "text",
          "name": "text",
          "description": "text",
          "active": true,
          "provider_ids": [
            "text"
          ],
          "entity_type": "text",
          "property_name": "text",
          "property_value": null,
          "node_ids": [
            "text"
          ],
          "query_id": "text",
          "priority": 1,
          "other_node_query_id": "text"
        }
      ],
      "next_page_token": "text",
      "has_more": true
    }
    GET /api/v1/enrichment/rules HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    

    GET

    /api/v1/enrichment/rules/{id}

    DELETE

    /api/v1/enrichment/rules/{id}

    PUT

    /api/v1/enrichment/rules/{id}:toggle

    POST

    /api/v1/enrichment/rules/queries

    Non-human identity

    Sets identity_type to HUMAN or NONHUMAN

    IS_PRIVILEGED

    Privileged account

    Sets is_privileged to true

    CRITICALITY_LEVEL

    Critical resource

    Sets criticality_level to LOW, MEDIUM, HIGH, or CRITICAL

    ENRICHED_OWNERS

    Entity owner

    Assigns ownership (static or from entity properties)

    VEZA_TAGS

    Veza tag

    Adds or removes tags on matched entities

    List enrichment rules

    GET

    /api/v1/enrichment/rules

    Create enrichment rule

    POST

    /api/v1/enrichment/rules

    Query Builder API

    Sort results by: name, agent_type, status, state, provider_id, data_provider_id, or datasource_type

    page_size

    integer

    Optional

    The maximum number of results to return. Fewer results may be returned even when more pages exist

    page_token

    string

    Optional

    The token specifying the specific page of results to retrieve

    get
    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    filterstringOptional

    When specified, only data sources matching the filter will be returned. Valid attributes: datasource_type Valid operators: EQ E.g. 'datasource_type eq "extractor"'

    order_bystringOptional
    page_sizeinteger · int32Optional

    The maximum number of results to be returned. Fewer results may be returned even when more pages exist.

    page_tokenstringOptional

    The token specifying the specific page of results to retrieve.

    filter

    string

    Optional

    When present, only returns data sources matching the filter. Available options: name, agent_type, status, state, provider_id, data_provider_id, datasource_type

    order_by

    string

    curl -X GET "$BASE_URL/api/v1/providers/datasources" \
      -H "authorization: Bearer $VEZA_TOKEN"
    curl -X GET "$BASE_URL/api/v1/providers/datasources?filter=status+eq+\"SUCCESS\"" \
      -H "authorization: Bearer $VEZA_TOKEN"
    curl -X GET "$BASE_URL/api/v1/providers/datasources?page_size=10&order_by=name" \
      -H "authorization: Bearer $VEZA_TOKEN"
    {
      "values": [
        {
          "id": "6961b032-3fd7-4baa-a230-146d1b70ec27",
          "name": "AWS EC2 (527398259632)",
          "datasource_type": "EXTRACTOR",
          "agent_type": "AWS_EC2",
          "status": "SUCCESS",
          "provider_id": "cd0cf102-e86c-4599-9cbe-64d2c6b83236",
          "path": "AWS/ec2",
          "state": "ENABLED",
          "effective_state": "ENABLED",
          "created_at": "2021-10-26T07:10:38Z",
          "updated_at": "2021-10-26T07:10:38Z",
          "synced_at": "2022-01-13T20:53:23Z",
          "parsed_at": "2022-01-13T20:53:29Z"
        }
      ],
      "next_page_token": "ec67g",
      "has_more": false
    }

    Optional

    put
    /api/v1/providers/datasources/{id}
    PUT /api/v1/providers/datasources/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 27
    
    {
      "id": "text",
      "name": "text"
    }

    hashtag
    API Reference

    hashtag
    Query Parameters

    Parameter
    Type
    Required?
    Description

    action_type

    integer

    Optional

    Filter by specific LCM action type. See below. See for details.

    entity_type

    string

    hashtag
    Action Type Values

    Value
    Name

    0

    NONE

    1

    SYNC_IDENTITIES

    2

    MANAGE_RELATIONSHIPS

    3

    hashtag
    Request Examples

    # Find datasources that support SYNC_IDENTITIES operations (action_type=1)
    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers:by_action_type?action_type=1" \
      -H "authorization: Bearer $VEZA_TOKEN"
    # Find datasources that can manage User entities
    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers:by_action_type?entity_type=User" \
      -H "authorization: Bearer $VEZA_TOKEN"
    # Find datasources that support SYNC_IDENTITIES operations on Users with MemberOf relationships
    curl -X GET "$BASE_URL/api/v1/providers/datasources/lifecycle_managers:by_action_type?action_type=1&entity_type=User&relationship_type=MemberOf" \
      -H "authorization: Bearer $VEZA_TOKEN"

    hashtag
    Response Examples

    Standard Response:

    GET /api/v1/providers/datasources/lifecycle_managers:by_action_type
    Lifecycle Management datasources
    {
      "values": [
        {
          "id": "549a4b5e-0328-4c87-a19d-ee8a2926d1aa",
          "name": "Workday Integration",
          "provider_type": "WORKDAY",
          "external_id": "https://wd5-impl-services1.workday.com/veza_preview",
          "lifecycle_management_enabled": true,
          "supported_capabilities": [
            "IDENTITY_SOURCE",
            "ACCESS_TARGET"
          ]
        }
      ],
      "has_more": false,
      "next_page_token": ""
    }
    hashtag
    Minimal Working Example

    Response:


    hashtag
    Request Fields

    Field
    Type
    Required
    Description

    search_value

    string

    No

    Search string for filtering owners. Case-insensitive partial match. If omitted, all available owners are returned (paginated).

    search_properties

    array of string


    hashtag
    Response Fields

    Field
    Type
    Description

    owners

    array

    Valid, active owner entities matching the request. Each entry includes entity_id, entity_type, entity_name, and external_id.

    next_page_token

    string

    Pass this value as page_token in the next request to retrieve the following page. Empty when no further pages exist.


    hashtag
    What Counts as "Active"

    Only active IdP users are returned. Active status is evaluated per IdP type:

    IdP type
    Active condition

    AzureADUser

    account_enabled = true

    OktaUser

    status not in PROVISIONED, DEPROVISIONED, STAGED, SUSPENDED

    GoogleWorkspaceUser

    archived = false and suspended = false

    If a global IdP is configured for your tenant, only that IdP's user type is returned. Otherwise, all IdP user entities are returned.


    hashtag
    Pagination Example

    Iterate through all available owners by following next_page_token:

    Stop when has_more is false or next_page_token is empty.


    hashtag
    Common Use Case

    Use list_available_owners to discover valid candidates before assigning owners with Batch Set Owners:

    1. Call list_available_owners with search_value to find a user by name or email

    2. Copy the entity_id and entity_type from the response

    3. Pass them as Owner objects in a batch_set_owners request

    Batch Set Owners
    curl -X POST "https://your-tenant.veza.com/api/v1/list_available_owners" \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "search_value": "alice",
        "page_size": 25
      }'
    {
      "owners": [
        {
          "entity_id": "abc123",
          "entity_type": "OktaUser",
          "entity_name": "Alice Smith",
          "external_id": "[email protected]"
        }
      ],
      "next_page_token": "eyJwYWdlIjoxfQ==",
      "has_more": true
    }
    # First page
    curl -X POST ".../api/v1/list_available_owners" \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -d '{"page_size": 100}'
    
    # Subsequent pages — use next_page_token from prior response
    curl -X POST ".../api/v1/list_available_owners" \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -d '{"page_size": 100, "page_token": "eyJwYWdlIjoxfQ=="}'

    Cloud Platforms and Data Providers

    Operations for listing, adding, and modifying cloud provider configurations

    You can manage Veza integrations using the management API and a Veza admin API key.

    Use these operations to configure and manage cloud platform integrations including AWS, Azure, Google Cloud, Snowflake, SQL Server, and Trino providers. Each provider type has specific configuration requirements and optional parameters for controlling discovery scope.

    hashtag
    Provider Types

    Use the List provider types endpoint to retrieve all provider types available in your tenant, including both Veza-managed integrations and custom OAA provider types.

    hashtag
    Authentication

    You will need an API token with administrator permissions to manage provider configurations. See for details.

    hashtag
    Common Provider Properties

    All provider configurations share these common properties:

    • id (String): Unique identifier for the provider configuration

    • vendor_id (String): Provider-specific identifier (e.g., AWS account ID)

    • name (String): Display name for the provider

    hashtag
    AWS Providers

    hashtag
    AWS Provider Object Schema

    AWS provider configurations include account credentials, regions, and service-specific settings:

    hashtag
    AWS Configuration Fields

    • account_id (String): AWS account ID (12-digit number)

    • credentials_type (String): Authentication method - STATIC, EC2_INSTANCE_PROFILE, or ASSUME_CUSTOMER_ROLE

    hashtag
    AWS Service Discovery Options

    Available service values for the services array:

    • IAM: Identity and Access Management

    • S3: Simple Storage Service

    • RDS: Relational Database Service

    hashtag
    AWS Resource Filtering

    Use allow/deny lists to control which resources are discovered:

    • s3_bucket_allow_list: S3 bucket names to include (supports wildcards)

    • s3_bucket_deny_list: S3 bucket names to exclude

    • rds_database_allow_list: RDS database names to include

    For detailed AWS setup instructions, see .

    hashtag
    AWS API Operations

    hashtag
    List AWS Providers

    hashtag
    Create AWS Provider

    hashtag
    Get AWS Provider

    hashtag
    Update AWS Provider

    hashtag
    Delete AWS Provider

    hashtag
    Get AWS Trust Policy

    hashtag
    Check AWS Policy

    hashtag
    Azure Providers

    hashtag
    Azure Provider Object Schema

    Azure provider configurations include tenant authentication and service settings:

    hashtag
    Azure Configuration Fields

    • tenant_id (String): Azure Active Directory tenant ID

    • client_id (String): Application (client) ID for service principal

    • client_secret (String): Client secret for authentication

    For detailed Azure setup instructions, see .

    hashtag
    Azure API Operations

    hashtag
    List Azure Providers

    hashtag
    Create Azure Provider

    hashtag
    Get Azure Provider

    hashtag
    Update Azure Provider

    hashtag
    Delete Azure Provider

    hashtag
    Google Cloud Providers

    hashtag
    Google Cloud Provider Object Schema

    Google Cloud provider configurations include service account credentials and project settings:

    hashtag
    Google Cloud Configuration Fields

    • credentials_json (String): Service account key JSON

    • customer_id (String): Google Workspace customer ID

    • workspace_email (String): Workspace user email for service account impersonation

    For detailed Google Cloud setup instructions, see .

    hashtag
    Google Cloud API Operations

    hashtag
    List Google Cloud Providers

    hashtag
    Create Google Cloud Provider

    hashtag
    Get Google Cloud Provider

    hashtag
    Update Google Cloud Provider

    hashtag
    Delete Google Cloud Provider

    hashtag
    Snowflake Providers

    hashtag
    Snowflake Provider Object Schema

    Snowflake provider configurations include connection details and database filtering:

    hashtag
    Snowflake Configuration Fields

    • account_locator (String): Snowflake account locator (e.g., "xy12345")

    • region (String): Cloud region for the Snowflake account

    • cloud (String): Cloud provider ("aws", "azure", or "gcp")

    For detailed Snowflake setup instructions, see .

    hashtag
    Snowflake API Operations

    hashtag
    List Snowflake Providers

    hashtag
    Create Snowflake Provider

    hashtag
    Get Snowflake Provider

    hashtag
    Update Snowflake Provider

    hashtag
    Delete Snowflake Provider

    hashtag
    SQL Server Providers

    hashtag
    SQL Server Provider Object Schema

    SQL Server provider configurations include connection details and database filtering:

    hashtag
    SQL Server Configuration Fields

    • host (String): SQL Server hostname or IP address

    • port (Integer): Port number (typically 1433)

    • username (String): SQL Server username

    For detailed SQL Server setup instructions, see .

    hashtag
    SQL Server API Operations

    hashtag
    List SQL Server Providers

    hashtag
    Create SQL Server Provider

    hashtag
    Get SQL Server Provider

    hashtag
    Update SQL Server Provider

    hashtag
    Delete SQL Server Provider

    hashtag
    Trino Providers

    hashtag
    Trino Provider Object Schema

    Trino provider configurations include cluster connection details and S3 access control file settings:

    hashtag
    Trino Configuration Fields

    • host (String): Trino coordinator hostname

    • port (Integer): Trino coordinator port (typically 8080 or 8443)

    • username (String): Trino username

    hashtag
    S3 Object Configuration

    The aws_s3_object_config object contains:

    • access_key (String): AWS access key ID

    • secret_key (String): AWS secret access key

    • region (String): S3 bucket region

    For detailed Trino setup instructions, see .

    hashtag
    Trino API Operations

    hashtag
    List Trino Providers

    hashtag
    Create Trino Provider

    hashtag
    Get Trino Provider

    hashtag
    Update Trino Provider

    hashtag
    Delete Trino Provider

    hashtag
    Error Handling

    All provider API operations return standard HTTP status codes:

    • 200 OK: Request successful

    • 400 Bad Request: Invalid request parameters or payload

    • 401 Unauthorized: Invalid or missing API token

    Error responses include a descriptive message and error code:

    hashtag
    Best Practices

    When managing provider configurations:

    1. Use descriptive names that identify the environment and purpose

    2. Implement least privilege by configuring only necessary services and resources

    3. Use allow lists rather than deny lists when possible for better security

    hashtag
    Related Documentation

    Create enrichment rule

    Creates a new enrichment rule that automatically applies attributes to entities matching a saved query.

    hashtag
    Workflow

    1. Save a query using the Query Builder API or the Veza UI (Access Intelligence > Query Builder).

    2. Copy the query id from the response.

    3. Submit a CreateEnrichmentRule request with the query_id and one rule type field.

    The rule is applied during the next metadata extraction for integrations with entities matching the saved query.

    hashtag
    enriched_property values

    Set enriched_property to define the enrichment behavior:

    hashtag
    Sample request

    hashtag
    Examples for ENRICHED_OWNERS and VEZA_TAGS

    For ENRICHED_OWNERS, use enriched_owners_value instead of property_value. The owners array supports template variables. Use property_names_in_template to declare the entity property containing the owner ID, then reference it as {{property_name}} in the entity_id field:

    For VEZA_TAGS, use tag_updates_value with add_tags and remove_tags arrays. Each tag is a {key, value} pair:

    hashtag
    Notes

    UpdateEnrichmentRule is not exposed via the public API. To replace a rule's configuration, delete and recreate it. To enable or disable a rule, use .

    No

    Properties to search on. Defaults to name and email when search_value is provided but this field is empty.

    page_size

    integer

    No

    Results per page. Defaults to 1000 if unset or 0.

    page_token

    string

    No

    Token from a previous response's next_page_token. Omit to get the first page.

    has_more

    boolean

    true if additional results are available beyond this page.

    All others

    is_active property absent, or is_active = true

    Get enrichment rule
    Delete enrichment rule
    Enable or disable rule
    Get valid queries
    {
      "value": {}
    }

    type (String): Provider type (AWS, AZURE, GOOGLE_CLOUD, etc.)

  • state (String): Current state (ENABLED, DISABLED)

  • data_plane_id (String): Insight Point ID used for discovery

  • status (String): Last discovery status (SUCCESS, PENDING, ERROR)

  • access_key_id (String): Access key ID for static credentials

  • secret_key (String): Secret access key for static credentials

  • assume_role_name (String): IAM role name for assume role authentication

  • assume_role_external_id (String): External ID for assume role authentication

  • regions (Array): List of AWS regions to discover

  • db_user (String): Database username for RDS/Redshift connections

  • services (Array): Specific AWS services to discover (empty array = all services)

  • REDSHIFT: Redshift data warehouses

  • EC2: Elastic Compute Cloud

  • LAMBDA: Lambda functions

  • EKS: Elastic Kubernetes Service

  • COGNITO: Cognito user pools

  • SECRETS_MANAGER: Secrets Manager

  • KMS: Key Management Service

  • DYNAMODB: DynamoDB tables

  • rds_database_deny_list: RDS database names to exclude

  • redshift_database_allow_list: Redshift database ARNs to include

  • redshift_database_deny_list: Redshift database ARNs to exclude

  • auth_certificate (String): Certificate for SharePoint app-only access

  • auth_certificate_password (String): Certificate password

  • services (Array): Azure services to discover

  • gather_guest_users (Boolean): Include guest users in discovery

  • gather_disabled_users (Boolean): Include disabled users

  • gather_personal_sites (Boolean): Include personal SharePoint sites

  • domains (Array): Specific domains to discover

  • project_allow_list (Array): GCP project names to include

  • project_deny_list (Array): GCP project names to exclude

  • domain_allow_list (Array): Workspace domains to include

  • domain_deny_list (Array): Workspace domains to exclude

  • dataset_allow_list (Array): BigQuery dataset names to include

  • dataset_deny_list (Array): BigQuery dataset names to exclude

  • user (String): Snowflake username for authentication

  • password (String): Password for the Snowflake user

  • role (String): Snowflake role to use for queries

  • warehouse (String): Default warehouse for compute

  • database_allow_list (Array): Database names to include

  • database_deny_list (Array): Database names to exclude

  • password (String): Password for authentication

  • database_allow_list (Array): Database names to include

  • database_deny_list (Array): Database names to exclude

  • schema_allow_list (Array): Schema names to include

  • schema_deny_list (Array): Schema names to exclude

  • password (String): Password for authentication

  • aws_s3_object_config (Object): S3 configuration for access control file

  • ssl_certificate (String): TLS certificate for secure connections

  • bucket (String): S3 bucket name

  • object (String): Path to access control file

  • credentials_type (String): Authentication method

  • assume_role_name (String): IAM role name (for assume role)

  • assume_role_external_id (String): External ID for assume role

  • account_id (String): AWS account ID

  • 403 Forbidden: Insufficient permissions
  • 404 Not Found: Provider configuration not found

  • 409 Conflict: Provider configuration already exists

  • 500 Internal Server Error: Server error

  • Test configurations in development environments before production
  • Monitor discovery status regularly to ensure successful data collection

  • Rotate credentials according to your organization's security policies

  • Use assume role authentication for AWS providers when possible

  • Configure resource filtering to limit discovery scope and improve performance

  • Use secrets vaults to store sensitive credentials in your private network instead of in Veza. See Secrets Vaults

  • Insight Points

    {
      "id": "883dd869-8762-4187-8767-1c387de14b4b",
      "vendor_id": "123456789010",
      "name": "AWS-Production",
      "type": "AWS",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "account_id": "123456789010",
      "credentials_type": "ASSUME_CUSTOMER_ROLE",
      "access_key_id": "AKIA6FRNZGGIOEBZ6BEA",
      "assume_role_name": "VezaDiscoveryRole",
      "assume_role_external_id": "veza-external-id",
      "regions": [
        "us-east-1",
        "us-west-2",
        "eu-west-1"
      ],
      "db_user": "veza_user",
      "services": [
        "IAM",
        "S3",
        "RDS",
        "REDSHIFT"
      ],
      "s3_bucket_allow_list": ["prod-data-*"],
      "s3_bucket_deny_list": ["temp-*", "test-*"],
      "rds_database_allow_list": ["production"],
      "rds_database_deny_list": ["temp"]
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    team_idstringOptional
    rds_db_level_onlybooleanOptional
    rbac_idstringOptional
    account_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    assume_role_namestringOptional
    regionsstring[]Optional
    db_userstringOptional
    redshift_userstringOptional
    rds_mysql_userstringOptional
    rds_postgres_userstringOptional
    rds_oracle_userstringOptional
    servicesinteger · enum[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    audit_log_cloud_trail_namestringOptional
    audit_log_cloud_trail_regionstringOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    audit_log_extract_for_orgbooleanOptional
    audit_log_skip_extractionbooleanOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    team_idstringOptional
    rds_db_level_onlybooleanOptional
    rbac_idstringOptional
    account_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    assume_role_namestringOptional
    regionsstring[]Optional
    db_userstringOptional
    redshift_userstringOptional
    rds_mysql_userstringOptional
    rds_postgres_userstringOptional
    rds_oracle_userstringOptional
    servicesinteger · enum[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    audit_log_cloud_trail_namestringOptional
    audit_log_cloud_trail_regionstringOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    audit_log_extract_for_orgbooleanOptional
    audit_log_skip_extractionbooleanOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    assume_role_external_idstringOptional
    assume_role_namestringOptionalDeprecated
    Responses
    chevron-right
    200

    OK

    application/json
    trust_policy_jsonstringOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    requires_updatebooleanOptional
    aws_account_idstringOptional
    current_policystringOptional
    required_policystringOptional
    required_actionsstring[]Optional
    overprivileged_actionsstring[]Optional
    chevron-right
    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
    {
      "id": "fa04e92f-6e0d-4285-ba58-86a20c6941ff",
      "vendor_id": "contoso.onmicrosoft.com",
      "name": "Azure-Production",
      "type": "AZURE",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "tenant_id": "12345678-1234-1234-1234-123456789012",
      "client_id": "87654321-4321-4321-4321-210987654321",
      "services": [
        "AZUREAD",
        "SHAREPOINT",
        "SQLSERVER"
      ],
      "gather_guest_users": true,
      "gather_disabled_users": false,
      "gather_personal_sites": true,
      "domains": ["contoso.com"],
      "sql_server_database_allow_list": ["production"],
      "sql_server_database_deny_list": ["temp"]
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    team_idstringOptional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    account_idstringOptional
    tenant_idstringOptional
    client_idstringOptional
    servicesinteger · enum[]Optional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    rbac_idstringOptional
    skip_mailbox_foldersbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    team_idstringOptional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    account_idstringOptional
    tenant_idstringOptional
    client_idstringOptional
    servicesinteger · enum[]Optional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    rbac_idstringOptional
    skip_mailbox_foldersbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    {
      "id": "fa04e92f-6e0d-4285-ba58-86a20c6941ff",
      "vendor_id": "gcp-project-id",
      "name": "GCP-Production",
      "type": "GOOGLE_CLOUD",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "customer_id": "C01234567",
      "workspace_email": "[email protected]",
      "project_allow_list": ["prod-project-1", "prod-project-2"],
      "project_deny_list": ["test-*"],
      "domain_allow_list": ["company.com"],
      "domain_deny_list": [],
      "services": [
        "IAM",
        "STORAGE",
        "COMPUTE",
        "WORKSPACE",
        "BIGQUERY"
      ],
      "dataset_allow_list": ["analytics", "reporting"],
      "dataset_deny_list": ["temp_*"]
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    workspace_emailstringOptional
    customer_idstringOptional
    servicesinteger · enum[]Optional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    workspace_emailstringOptional
    customer_idstringOptional
    servicesinteger · enum[]Optional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    {
      "id": "fa04e92f-6e0d-4285-ba58-86a20c6941ff",
      "vendor_id": "xy12345.us-east-1",
      "name": "Snowflake-Production",
      "type": "SNOWFLAKE",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "account_locator": "xy12345",
      "region": "us-east-1",
      "cloud": "aws",
      "user": "veza_user",
      "role": "VEZA_ROLE",
      "warehouse": "COMPUTE_WH",
      "database_allow_list": ["PROD_DB", "ANALYTICS_DB"],
      "database_deny_list": ["TEMP_DB", "TEST_DB"]
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    rolestringOptional
    warehousestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    extract_tagsbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    organization_accountbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_network_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    rolestringOptional
    warehousestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    extract_tagsbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    organization_accountbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_network_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    {
      "id": "90112ed7-47e7-48e6-9f05-c02d19d7f137",
      "vendor_id": "sqlserver.company.com",
      "name": "SQL-Production",
      "type": "SQL_SERVER",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "host": "sqlserver.company.com",
      "port": 1433,
      "username": "veza_user",
      "database_allow_list": ["ProductionDB", "AnalyticsDB"],
      "database_deny_list": ["TempDB", "TestDB"],
      "schema_allow_list": ["dbo", "analytics"],
      "schema_deny_list": ["temp"]
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    gather_system_databasesbooleanOptional
    instance_namestringOptional
    use_tls_connectorbooleanOptional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    namestringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    passwordstringOptional
    data_plane_idstringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    gather_system_databasesbooleanOptional
    instance_namestringOptional
    use_tls_connectorbooleanOptional
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    gather_system_databasesbooleanOptional
    instance_namestringOptional
    use_tls_connectorbooleanOptional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    {
      "id": "fa04e92f-6e0d-4285-ba58-86a20c6941ff",
      "vendor_id": "trino.company.com",
      "name": "Trino-Production",
      "type": "TRINO",
      "state": "ENABLED",
      "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
      "status": "SUCCESS",
      "host": "trino.company.com",
      "port": 8080,
      "username": "veza_user",
      "aws_s3_object_config": {
        "access_key": "AKIA...",
        "region": "us-east-1",
        "bucket": "trino-config",
        "object": "access-control.properties",
        "credentials_type": "STATIC",
        "assume_role_name": "",
        "account_id": ""
      },
      "ssl_certificate": "-----BEGIN CERTIFICATE-----\n..."
    }
    get
    Authorizations
    AuthorizationstringRequired

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

    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    access_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    chevron-right
    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
    Authorizations
    AuthorizationstringRequired

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

    Body
    namestringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    passwordstringOptional
    data_plane_idstringOptional
    access_keystringOptional
    secret_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    assume_role_external_idstringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    get
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    access_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    chevron-right
    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
    patch
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    provider.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    {
      "error": {
        "code": "INVALID_CREDENTIALS",
        "message": "The provided credentials are invalid or expired",
        "details": "AWS STS AssumeRole failed with error: Access denied"
      }
    }
    API Authentication
    Amazon Web Services Integration
    Azure Integration
    Google Cloud Integration
    Snowflake Integration
    SQL Server Integration
    Trino Integration
    Provider Enable/Disable APIs
    API Authentication
    Integration Guides
    Secrets Vaults

    Critical resource

    "LOW", "MEDIUM", "HIGH", or "CRITICAL"

    ENRICHED_OWNERS

    Entity owner

    — use enriched_owners_value instead

    VEZA_TAGS

    Veza tag

    — use tag_updates_value instead

    Value

    Rule type

    Use property_value

    IDENTITY_TYPE

    Non-human identity

    "HUMAN" or "NONHUMAN"

    IS_PRIVILEGED

    Privileged account

    "true"

    curl -X POST "$BASE_URL/api/v1/enrichment/rules" \
      -H "authorization: Bearer $VEZA_TOKEN" \
      -H "content-type: application/json" \
      -d '{
        "name": "Mark service accounts as NHI",
        "provider_ids": ["<provider-id>"],
        "entity_type": "OktaUser",
        "query_id": "<saved-query-id>",
        "enriched_property": "IDENTITY_TYPE",
        "property_value": "NONHUMAN"
      }'
    curl -X POST "$BASE_URL/api/v1/enrichment/rules" \
      -H "Authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Assign owner from entity property",
        "provider_ids": ["<provider-id>"],
        "entity_type": "AwsIamUser",
        "query_id": "<saved-query-id>",
        "enriched_property": "ENRICHED_OWNERS",
        "enriched_owners_value": {
          "property_names_in_template": ["id"],
          "owners": [
            {
              "entity_id": "{{id}}",
              "entity_type": "OktaUser"
            }
          ]
        }
      }'
    curl -X POST "$BASE_URL/api/v1/enrichment/rules" \
      -H "Authorization: Bearer $VEZA_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Tag production AWS roles",
        "provider_ids": ["<provider-id>"],
        "entity_type": "AwsIamRole",
        "query_id": "<saved-query-id>",
        "enriched_property": "VEZA_TAGS",
        "tag_updates_value": {
          "add_tags": [
            {"key": "environment", "value": "production"}
          ],
          "remove_tags": []
        }
      }'
    ToggleEnrichmentRule

    hashtag
    Create enrichment rule

    post

    Creates a new enrichment rule that automatically applies attributes to entities matching a saved query. Supported rule types are: identify non-human identities (set identity_type to HUMAN or NONHUMAN), assign entity owners (static or dynamic ownership from entity properties), detect privileged accounts (set is_privileged to true), classify critical resources (set criticality_level to LOW, MEDIUM, HIGH, or CRITICAL), and assign Veza tags (add or remove tags on matched entities). The query_id must reference an existing saved assessment query.

    Authorizations
    AuthorizationstringRequired

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

    Body
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional

    The generated ID of the newly created enrichment rule.

    chevron-right
    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/v1/enrichment/rules

    CRITICALITY_LEVEL

    Responses
    chevron-right
    200

    OK

    application/json
    external_datasource_idstringOptional
    external_provider_idstringOptional
    datasource_typestringOptional
    extraction_startstring · date-timeOptional
    extraction_endstring · date-timeOptional
    datasource_namestringOptional
    is_deletedbooleanOptional
    datasource_idstringOptional
    has_warningbooleanOptional
    snapshot_not_foundbooleanOptional
    pagination_contextstringOptional
    has_morebooleanOptional
    chevron-right
    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/v1/providers/datasources
    GET /api/v1/providers/datasources HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    

    Optional

    Filter by entity type that the datasource can work with

    relationship_type

    string

    Optional

    Filter by relationship type that the datasource can manage

    CREATE_EMAIL

    4

    DEPROVISION_IDENTITY

    5

    ACCESS_PLAN

    6

    WRITE_BACK_EMAIL

    7

    PAUSE

    8

    SEND_NOTIFICATION

    9

    CUSTOM_ACTION

    10

    CREATE_ENTITLEMENT

    11

    CREATE_ACCESS_REVIEW

    12

    RESET_PASSWORD

    13

    DELETE_IDENTITY

    Action Type Values
    OpenAPI schemaarrow-up-right
    get
    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    action_typeinteger · enumOptional
    entity_typestringOptional
    relationship_typestringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    enabledbooleanOptional
    datasourceobjectOptional
    entity_typestringOptional
    typeinteger · enumOptional
    idempotentbooleanOptional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    namestringOptional
    descriptionstringOptional
    available_entity_typesstring[]Optional
    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    chevron-right
    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/v1/providers/datasources/lifecycle_managers:by_action_type

    Request body for creating an enrichment rule. Required fields: name, provider_ids, entity_type. Set enriched_property to define the rule type (IDENTITY_TYPE, IS_PRIVILEGED, CRITICALITY_LEVEL, ENRICHED_OWNERS, or VEZA_TAGS). Use property_value for scalar values (e.g., "NONHUMAN" for IDENTITY_TYPE, "true" for IS_PRIVILEGED, "HIGH" for CRITICALITY_LEVEL). Use enriched_owners_value for owner assignment rules, or tag_updates_value for tag rules. Use query_id to target entities matching a saved assessment query, or node_ids for static targeting.

    namestringOptional

    Name of the enrichment rule. Must be unique across all rules.

    descriptionstringOptional

    Description of the enrichment rule.

    activebooleanOptional

    Whether the rule will be executed.

    provider_idsstring[]Optional

    Provider IDs for which the rule will be executed.

    entity_typestringOptional

    Entity type on which the rule will be executed. Must be a valid entity type that is supported by all specified providers.

    property_namestringOptional

    Property name whose value will be changed by enrichment. Not recommended. Only valid if enriched_property = USE_PROPERTY_NAME; otherwise, the property name will be set according to enriched_property.

    property_valueanyOptional

    The scalar value to set for the enriched property. Examples: "NONHUMAN" for IDENTITY_TYPE, "true" for IS_PRIVILEGED, "HIGH" for CRITICALITY_LEVEL. Not used when enriched_property is ENRICHED_OWNERS (use enriched_owners_value) or VEZA_TAGS (use tag_updates_value).

    node_idsstring[]Optional

    Static list of entity IDs for which the property-value should be applied. Not recommended: use query_id to target entities dynamically instead. Does not work with ENRICHED_OWNERS or VEZA_TAGS enrichment.

    query_idstringOptional

    The query that is executed to obtain a list of entity IDs of the specified entity type. It must exist before creating the enrichment rule and its source_type must match entity_type.

    prioritynumber · floatOptional

    The higher the priority, the later the rule runs. A rule running later will overwrite the changes from previous rules. CAVEAT: it is not recommended to have multiple rules of the same priority, as they may run in any order.

    other_node_query_idstringOptional

    Can only be used with query_id. If set, this separate query will be executed to find another entity that is related to the enriched entity, and the properties of the other entity can be referenced in the value for ENRICHED_OWNERS.

    enriched_propertyinteger · enumOptional

    The enrichment rule type (enum). Values: 0 = USE_PROPERTY_NAME (custom property_name required), 1 = IDENTITY_TYPE (set identity_type to HUMAN or NONHUMAN via property_value), 2 = IS_PRIVILEGED (set is_privileged, use property_value "true"), 3 = CRITICALITY_LEVEL (set criticality_level via property_value: LOW, MEDIUM, HIGH, or CRITICAL), 4 = ENRICHED_OWNERS (assign ownership, use enriched_owners_value instead of property_value), 5 = VEZA_TAGS (add or remove tags, use tag_updates_value instead of property_value).

    property_names_in_templatestring[]Optional
    teamstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    {
      "datasource_list": [
        {
          "external_datasource_id": "text",
          "external_provider_id": "text",
          "datasource_type": "text",
          "extraction_start": "2026-04-23T05:20:41.722Z",
          "extraction_end": "2026-04-23T05:20:41.722Z",
          "datasource_name": "text",
          "is_deleted": true,
          "datasource_id": "text",
          "has_warning": true
        }
      ],
      "snapshot_not_found": true,
      "pagination_context": "text",
      "has_more": true
    }
    {
      "values": [
        {
          "id": "text",
          "enabled": true,
          "datasource": {},
          "definition": {
            "source_of_identity_definition": {
              "entity_type": "text"
            },
            "actions": [
              {
                "type": 1,
                "idempotent": true,
                "input_entity_types": [
                  {
                    "name": "text",
                    "description": "text",
                    "available_entity_types": [
                      "text"
                    ]
                  }
                ],
                "output_entity_types": [
                  {
                    "name": "text",
                    "description": "text",
                    "available_entity_types": [
                      "text"
                    ]
                  }
                ],
                "definition": {
                  "@type": "text",
                  "ANY_ADDITIONAL_PROPERTY": "anything"
                }
              }
            ]
          }
        }
      ]
    }
    GET /api/v1/providers/datasources/lifecycle_managers:by_action_type HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "id": "text"
    }
    POST /api/v1/enrichment/rules HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 390
    
    {
      "name": "text",
      "description": "text",
      "active": true,
      "provider_ids": [
        "text"
      ],
      "entity_type": "text",
      "property_name": "text",
      "property_value": null,
      "node_ids": [
        "text"
      ],
      "query_id": "text",
      "priority": 1,
      "other_node_query_id": "text",
      "enriched_property": 1,
      "enriched_owners_value": {
        "property_names_in_template": [
          "text"
        ],
        "owners": [
          {
            "team": "text"
          }
        ]
      },
      "tag_updates_value": {
        "add_tags": [
          {}
        ],
        "remove_tags": [
          {}
        ]
      }
    }
    get
    /api/v1/providers/aws
    GET /api/v1/providers/aws HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "redshift_database_allow_list": [
            "text"
          ],
          "redshift_database_deny_list": [
            "text"
          ],
          "rds_database_allow_list": [
            "text"
          ],
          "rds_database_deny_list": [
            "text"
          ],
          "s3_bucket_allow_list": [
            "text"
          ],
          "s3_bucket_deny_list": [
            "text"
          ],
          "extraction_policy_name": "text",
          "gather_system_tables": true,
          "gather_postgresql_system_schemas": true,
          "gather_rds_oracle_system_schemas": true,
          "team_id": "text",
          "rds_db_level_only": true,
          "rbac_id": "text",
          "account_id": "text",
          "credentials_type": 1,
          "access_key_id": "text",
          "assume_role_name": "text",
          "regions": [
            "text"
          ],
          "db_user": "text",
          "redshift_user": "text",
          "rds_mysql_user": "text",
          "rds_postgres_user": "text",
          "rds_oracle_user": "text",
          "services": [
            1
          ],
          "audit_log": {
            "state": 1,
            "status": 1,
            "cursor": "2026-04-23T05:20:41.722Z",
            "synced_at": "2026-04-23T05:20:41.722Z"
          },
          "audit_log_cloud_trail_name": "text",
          "audit_log_cloud_trail_region": "text",
          "databricks_cloud_config": {
            "account_id": "text",
            "tag_name_collector_cluster": "text"
          },
          "databricks_oauth_m2m_credentials": {
            "client_id": "text",
            "client_secret": "text"
          },
          "provisioning": true,
          "lifecycle_management_state": 1,
          "provisioning_identity_store_id": "text",
          "provisioning_scim_endpoint": "text",
          "audit_log_extract_for_org": true,
          "audit_log_skip_extraction": true,
          "gather_all_iam_policies": true,
          "documentdb_user": "text",
          "identity_mapping_configuration": {
            "mappings": [
              {
                "destination_datasource_type": "text",
                "destination_datasource_oaa_app_type": "text",
                "type": 1,
                "mode": 1,
                "transformations": [
                  1
                ],
                "custom_value": "text",
                "property_matchers": [
                  {
                    "source_property": 1,
                    "destination_property": 1,
                    "custom_source_property": "text",
                    "custom_destination_property": "text"
                  }
                ],
                "id_matchers": [
                  {
                    "source_id": "text",
                    "destination_id": "text"
                  }
                ],
                "destination_datasources": [
                  {
                    "type": "text",
                    "oaa_app_type": "text"
                  }
                ]
              }
            ],
            "use_email": true
          }
        }
      ]
    }
    namestringOptional
    account_idstringOptional
    regionsstring[]Optional
    data_plane_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    secret_keystringOptional
    assume_role_namestringOptional
    assume_role_external_idstringOptional
    db_userstringOptional
    rds_postgres_userstringOptional
    rds_mysql_userstringOptional
    rds_oracle_userstringOptional
    rds_oracle_passwordstringOptional
    redshift_userstringOptional
    itemsinteger · enumOptionalPossible values:
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    rds_db_level_onlybooleanOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    provisioning_scim_tokenstringOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    documentdb_passwordstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    team_idstringOptional
    rds_db_level_onlybooleanOptional
    rbac_idstringOptional
    account_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    assume_role_namestringOptional
    regionsstring[]Optional
    db_userstringOptional
    redshift_userstringOptional
    rds_mysql_userstringOptional
    rds_postgres_userstringOptional
    rds_oracle_userstringOptional
    servicesinteger · enum[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    audit_log_cloud_trail_namestringOptional
    audit_log_cloud_trail_regionstringOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    audit_log_extract_for_orgbooleanOptional
    audit_log_skip_extractionbooleanOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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/v1/providers/aws
    POST /api/v1/providers/aws HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1589
    
    {
      "name": "text",
      "account_id": "text",
      "regions": [
        "text"
      ],
      "data_plane_id": "text",
      "credentials_type": 1,
      "access_key_id": "text",
      "secret_key": "text",
      "assume_role_name": "text",
      "assume_role_external_id": "text",
      "db_user": "text",
      "rds_postgres_user": "text",
      "rds_mysql_user": "text",
      "rds_oracle_user": "text",
      "rds_oracle_password": "text",
      "redshift_user": "text",
      "services": [
        1
      ],
      "redshift_database_allow_list": [
        "text"
      ],
      "redshift_database_deny_list": [
        "text"
      ],
      "rds_database_allow_list": [
        "text"
      ],
      "rds_database_deny_list": [
        "text"
      ],
      "s3_bucket_allow_list": [
        "text"
      ],
      "s3_bucket_deny_list": [
        "text"
      ],
      "extraction_policy_name": "text",
      "gather_system_tables": true,
      "gather_postgresql_system_schemas": true,
      "gather_rds_oracle_system_schemas": true,
      "rds_db_level_only": true,
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "databricks_oauth_m2m_credentials": {
        "client_id": "text",
        "client_secret": "text"
      },
      "provisioning": true,
      "provisioning_identity_store_id": "text",
      "provisioning_scim_endpoint": "text",
      "provisioning_scim_token": "text",
      "gather_all_iam_policies": true,
      "documentdb_user": "text",
      "documentdb_password": "text",
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      }
    }
    get
    /api/v1/providers/aws/{id}
    GET /api/v1/providers/aws/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "redshift_database_allow_list": [
          "text"
        ],
        "redshift_database_deny_list": [
          "text"
        ],
        "rds_database_allow_list": [
          "text"
        ],
        "rds_database_deny_list": [
          "text"
        ],
        "s3_bucket_allow_list": [
          "text"
        ],
        "s3_bucket_deny_list": [
          "text"
        ],
        "extraction_policy_name": "text",
        "gather_system_tables": true,
        "gather_postgresql_system_schemas": true,
        "gather_rds_oracle_system_schemas": true,
        "team_id": "text",
        "rds_db_level_only": true,
        "rbac_id": "text",
        "account_id": "text",
        "credentials_type": 1,
        "access_key_id": "text",
        "assume_role_name": "text",
        "regions": [
          "text"
        ],
        "db_user": "text",
        "redshift_user": "text",
        "rds_mysql_user": "text",
        "rds_postgres_user": "text",
        "rds_oracle_user": "text",
        "services": [
          1
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "audit_log_cloud_trail_name": "text",
        "audit_log_cloud_trail_region": "text",
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "databricks_oauth_m2m_credentials": {
          "client_id": "text",
          "client_secret": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "provisioning_identity_store_id": "text",
        "provisioning_scim_endpoint": "text",
        "audit_log_extract_for_org": true,
        "audit_log_skip_extraction": true,
        "gather_all_iam_policies": true,
        "documentdb_user": "text",
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    idstringOptional
    account_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    secret_keystringOptional
    assume_role_namestringOptional
    assume_role_external_idstringOptional
    regionsstring[]Optional
    db_userstringOptional
    redshift_userstringOptional
    rds_mysql_userstringOptional
    rds_postgres_userstringOptional
    rds_oracle_userstringOptional
    rds_oracle_passwordstringOptional
    itemsinteger · enumOptionalPossible values:
    data_plane_idstringOptional
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    rds_db_level_onlybooleanOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    provisioning_scim_tokenstringOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    documentdb_passwordstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    redshift_database_allow_liststring[]Optional
    redshift_database_deny_liststring[]Optional
    rds_database_allow_liststring[]Optional
    rds_database_deny_liststring[]Optional
    s3_bucket_allow_liststring[]Optional
    s3_bucket_deny_liststring[]Optional
    extraction_policy_namestringOptional
    gather_system_tablesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    gather_rds_oracle_system_schemasbooleanOptional
    team_idstringOptional
    rds_db_level_onlybooleanOptional
    rbac_idstringOptional
    account_idstringOptional
    credentials_typeinteger · enumOptional
    access_key_idstringOptional
    assume_role_namestringOptional
    regionsstring[]Optional
    db_userstringOptional
    redshift_userstringOptional
    rds_mysql_userstringOptional
    rds_postgres_userstringOptional
    rds_oracle_userstringOptional
    servicesinteger · enum[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    audit_log_cloud_trail_namestringOptional
    audit_log_cloud_trail_regionstringOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    client_idstringOptional
    client_secretstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    provisioning_identity_store_idstringOptional
    provisioning_scim_endpointstringOptional
    audit_log_extract_for_orgbooleanOptional
    audit_log_skip_extractionbooleanOptional
    gather_all_iam_policiesbooleanOptional
    documentdb_userstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    patch
    /api/v1/providers/aws/{provider.id}
    PATCH /api/v1/providers/aws/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1587
    
    {
      "id": "text",
      "account_id": "text",
      "credentials_type": 1,
      "access_key_id": "text",
      "secret_key": "text",
      "assume_role_name": "text",
      "assume_role_external_id": "text",
      "regions": [
        "text"
      ],
      "db_user": "text",
      "redshift_user": "text",
      "rds_mysql_user": "text",
      "rds_postgres_user": "text",
      "rds_oracle_user": "text",
      "rds_oracle_password": "text",
      "services": [
        1
      ],
      "data_plane_id": "text",
      "redshift_database_allow_list": [
        "text"
      ],
      "redshift_database_deny_list": [
        "text"
      ],
      "rds_database_allow_list": [
        "text"
      ],
      "rds_database_deny_list": [
        "text"
      ],
      "s3_bucket_allow_list": [
        "text"
      ],
      "s3_bucket_deny_list": [
        "text"
      ],
      "extraction_policy_name": "text",
      "gather_system_tables": true,
      "gather_rds_oracle_system_schemas": true,
      "gather_postgresql_system_schemas": true,
      "rds_db_level_only": true,
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "databricks_oauth_m2m_credentials": {
        "client_id": "text",
        "client_secret": "text"
      },
      "provisioning": true,
      "provisioning_identity_store_id": "text",
      "provisioning_scim_endpoint": "text",
      "provisioning_scim_token": "text",
      "gather_all_iam_policies": true,
      "documentdb_user": "text",
      "documentdb_password": "text",
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      }
    }
    delete
    /api/v1/providers/aws/{id}
    DELETE /api/v1/providers/aws/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    get
    /api/v1/providers/aws:trustpolicy
    GET /api/v1/providers/aws:trustpolicy HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "trust_policy_json": "text"
    }
    get
    /api/v1/providers/aws/{id}:checkpolicy
    GET /api/v1/providers/aws/{id}:checkpolicy HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "requires_update": true,
      "aws_account_id": "text",
      "current_policy": "text",
      "required_policy": "text",
      "required_actions": [
        "text"
      ],
      "overprivileged_actions": [
        "text"
      ]
    }
    get
    /api/v1/providers/azure
    GET /api/v1/providers/azure HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "gather_guest_users": true,
          "gather_disabled_users": true,
          "domains": [
            "text"
          ],
          "gather_personal_sites": true,
          "audit_log": {
            "state": 1,
            "status": 1,
            "cursor": "2026-04-23T05:20:41.722Z",
            "synced_at": "2026-04-23T05:20:41.722Z"
          },
          "government_cloud": 1,
          "extract_pim_eligibility": true,
          "dynamics365_environments": [
            "text"
          ],
          "team_id": "text",
          "dynamics_erp_environments": [
            "text"
          ],
          "authentication_type": 1,
          "account_id": "text",
          "tenant_id": "text",
          "client_id": "text",
          "services": [
            1
          ],
          "sql_server_database_allow_list": [
            "text"
          ],
          "sql_server_database_deny_list": [
            "text"
          ],
          "sql_server_schema_allow_list": [
            "text"
          ],
          "sql_server_schema_deny_list": [
            "text"
          ],
          "sql_server_gather_system_databases": true,
          "gather_postgresql_system_schemas": true,
          "postgresql_username": "text",
          "postgresql_password": "text",
          "postgresql_database_allow_list": [
            "text"
          ],
          "postgresql_database_deny_list": [
            "text"
          ],
          "postgresql_schema_allow_list": [
            "text"
          ],
          "postgresql_schema_deny_list": [
            "text"
          ],
          "databricks_cloud_config": {
            "account_id": "text",
            "tag_name_collector_cluster": "text"
          },
          "sharepoint_site_allow_list": [
            "text"
          ],
          "sharepoint_site_deny_list": [
            "text"
          ],
          "rbac_id": "text",
          "skip_mailbox_folders": true,
          "identity_mapping_configuration": {
            "mappings": [
              {
                "destination_datasource_type": "text",
                "destination_datasource_oaa_app_type": "text",
                "type": 1,
                "mode": 1,
                "transformations": [
                  1
                ],
                "custom_value": "text",
                "property_matchers": [
                  {
                    "source_property": 1,
                    "destination_property": 1,
                    "custom_source_property": "text",
                    "custom_destination_property": "text"
                  }
                ],
                "id_matchers": [
                  {
                    "source_id": "text",
                    "destination_id": "text"
                  }
                ],
                "destination_datasources": [
                  {
                    "type": "text",
                    "oaa_app_type": "text"
                  }
                ]
              }
            ],
            "use_email": true
          },
          "user_custom_properties": [
            {
              "name": "text",
              "type": 1,
              "lcm_unique_identifier": true
            }
          ],
          "provisioning": true,
          "lifecycle_management_state": 1,
          "secret_references": [
            {
              "id": "text",
              "secret_id": "text",
              "vault_id": "text",
              "vault": {
                "id": "text",
                "name": "text",
                "vault_provider": "text",
                "insight_point_id": "text",
                "deleted": true
              }
            }
          ],
          "gather_group_extra_info": true,
          "gather_group_owner_details": true,
          "log_analytics_workspace_id": "text",
          "subscription_id_allow_list": [
            "text"
          ],
          "subscription_id_deny_list": [
            "text"
          ],
          "storage_account_name_allow_list": [
            "text"
          ],
          "storage_account_name_deny_list": [
            "text"
          ],
          "blob_container_name_allow_list": [
            "text"
          ],
          "blob_container_name_deny_list": [
            "text"
          ]
        }
      ]
    }
    namestringOptional
    tenant_idstringOptional
    client_idstringOptional
    client_secretstringOptional
    data_plane_idstringOptional
    auth_certificatestringOptional
    auth_certificate_passwordstringOptional
    itemsinteger · enumOptionalPossible values:
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    gather_postgresql_system_schemasbooleanOptional
    skip_mailbox_foldersbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    team_idstringOptional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    account_idstringOptional
    tenant_idstringOptional
    client_idstringOptional
    servicesinteger · enum[]Optional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    rbac_idstringOptional
    skip_mailbox_foldersbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    chevron-right
    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/v1/providers/azure
    POST /api/v1/providers/azure HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 2060
    
    {
      "name": "text",
      "tenant_id": "text",
      "client_id": "text",
      "client_secret": "text",
      "data_plane_id": "text",
      "auth_certificate": "text",
      "auth_certificate_password": "text",
      "services": [
        1
      ],
      "gather_guest_users": true,
      "gather_disabled_users": true,
      "domains": [
        "text"
      ],
      "gather_personal_sites": true,
      "government_cloud": 1,
      "extract_pim_eligibility": true,
      "dynamics365_environments": [
        "text"
      ],
      "dynamics_erp_environments": [
        "text"
      ],
      "authentication_type": 1,
      "sql_server_database_allow_list": [
        "text"
      ],
      "sql_server_database_deny_list": [
        "text"
      ],
      "sql_server_schema_allow_list": [
        "text"
      ],
      "sql_server_schema_deny_list": [
        "text"
      ],
      "sql_server_gather_system_databases": true,
      "postgresql_username": "text",
      "postgresql_password": "text",
      "postgresql_database_allow_list": [
        "text"
      ],
      "postgresql_database_deny_list": [
        "text"
      ],
      "postgresql_schema_allow_list": [
        "text"
      ],
      "postgresql_schema_deny_list": [
        "text"
      ],
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "sharepoint_site_allow_list": [
        "text"
      ],
      "sharepoint_site_deny_list": [
        "text"
      ],
      "gather_postgresql_system_schemas": true,
      "skip_mailbox_folders": true,
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      },
      "user_custom_properties": [
        {
          "name": "text",
          "type": 1,
          "lcm_unique_identifier": true
        }
      ],
      "provisioning": true,
      "secret_references": [
        {
          "secret_id": "text",
          "vault_id": "text"
        }
      ],
      "gather_group_extra_info": true,
      "gather_group_owner_details": true,
      "log_analytics_workspace_id": "text",
      "subscription_id_allow_list": [
        "text"
      ],
      "subscription_id_deny_list": [
        "text"
      ],
      "storage_account_name_allow_list": [
        "text"
      ],
      "storage_account_name_deny_list": [
        "text"
      ],
      "blob_container_name_allow_list": [
        "text"
      ],
      "blob_container_name_deny_list": [
        "text"
      ]
    }
    get
    /api/v1/providers/azure/{id}
    GET /api/v1/providers/azure/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "gather_guest_users": true,
        "gather_disabled_users": true,
        "domains": [
          "text"
        ],
        "gather_personal_sites": true,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "government_cloud": 1,
        "extract_pim_eligibility": true,
        "dynamics365_environments": [
          "text"
        ],
        "team_id": "text",
        "dynamics_erp_environments": [
          "text"
        ],
        "authentication_type": 1,
        "account_id": "text",
        "tenant_id": "text",
        "client_id": "text",
        "services": [
          1
        ],
        "sql_server_database_allow_list": [
          "text"
        ],
        "sql_server_database_deny_list": [
          "text"
        ],
        "sql_server_schema_allow_list": [
          "text"
        ],
        "sql_server_schema_deny_list": [
          "text"
        ],
        "sql_server_gather_system_databases": true,
        "gather_postgresql_system_schemas": true,
        "postgresql_username": "text",
        "postgresql_password": "text",
        "postgresql_database_allow_list": [
          "text"
        ],
        "postgresql_database_deny_list": [
          "text"
        ],
        "postgresql_schema_allow_list": [
          "text"
        ],
        "postgresql_schema_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "sharepoint_site_allow_list": [
          "text"
        ],
        "sharepoint_site_deny_list": [
          "text"
        ],
        "rbac_id": "text",
        "skip_mailbox_folders": true,
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        },
        "user_custom_properties": [
          {
            "name": "text",
            "type": 1,
            "lcm_unique_identifier": true
          }
        ],
        "provisioning": true,
        "lifecycle_management_state": 1,
        "secret_references": [
          {
            "id": "text",
            "secret_id": "text",
            "vault_id": "text",
            "vault": {
              "id": "text",
              "name": "text",
              "vault_provider": "text",
              "insight_point_id": "text",
              "deleted": true
            }
          }
        ],
        "gather_group_extra_info": true,
        "gather_group_owner_details": true,
        "log_analytics_workspace_id": "text",
        "subscription_id_allow_list": [
          "text"
        ],
        "subscription_id_deny_list": [
          "text"
        ],
        "storage_account_name_allow_list": [
          "text"
        ],
        "storage_account_name_deny_list": [
          "text"
        ],
        "blob_container_name_allow_list": [
          "text"
        ],
        "blob_container_name_deny_list": [
          "text"
        ]
      }
    }
    idstringOptional
    tenant_idstringOptional
    client_idstringOptional
    client_secretstringOptional
    auth_certificatestringOptional
    auth_certificate_passwordstringOptional
    itemsinteger · enumOptionalPossible values:
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    gather_postgresql_system_schemasbooleanOptional
    skip_mailbox_foldersbooleanOptional
    data_plane_idstringOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    gather_guest_usersbooleanOptional
    gather_disabled_usersbooleanOptional
    domainsstring[]Optional
    gather_personal_sitesbooleanOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    government_cloudinteger · enumOptional
    extract_pim_eligibilitybooleanOptional
    dynamics365_environmentsstring[]Optional
    team_idstringOptional
    dynamics_erp_environmentsstring[]Optional
    authentication_typeinteger · enumOptional
    account_idstringOptional
    tenant_idstringOptional
    client_idstringOptional
    servicesinteger · enum[]Optional
    sql_server_database_allow_liststring[]Optional
    sql_server_database_deny_liststring[]Optional
    sql_server_schema_allow_liststring[]Optional
    sql_server_schema_deny_liststring[]Optional
    sql_server_gather_system_databasesbooleanOptional
    gather_postgresql_system_schemasbooleanOptional
    postgresql_usernamestringOptional
    postgresql_passwordstringOptional
    postgresql_database_allow_liststring[]Optional
    postgresql_database_deny_liststring[]Optional
    postgresql_schema_allow_liststring[]Optional
    postgresql_schema_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    sharepoint_site_allow_liststring[]Optional
    sharepoint_site_deny_liststring[]Optional
    rbac_idstringOptional
    skip_mailbox_foldersbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    namestringOptional
    typeinteger · enumOptional
    lcm_unique_identifierbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    idstringRead-onlyOptional
    secret_idstringOptional
    vault_idstringOptional
    idstringRead-onlyOptional
    namestringOptional

    Must be unique within an insight point

    vault_providerstringOptional

    Provider type: "azure_key_vault", "aws_secrets_manager", etc.

    insight_point_idstringOptional

    Owning insight point ID, or "internal" for control plane vaults

    deletedbooleanOptional

    Soft-deleted flag for external vaults; restored by re-registering (internal vaults are hard-deleted)

    gather_group_extra_infobooleanOptional
    gather_group_owner_detailsbooleanOptional
    log_analytics_workspace_idstringOptional
    subscription_id_allow_liststring[]Optional
    subscription_id_deny_liststring[]Optional
    storage_account_name_allow_liststring[]Optional
    storage_account_name_deny_liststring[]Optional
    blob_container_name_allow_liststring[]Optional
    blob_container_name_deny_liststring[]Optional
    chevron-right
    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
    patch
    /api/v1/providers/azure/{provider.id}
    PATCH /api/v1/providers/azure/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 2058
    
    {
      "id": "text",
      "tenant_id": "text",
      "client_id": "text",
      "client_secret": "text",
      "auth_certificate": "text",
      "auth_certificate_password": "text",
      "services": [
        1
      ],
      "gather_guest_users": true,
      "gather_disabled_users": true,
      "domains": [
        "text"
      ],
      "gather_personal_sites": true,
      "government_cloud": 1,
      "extract_pim_eligibility": true,
      "dynamics365_environments": [
        "text"
      ],
      "dynamics_erp_environments": [
        "text"
      ],
      "authentication_type": 1,
      "sql_server_database_allow_list": [
        "text"
      ],
      "sql_server_database_deny_list": [
        "text"
      ],
      "sql_server_schema_allow_list": [
        "text"
      ],
      "sql_server_schema_deny_list": [
        "text"
      ],
      "sql_server_gather_system_databases": true,
      "postgresql_username": "text",
      "postgresql_password": "text",
      "postgresql_database_allow_list": [
        "text"
      ],
      "postgresql_database_deny_list": [
        "text"
      ],
      "postgresql_schema_allow_list": [
        "text"
      ],
      "postgresql_schema_deny_list": [
        "text"
      ],
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "sharepoint_site_allow_list": [
        "text"
      ],
      "sharepoint_site_deny_list": [
        "text"
      ],
      "gather_postgresql_system_schemas": true,
      "skip_mailbox_folders": true,
      "data_plane_id": "text",
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      },
      "user_custom_properties": [
        {
          "name": "text",
          "type": 1,
          "lcm_unique_identifier": true
        }
      ],
      "provisioning": true,
      "secret_references": [
        {
          "secret_id": "text",
          "vault_id": "text"
        }
      ],
      "gather_group_extra_info": true,
      "gather_group_owner_details": true,
      "log_analytics_workspace_id": "text",
      "subscription_id_allow_list": [
        "text"
      ],
      "subscription_id_deny_list": [
        "text"
      ],
      "storage_account_name_allow_list": [
        "text"
      ],
      "storage_account_name_deny_list": [
        "text"
      ],
      "blob_container_name_allow_list": [
        "text"
      ],
      "blob_container_name_deny_list": [
        "text"
      ]
    }
    delete
    /api/v1/providers/azure/{id}
    DELETE /api/v1/providers/azure/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    get
    /api/v1/providers/google_cloud
    GET /api/v1/providers/google_cloud HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "team_id": "text",
          "rbac_id": "text",
          "workspace_email": "text",
          "customer_id": "text",
          "services": [
            1
          ],
          "project_allow_list": [
            "text"
          ],
          "project_deny_list": [
            "text"
          ],
          "domain_allow_list": [
            "text"
          ],
          "domain_deny_list": [
            "text"
          ],
          "dataset_allow_list": [
            "text"
          ],
          "dataset_deny_list": [
            "text"
          ],
          "table_allow_list": [
            "text"
          ],
          "table_deny_list": [
            "text"
          ],
          "location_allow_list": [
            "text"
          ],
          "location_deny_list": [
            "text"
          ],
          "databricks_cloud_config": {
            "account_id": "text",
            "tag_name_collector_cluster": "text"
          },
          "provisioning": true,
          "lifecycle_management_state": 1,
          "audit_log": {
            "state": 1,
            "status": 1,
            "cursor": "2026-04-23T05:20:41.722Z",
            "synced_at": "2026-04-23T05:20:41.722Z"
          },
          "identity_mapping_configuration": {
            "mappings": [
              {
                "destination_datasource_type": "text",
                "destination_datasource_oaa_app_type": "text",
                "type": 1,
                "mode": 1,
                "transformations": [
                  1
                ],
                "custom_value": "text",
                "property_matchers": [
                  {
                    "source_property": 1,
                    "destination_property": 1,
                    "custom_source_property": "text",
                    "custom_destination_property": "text"
                  }
                ],
                "id_matchers": [
                  {
                    "source_id": "text",
                    "destination_id": "text"
                  }
                ],
                "destination_datasources": [
                  {
                    "type": "text",
                    "oaa_app_type": "text"
                  }
                ]
              }
            ],
            "use_email": true
          }
        }
      ]
    }
    namestringOptional
    credentials_jsonstring · bytesOptional
    data_plane_idstringOptional
    workspace_emailstringOptional
    customer_idstringOptional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    itemsinteger · enumOptionalPossible values:
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    oauth_configstring · bytesOptional
    oauth_tokenstring · bytesOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    workspace_emailstringOptional
    customer_idstringOptional
    servicesinteger · enum[]Optional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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/v1/providers/google_cloud
    POST /api/v1/providers/google_cloud HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1039
    
    {
      "name": "text",
      "credentials_json": "text",
      "data_plane_id": "text",
      "workspace_email": "text",
      "customer_id": "text",
      "project_allow_list": [
        "text"
      ],
      "project_deny_list": [
        "text"
      ],
      "domain_allow_list": [
        "text"
      ],
      "domain_deny_list": [
        "text"
      ],
      "services": [
        1
      ],
      "dataset_allow_list": [
        "text"
      ],
      "dataset_deny_list": [
        "text"
      ],
      "table_allow_list": [
        "text"
      ],
      "table_deny_list": [
        "text"
      ],
      "location_allow_list": [
        "text"
      ],
      "location_deny_list": [
        "text"
      ],
      "oauth_config": "text",
      "oauth_token": "text",
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "provisioning": true,
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      }
    }
    get
    /api/v1/providers/google_cloud/{id}
    GET /api/v1/providers/google_cloud/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "workspace_email": "text",
        "customer_id": "text",
        "services": [
          1
        ],
        "project_allow_list": [
          "text"
        ],
        "project_deny_list": [
          "text"
        ],
        "domain_allow_list": [
          "text"
        ],
        "domain_deny_list": [
          "text"
        ],
        "dataset_allow_list": [
          "text"
        ],
        "dataset_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ],
        "location_allow_list": [
          "text"
        ],
        "location_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    idstringOptional
    credentials_jsonstring · bytesOptional
    workspace_emailstringOptional
    customer_idstringOptional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    itemsinteger · enumOptionalPossible values:
    data_plane_idstringOptional
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    oauth_configstring · bytesOptional
    oauth_tokenstring · bytesOptional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    workspace_emailstringOptional
    customer_idstringOptional
    servicesinteger · enum[]Optional
    project_allow_liststring[]Optional
    project_deny_liststring[]Optional
    domain_allow_liststring[]Optional
    domain_deny_liststring[]Optional
    dataset_allow_liststring[]Optional
    dataset_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    location_allow_liststring[]Optional
    location_deny_liststring[]Optional
    account_idstringOptional
    tag_name_collector_clusterstringOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    destination_datasource_typestringOptional
    destination_datasource_oaa_app_typestringOptional
    typeinteger · enumOptional
    modeinteger · enumOptional
    transformationsinteger · enum[]Optional
    custom_valuestringOptional
    source_propertyinteger · enumOptional
    destination_propertyinteger · enumOptional
    custom_source_propertystringOptional
    custom_destination_propertystringOptional
    source_idstringOptional
    destination_idstringOptional
    typestringOptional
    oaa_app_typestringOptional
    use_emailbooleanOptional
    chevron-right
    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
    patch
    /api/v1/providers/google_cloud/{provider.id}
    PATCH /api/v1/providers/google_cloud/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1037
    
    {
      "id": "text",
      "credentials_json": "text",
      "workspace_email": "text",
      "customer_id": "text",
      "project_allow_list": [
        "text"
      ],
      "project_deny_list": [
        "text"
      ],
      "domain_allow_list": [
        "text"
      ],
      "domain_deny_list": [
        "text"
      ],
      "services": [
        1
      ],
      "data_plane_id": "text",
      "dataset_allow_list": [
        "text"
      ],
      "dataset_deny_list": [
        "text"
      ],
      "table_allow_list": [
        "text"
      ],
      "table_deny_list": [
        "text"
      ],
      "location_allow_list": [
        "text"
      ],
      "location_deny_list": [
        "text"
      ],
      "oauth_config": "text",
      "oauth_token": "text",
      "databricks_cloud_config": {
        "account_id": "text",
        "tag_name_collector_cluster": "text"
      },
      "provisioning": true,
      "identity_mapping_configuration": {
        "mappings": [
          {
            "destination_datasource_type": "text",
            "destination_datasource_oaa_app_type": "text",
            "type": 1,
            "mode": 1,
            "transformations": [
              1
            ],
            "custom_value": "text",
            "property_matchers": [
              {
                "source_property": 1,
                "destination_property": 1,
                "custom_source_property": "text",
                "custom_destination_property": "text"
              }
            ],
            "id_matchers": [
              {
                "source_id": "text",
                "destination_id": "text"
              }
            ],
            "destination_datasources": [
              {
                "type": "text",
                "oaa_app_type": "text"
              }
            ]
          }
        ],
        "use_email": true
      }
    }
    delete
    /api/v1/providers/google_cloud/{id}
    DELETE /api/v1/providers/google_cloud/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    get
    /api/v1/providers/snowflake
    GET /api/v1/providers/snowflake HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "team_id": "text",
          "rbac_id": "text",
          "account_locator": "text",
          "region": "text",
          "cloud": "text",
          "user": "text",
          "role": "text",
          "warehouse": "text",
          "database_allow_list": [
            "text"
          ],
          "database_deny_list": [
            "text"
          ],
          "audit_log": {
            "state": 1,
            "status": 1,
            "cursor": "2026-04-23T05:20:41.722Z",
            "synced_at": "2026-04-23T05:20:41.722Z"
          },
          "alternative_database_name": "text",
          "authentication_method": 1,
          "extract_tags": true,
          "provisioning": true,
          "lifecycle_management_state": 1,
          "export_database": "text",
          "export_schema": "text",
          "export_user": "text",
          "export_role": "text",
          "export_authentication_method": 1,
          "organization_account": true,
          "connection_type": 1,
          "account_name": "text",
          "org_name": "text",
          "private_link": true,
          "alternative_account_usage_schema_name": "text",
          "gather_masking_policies": true,
          "gather_row_access_policies": true,
          "gather_network_policies": true,
          "gather_projection_policies": true,
          "gather_password_policies": true,
          "gather_login_source_ip": true,
          "external_oauth_aws_region": "text",
          "external_oauth_ida_provider_uri": "text",
          "external_oauth_ida_resource_uri": "text",
          "account_allow_list": [
            "text"
          ],
          "account_deny_list": [
            "text"
          ]
        }
      ]
    }
    namestringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    passwordstringOptional
    rolestringOptional
    warehousestringOptional
    data_plane_idstringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    private_keystringOptional
    private_key_passwordstringOptional
    extract_tagsbooleanOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    export_private_keystringOptional
    export_private_key_passwordstringOptional
    export_passwordstringOptional
    provisioningbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_network_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    organization_accountbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    rolestringOptional
    warehousestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    extract_tagsbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    organization_accountbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_network_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    chevron-right
    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/v1/providers/snowflake
    POST /api/v1/providers/snowflake HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1108
    
    {
      "name": "text",
      "account_locator": "text",
      "region": "text",
      "cloud": "text",
      "user": "text",
      "password": "text",
      "role": "text",
      "warehouse": "text",
      "data_plane_id": "text",
      "database_allow_list": [
        "text"
      ],
      "database_deny_list": [
        "text"
      ],
      "alternative_database_name": "text",
      "authentication_method": 1,
      "private_key": "text",
      "private_key_password": "text",
      "extract_tags": true,
      "export_database": "text",
      "export_schema": "text",
      "export_user": "text",
      "export_role": "text",
      "export_authentication_method": 1,
      "export_private_key": "text",
      "export_private_key_password": "text",
      "export_password": "text",
      "provisioning": true,
      "connection_type": 1,
      "account_name": "text",
      "org_name": "text",
      "private_link": true,
      "alternative_account_usage_schema_name": "text",
      "gather_masking_policies": true,
      "gather_row_access_policies": true,
      "gather_network_policies": true,
      "gather_projection_policies": true,
      "organization_account": true,
      "gather_password_policies": true,
      "gather_login_source_ip": true,
      "external_oauth_aws_region": "text",
      "external_oauth_ida_provider_uri": "text",
      "external_oauth_ida_resource_uri": "text",
      "account_allow_list": [
        "text"
      ],
      "account_deny_list": [
        "text"
      ]
    }
    get
    /api/v1/providers/snowflake/{id}
    GET /api/v1/providers/snowflake/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "account_locator": "text",
        "region": "text",
        "cloud": "text",
        "user": "text",
        "role": "text",
        "warehouse": "text",
        "database_allow_list": [
          "text"
        ],
        "database_deny_list": [
          "text"
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "alternative_database_name": "text",
        "authentication_method": 1,
        "extract_tags": true,
        "provisioning": true,
        "lifecycle_management_state": 1,
        "export_database": "text",
        "export_schema": "text",
        "export_user": "text",
        "export_role": "text",
        "export_authentication_method": 1,
        "organization_account": true,
        "connection_type": 1,
        "account_name": "text",
        "org_name": "text",
        "private_link": true,
        "alternative_account_usage_schema_name": "text",
        "gather_masking_policies": true,
        "gather_row_access_policies": true,
        "gather_network_policies": true,
        "gather_projection_policies": true,
        "gather_password_policies": true,
        "gather_login_source_ip": true,
        "external_oauth_aws_region": "text",
        "external_oauth_ida_provider_uri": "text",
        "external_oauth_ida_resource_uri": "text",
        "account_allow_list": [
          "text"
        ],
        "account_deny_list": [
          "text"
        ]
      }
    }
    idstringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    passwordstringOptional
    rolestringOptional
    warehousestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    private_keystringOptional
    private_key_passwordstringOptional
    extract_tagsbooleanOptional
    data_plane_idstringOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    export_private_keystringOptional
    export_private_key_passwordstringOptional
    export_passwordstringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    organization_accountbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    provisioningbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_network_policiesbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    account_locatorstringOptional
    regionstringOptional
    cloudstringOptional
    userstringOptional
    rolestringOptional
    warehousestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    stateinteger · enumOptional
    statusinteger · enumOptional
    cursorstring · date-timeOptional
    synced_atstring · date-timeOptional
    alternative_database_namestringOptional
    authentication_methodinteger · enumOptional
    extract_tagsbooleanOptional
    provisioningbooleanOptional
    lifecycle_management_stateinteger · enumOptional
    export_databasestringOptional
    export_schemastringOptional
    export_userstringOptional
    export_rolestringOptional
    export_authentication_methodinteger · enumOptional
    organization_accountbooleanOptional
    connection_typeinteger · enumOptional
    account_namestringOptional
    org_namestringOptional
    private_linkbooleanOptional
    alternative_account_usage_schema_namestringOptional
    gather_masking_policiesbooleanOptional
    gather_row_access_policiesbooleanOptional
    gather_network_policiesbooleanOptional
    gather_projection_policiesbooleanOptional
    gather_password_policiesbooleanOptional
    gather_login_source_ipbooleanOptional
    external_oauth_aws_regionstringOptional

    External OAuth specific fields

    external_oauth_ida_provider_uristringOptional
    external_oauth_ida_resource_uristringOptional
    account_allow_liststring[]Optional

    Organization account filtering

    account_deny_liststring[]Optional
    chevron-right
    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
    patch
    /api/v1/providers/snowflake/{provider.id}
    PATCH /api/v1/providers/snowflake/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 1106
    
    {
      "id": "text",
      "account_locator": "text",
      "region": "text",
      "cloud": "text",
      "user": "text",
      "password": "text",
      "role": "text",
      "warehouse": "text",
      "database_allow_list": [
        "text"
      ],
      "database_deny_list": [
        "text"
      ],
      "alternative_database_name": "text",
      "authentication_method": 1,
      "private_key": "text",
      "private_key_password": "text",
      "extract_tags": true,
      "data_plane_id": "text",
      "export_database": "text",
      "export_schema": "text",
      "export_user": "text",
      "export_role": "text",
      "export_authentication_method": 1,
      "export_private_key": "text",
      "export_private_key_password": "text",
      "export_password": "text",
      "gather_masking_policies": true,
      "gather_row_access_policies": true,
      "gather_projection_policies": true,
      "organization_account": true,
      "gather_password_policies": true,
      "gather_login_source_ip": true,
      "provisioning": true,
      "connection_type": 1,
      "account_name": "text",
      "org_name": "text",
      "private_link": true,
      "alternative_account_usage_schema_name": "text",
      "gather_network_policies": true,
      "external_oauth_aws_region": "text",
      "external_oauth_ida_provider_uri": "text",
      "external_oauth_ida_resource_uri": "text",
      "account_allow_list": [
        "text"
      ],
      "account_deny_list": [
        "text"
      ]
    }
    delete
    /api/v1/providers/snowflake/{id}
    DELETE /api/v1/providers/snowflake/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    get
    /api/v1/providers/sqlserver
    GET /api/v1/providers/sqlserver HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "team_id": "text",
          "rbac_id": "text",
          "host": "text",
          "port": 1,
          "username": "text",
          "database_allow_list": [
            "text"
          ],
          "database_deny_list": [
            "text"
          ],
          "schema_allow_list": [
            "text"
          ],
          "schema_deny_list": [
            "text"
          ],
          "gather_system_databases": true,
          "instance_name": "text",
          "use_tls_connector": true
        }
      ]
    }
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    chevron-right
    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/v1/providers/sqlserver
    POST /api/v1/providers/sqlserver HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 294
    
    {
      "name": "text",
      "host": "text",
      "port": 1,
      "username": "text",
      "password": "text",
      "data_plane_id": "text",
      "database_allow_list": [
        "text"
      ],
      "database_deny_list": [
        "text"
      ],
      "schema_allow_list": [
        "text"
      ],
      "schema_deny_list": [
        "text"
      ],
      "gather_system_databases": true,
      "instance_name": "text",
      "use_tls_connector": true
    }
    get
    /api/v1/providers/sqlserver/{id}
    GET /api/v1/providers/sqlserver/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "id": "text",
      "vendor_id": "text",
      "name": "text",
      "type": 1,
      "state": 1,
      "data_plane_id": "text",
      "status": 1,
      "team_id": "text",
      "rbac_id": "text",
      "host": "text",
      "port": 1,
      "username": "text",
      "database_allow_list": [
        "text"
      ],
      "database_deny_list": [
        "text"
      ],
      "schema_allow_list": [
        "text"
      ],
      "schema_deny_list": [
        "text"
      ],
      "gather_system_databases": true,
      "instance_name": "text",
      "use_tls_connector": true
    }
    idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    passwordstringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    gather_system_databasesbooleanOptional
    instance_namestringOptional
    use_tls_connectorbooleanOptional
    data_plane_idstringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    database_allow_liststring[]Optional
    database_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    gather_system_databasesbooleanOptional
    instance_namestringOptional
    use_tls_connectorbooleanOptional
    chevron-right
    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
    patch
    /api/v1/providers/sqlserver/{provider.id}
    PATCH /api/v1/providers/sqlserver/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 292
    
    {
      "id": "text",
      "host": "text",
      "port": 1,
      "username": "text",
      "password": "text",
      "database_allow_list": [
        "text"
      ],
      "database_deny_list": [
        "text"
      ],
      "schema_allow_list": [
        "text"
      ],
      "schema_deny_list": [
        "text"
      ],
      "gather_system_databases": true,
      "instance_name": "text",
      "use_tls_connector": true,
      "data_plane_id": "text"
    }
    delete
    /api/v1/providers/sqlserver/{id}
    DELETE /api/v1/providers/sqlserver/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    get
    /api/v1/providers/trino
    GET /api/v1/providers/trino HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "vendor_id": "text",
          "name": "text",
          "type": 1,
          "state": 1,
          "data_plane_id": "text",
          "status": 1,
          "team_id": "text",
          "rbac_id": "text",
          "host": "text",
          "port": 1,
          "username": "text",
          "aws_s3_object_config": {
            "access_key": "text",
            "region": "text",
            "bucket": "text",
            "object": "text",
            "credentials_type": 1,
            "assume_role_name": "text",
            "account_id": "text"
          },
          "ssl_certificate": "text",
          "catalog_allow_list": [
            "text"
          ],
          "catalog_deny_list": [
            "text"
          ],
          "schema_allow_list": [
            "text"
          ],
          "schema_deny_list": [
            "text"
          ],
          "table_allow_list": [
            "text"
          ],
          "table_deny_list": [
            "text"
          ]
        }
      ]
    }
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    access_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    chevron-right
    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/v1/providers/trino
    POST /api/v1/providers/trino HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 506
    
    {
      "name": "text",
      "host": "text",
      "port": 1,
      "username": "text",
      "password": "text",
      "data_plane_id": "text",
      "aws_s3_object_config": {
        "access_key": "text",
        "secret_key": "text",
        "region": "text",
        "bucket": "text",
        "object": "text",
        "credentials_type": 1,
        "assume_role_name": "text",
        "assume_role_external_id": "text",
        "account_id": "text"
      },
      "ssl_certificate": "text",
      "catalog_allow_list": [
        "text"
      ],
      "catalog_deny_list": [
        "text"
      ],
      "schema_allow_list": [
        "text"
      ],
      "schema_deny_list": [
        "text"
      ],
      "table_allow_list": [
        "text"
      ],
      "table_deny_list": [
        "text"
      ]
    }
    get
    /api/v1/providers/trino/{id}
    GET /api/v1/providers/trino/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "host": "text",
        "port": 1,
        "username": "text",
        "aws_s3_object_config": {
          "access_key": "text",
          "region": "text",
          "bucket": "text",
          "object": "text",
          "credentials_type": 1,
          "assume_role_name": "text",
          "account_id": "text"
        },
        "ssl_certificate": "text",
        "catalog_allow_list": [
          "text"
        ],
        "catalog_deny_list": [
          "text"
        ],
        "schema_allow_list": [
          "text"
        ],
        "schema_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ]
      }
    }
    idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    passwordstringOptional
    access_keystringOptional
    secret_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    assume_role_external_idstringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    data_plane_idstringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    vendor_idstringOptional
    namestringOptional
    typeinteger · enumOptional
    stateinteger · enumOptional
    data_plane_idstringOptional
    statusinteger · enumOptional
    team_idstringOptional
    rbac_idstringOptional
    hoststringOptional
    portinteger · int32Optional
    usernamestringOptional
    access_keystringOptional
    regionstringOptional
    bucketstringOptional
    objectstringOptional
    credentials_typeinteger · enumOptional
    assume_role_namestringOptional
    account_idstringOptional
    ssl_certificatestringOptional
    catalog_allow_liststring[]Optional
    catalog_deny_liststring[]Optional
    schema_allow_liststring[]Optional
    schema_deny_liststring[]Optional
    table_allow_liststring[]Optional
    table_deny_liststring[]Optional
    chevron-right
    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
    patch
    /api/v1/providers/trino/{provider.id}
    PATCH /api/v1/providers/trino/{provider.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 504
    
    {
      "id": "text",
      "host": "text",
      "port": 1,
      "username": "text",
      "password": "text",
      "aws_s3_object_config": {
        "access_key": "text",
        "secret_key": "text",
        "region": "text",
        "bucket": "text",
        "object": "text",
        "credentials_type": 1,
        "assume_role_name": "text",
        "assume_role_external_id": "text",
        "account_id": "text"
      },
      "ssl_certificate": "text",
      "catalog_allow_list": [
        "text"
      ],
      "catalog_deny_list": [
        "text"
      ],
      "schema_allow_list": [
        "text"
      ],
      "schema_deny_list": [
        "text"
      ],
      "table_allow_list": [
        "text"
      ],
      "table_deny_list": [
        "text"
      ],
      "data_plane_id": "text"
    }
    delete
    /api/v1/providers/trino/{id}
    DELETE /api/v1/providers/trino/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "redshift_database_allow_list": [
          "text"
        ],
        "redshift_database_deny_list": [
          "text"
        ],
        "rds_database_allow_list": [
          "text"
        ],
        "rds_database_deny_list": [
          "text"
        ],
        "s3_bucket_allow_list": [
          "text"
        ],
        "s3_bucket_deny_list": [
          "text"
        ],
        "extraction_policy_name": "text",
        "gather_system_tables": true,
        "gather_postgresql_system_schemas": true,
        "gather_rds_oracle_system_schemas": true,
        "team_id": "text",
        "rds_db_level_only": true,
        "rbac_id": "text",
        "account_id": "text",
        "credentials_type": 1,
        "access_key_id": "text",
        "assume_role_name": "text",
        "regions": [
          "text"
        ],
        "db_user": "text",
        "redshift_user": "text",
        "rds_mysql_user": "text",
        "rds_postgres_user": "text",
        "rds_oracle_user": "text",
        "services": [
          1
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "audit_log_cloud_trail_name": "text",
        "audit_log_cloud_trail_region": "text",
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "databricks_oauth_m2m_credentials": {
          "client_id": "text",
          "client_secret": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "provisioning_identity_store_id": "text",
        "provisioning_scim_endpoint": "text",
        "audit_log_extract_for_org": true,
        "audit_log_skip_extraction": true,
        "gather_all_iam_policies": true,
        "documentdb_user": "text",
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "redshift_database_allow_list": [
          "text"
        ],
        "redshift_database_deny_list": [
          "text"
        ],
        "rds_database_allow_list": [
          "text"
        ],
        "rds_database_deny_list": [
          "text"
        ],
        "s3_bucket_allow_list": [
          "text"
        ],
        "s3_bucket_deny_list": [
          "text"
        ],
        "extraction_policy_name": "text",
        "gather_system_tables": true,
        "gather_postgresql_system_schemas": true,
        "gather_rds_oracle_system_schemas": true,
        "team_id": "text",
        "rds_db_level_only": true,
        "rbac_id": "text",
        "account_id": "text",
        "credentials_type": 1,
        "access_key_id": "text",
        "assume_role_name": "text",
        "regions": [
          "text"
        ],
        "db_user": "text",
        "redshift_user": "text",
        "rds_mysql_user": "text",
        "rds_postgres_user": "text",
        "rds_oracle_user": "text",
        "services": [
          1
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "audit_log_cloud_trail_name": "text",
        "audit_log_cloud_trail_region": "text",
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "databricks_oauth_m2m_credentials": {
          "client_id": "text",
          "client_secret": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "provisioning_identity_store_id": "text",
        "provisioning_scim_endpoint": "text",
        "audit_log_extract_for_org": true,
        "audit_log_skip_extraction": true,
        "gather_all_iam_policies": true,
        "documentdb_user": "text",
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "gather_guest_users": true,
        "gather_disabled_users": true,
        "domains": [
          "text"
        ],
        "gather_personal_sites": true,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "government_cloud": 1,
        "extract_pim_eligibility": true,
        "dynamics365_environments": [
          "text"
        ],
        "team_id": "text",
        "dynamics_erp_environments": [
          "text"
        ],
        "authentication_type": 1,
        "account_id": "text",
        "tenant_id": "text",
        "client_id": "text",
        "services": [
          1
        ],
        "sql_server_database_allow_list": [
          "text"
        ],
        "sql_server_database_deny_list": [
          "text"
        ],
        "sql_server_schema_allow_list": [
          "text"
        ],
        "sql_server_schema_deny_list": [
          "text"
        ],
        "sql_server_gather_system_databases": true,
        "gather_postgresql_system_schemas": true,
        "postgresql_username": "text",
        "postgresql_password": "text",
        "postgresql_database_allow_list": [
          "text"
        ],
        "postgresql_database_deny_list": [
          "text"
        ],
        "postgresql_schema_allow_list": [
          "text"
        ],
        "postgresql_schema_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "sharepoint_site_allow_list": [
          "text"
        ],
        "sharepoint_site_deny_list": [
          "text"
        ],
        "rbac_id": "text",
        "skip_mailbox_folders": true,
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        },
        "user_custom_properties": [
          {
            "name": "text",
            "type": 1,
            "lcm_unique_identifier": true
          }
        ],
        "provisioning": true,
        "lifecycle_management_state": 1,
        "secret_references": [
          {
            "id": "text",
            "secret_id": "text",
            "vault_id": "text",
            "vault": {
              "id": "text",
              "name": "text",
              "vault_provider": "text",
              "insight_point_id": "text",
              "deleted": true
            }
          }
        ],
        "gather_group_extra_info": true,
        "gather_group_owner_details": true,
        "log_analytics_workspace_id": "text",
        "subscription_id_allow_list": [
          "text"
        ],
        "subscription_id_deny_list": [
          "text"
        ],
        "storage_account_name_allow_list": [
          "text"
        ],
        "storage_account_name_deny_list": [
          "text"
        ],
        "blob_container_name_allow_list": [
          "text"
        ],
        "blob_container_name_deny_list": [
          "text"
        ]
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "gather_guest_users": true,
        "gather_disabled_users": true,
        "domains": [
          "text"
        ],
        "gather_personal_sites": true,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "government_cloud": 1,
        "extract_pim_eligibility": true,
        "dynamics365_environments": [
          "text"
        ],
        "team_id": "text",
        "dynamics_erp_environments": [
          "text"
        ],
        "authentication_type": 1,
        "account_id": "text",
        "tenant_id": "text",
        "client_id": "text",
        "services": [
          1
        ],
        "sql_server_database_allow_list": [
          "text"
        ],
        "sql_server_database_deny_list": [
          "text"
        ],
        "sql_server_schema_allow_list": [
          "text"
        ],
        "sql_server_schema_deny_list": [
          "text"
        ],
        "sql_server_gather_system_databases": true,
        "gather_postgresql_system_schemas": true,
        "postgresql_username": "text",
        "postgresql_password": "text",
        "postgresql_database_allow_list": [
          "text"
        ],
        "postgresql_database_deny_list": [
          "text"
        ],
        "postgresql_schema_allow_list": [
          "text"
        ],
        "postgresql_schema_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "sharepoint_site_allow_list": [
          "text"
        ],
        "sharepoint_site_deny_list": [
          "text"
        ],
        "rbac_id": "text",
        "skip_mailbox_folders": true,
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        },
        "user_custom_properties": [
          {
            "name": "text",
            "type": 1,
            "lcm_unique_identifier": true
          }
        ],
        "provisioning": true,
        "lifecycle_management_state": 1,
        "secret_references": [
          {
            "id": "text",
            "secret_id": "text",
            "vault_id": "text",
            "vault": {
              "id": "text",
              "name": "text",
              "vault_provider": "text",
              "insight_point_id": "text",
              "deleted": true
            }
          }
        ],
        "gather_group_extra_info": true,
        "gather_group_owner_details": true,
        "log_analytics_workspace_id": "text",
        "subscription_id_allow_list": [
          "text"
        ],
        "subscription_id_deny_list": [
          "text"
        ],
        "storage_account_name_allow_list": [
          "text"
        ],
        "storage_account_name_deny_list": [
          "text"
        ],
        "blob_container_name_allow_list": [
          "text"
        ],
        "blob_container_name_deny_list": [
          "text"
        ]
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "workspace_email": "text",
        "customer_id": "text",
        "services": [
          1
        ],
        "project_allow_list": [
          "text"
        ],
        "project_deny_list": [
          "text"
        ],
        "domain_allow_list": [
          "text"
        ],
        "domain_deny_list": [
          "text"
        ],
        "dataset_allow_list": [
          "text"
        ],
        "dataset_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ],
        "location_allow_list": [
          "text"
        ],
        "location_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "workspace_email": "text",
        "customer_id": "text",
        "services": [
          1
        ],
        "project_allow_list": [
          "text"
        ],
        "project_deny_list": [
          "text"
        ],
        "domain_allow_list": [
          "text"
        ],
        "domain_deny_list": [
          "text"
        ],
        "dataset_allow_list": [
          "text"
        ],
        "dataset_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ],
        "location_allow_list": [
          "text"
        ],
        "location_deny_list": [
          "text"
        ],
        "databricks_cloud_config": {
          "account_id": "text",
          "tag_name_collector_cluster": "text"
        },
        "provisioning": true,
        "lifecycle_management_state": 1,
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "identity_mapping_configuration": {
          "mappings": [
            {
              "destination_datasource_type": "text",
              "destination_datasource_oaa_app_type": "text",
              "type": 1,
              "mode": 1,
              "transformations": [
                1
              ],
              "custom_value": "text",
              "property_matchers": [
                {
                  "source_property": 1,
                  "destination_property": 1,
                  "custom_source_property": "text",
                  "custom_destination_property": "text"
                }
              ],
              "id_matchers": [
                {
                  "source_id": "text",
                  "destination_id": "text"
                }
              ],
              "destination_datasources": [
                {
                  "type": "text",
                  "oaa_app_type": "text"
                }
              ]
            }
          ],
          "use_email": true
        }
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "account_locator": "text",
        "region": "text",
        "cloud": "text",
        "user": "text",
        "role": "text",
        "warehouse": "text",
        "database_allow_list": [
          "text"
        ],
        "database_deny_list": [
          "text"
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "alternative_database_name": "text",
        "authentication_method": 1,
        "extract_tags": true,
        "provisioning": true,
        "lifecycle_management_state": 1,
        "export_database": "text",
        "export_schema": "text",
        "export_user": "text",
        "export_role": "text",
        "export_authentication_method": 1,
        "organization_account": true,
        "connection_type": 1,
        "account_name": "text",
        "org_name": "text",
        "private_link": true,
        "alternative_account_usage_schema_name": "text",
        "gather_masking_policies": true,
        "gather_row_access_policies": true,
        "gather_network_policies": true,
        "gather_projection_policies": true,
        "gather_password_policies": true,
        "gather_login_source_ip": true,
        "external_oauth_aws_region": "text",
        "external_oauth_ida_provider_uri": "text",
        "external_oauth_ida_resource_uri": "text",
        "account_allow_list": [
          "text"
        ],
        "account_deny_list": [
          "text"
        ]
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "account_locator": "text",
        "region": "text",
        "cloud": "text",
        "user": "text",
        "role": "text",
        "warehouse": "text",
        "database_allow_list": [
          "text"
        ],
        "database_deny_list": [
          "text"
        ],
        "audit_log": {
          "state": 1,
          "status": 1,
          "cursor": "2026-04-23T05:20:41.722Z",
          "synced_at": "2026-04-23T05:20:41.722Z"
        },
        "alternative_database_name": "text",
        "authentication_method": 1,
        "extract_tags": true,
        "provisioning": true,
        "lifecycle_management_state": 1,
        "export_database": "text",
        "export_schema": "text",
        "export_user": "text",
        "export_role": "text",
        "export_authentication_method": 1,
        "organization_account": true,
        "connection_type": 1,
        "account_name": "text",
        "org_name": "text",
        "private_link": true,
        "alternative_account_usage_schema_name": "text",
        "gather_masking_policies": true,
        "gather_row_access_policies": true,
        "gather_network_policies": true,
        "gather_projection_policies": true,
        "gather_password_policies": true,
        "gather_login_source_ip": true,
        "external_oauth_aws_region": "text",
        "external_oauth_ida_provider_uri": "text",
        "external_oauth_ida_resource_uri": "text",
        "account_allow_list": [
          "text"
        ],
        "account_deny_list": [
          "text"
        ]
      }
    }
    {
      "id": "text"
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "host": "text",
        "port": 1,
        "username": "text",
        "database_allow_list": [
          "text"
        ],
        "database_deny_list": [
          "text"
        ],
        "schema_allow_list": [
          "text"
        ],
        "schema_deny_list": [
          "text"
        ],
        "gather_system_databases": true,
        "instance_name": "text",
        "use_tls_connector": true
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "host": "text",
        "port": 1,
        "username": "text",
        "aws_s3_object_config": {
          "access_key": "text",
          "region": "text",
          "bucket": "text",
          "object": "text",
          "credentials_type": 1,
          "assume_role_name": "text",
          "account_id": "text"
        },
        "ssl_certificate": "text",
        "catalog_allow_list": [
          "text"
        ],
        "catalog_deny_list": [
          "text"
        ],
        "schema_allow_list": [
          "text"
        ],
        "schema_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ]
      }
    }
    {
      "value": {
        "id": "text",
        "vendor_id": "text",
        "name": "text",
        "type": 1,
        "state": 1,
        "data_plane_id": "text",
        "status": 1,
        "team_id": "text",
        "rbac_id": "text",
        "host": "text",
        "port": 1,
        "username": "text",
        "aws_s3_object_config": {
          "access_key": "text",
          "region": "text",
          "bucket": "text",
          "object": "text",
          "credentials_type": 1,
          "assume_role_name": "text",
          "account_id": "text"
        },
        "ssl_certificate": "text",
        "catalog_allow_list": [
          "text"
        ],
        "catalog_deny_list": [
          "text"
        ],
        "schema_allow_list": [
          "text"
        ],
        "schema_deny_list": [
          "text"
        ],
        "table_allow_list": [
          "text"
        ],
        "table_deny_list": [
          "text"
        ]
      }
    }

    Provider Management API

    Unified API for managing all provider configurations

    The Provider Management API provides a consolidated interface for managing all types of integration configurations in Veza. These endpoints work across all supported integration types including AWS, Azure, Google Cloud, Snowflake, and other providers.

    Use these endpoints to:

    • List all providers across all types with filtering and pagination

    • Update common provider fields (name, labels, owners, data_plane_id)

    • Delete provider configurations

    circle-info

    This API manages common fields across all provider types. For provider-specific configuration (regions, services, credentials), use the .

    hashtag
    List All Providers

    Returns a list of all configured providers across all types. Supports filtering, sorting, and pagination.

    hashtag
    Query Parameters

    Parameter
    Type
    Description

    hashtag
    Example Request

    hashtag
    Example Response

    circle-info

    Use page_size and page_token parameters for pagination. Continue fetching pages until next_page_token is empty or absent.

    hashtag
    Update Provider (Full)

    Perform a complete update of a provider configuration. All modifiable fields must be included in the request.

    hashtag
    Example Request

    hashtag
    Example Response

    hashtag
    Update Provider (Partial)

    Perform a partial update of a provider configuration. Only include the fields you want to change. Use the update_mask parameter to specify which fields to update.

    hashtag
    Example Request

    hashtag
    Example Response

    circle-info

    PATCH is preferred over PUT for updates. Use the update_mask parameter to explicitly specify which fields to update.

    hashtag
    Delete Provider

    Permanently delete a provider configuration and all associated data sources.

    hashtag
    Example Request

    hashtag
    Example Response

    Returns an empty response with HTTP status 200 OK on success.

    hashtag
    Provider Response Fields

    hashtag
    Core Fields

    Field
    Type
    Behavior
    Description

    hashtag
    Metadata Fields

    Field
    Type
    Behavior
    Description

    hashtag
    Organization Fields

    Field
    Type
    Behavior
    Description

    hashtag
    Status Fields

    Field
    Type
    Behavior
    Description

    hashtag
    Vendor Configuration

    Field
    Type
    Behavior
    Description

    hashtag
    Error Responses

    All endpoints return standard HTTP status codes:

    Status Code
    Description

    hashtag
    Related Documentation

    string

    Filter expression (e.g., state eq 'ENABLED', type eq 'AWS')

    include_datasource_status

    string

    Include datasource status in response

    include_type_summary

    boolean

    Include type summary field

    Provider-specific identifier (e.g., AWS account ID)

    name

    string

    Mutable

    Display name for the provider

    type

    string

    Immutable

    Provider type (AWS, AZURE, GOOGLE_CLOUD, etc.)

    state

    enum

    Output-only

    Provider state: ENABLED, DISABLED, DELETING, PENDING_DELETE

    status

    enum

    Output-only

    Discovery status: PENDING, SUCCESS, ERROR, UNAUTHENTICATED

    data_plane_id

    string

    Mutable

    Insight Point ID for data collection

    external_id

    string

    Output-only

    External identifier for cross-system references

    Last modification timestamp

    created_by

    string

    Output-only

    User ID who created the provider

    updated_by

    string

    Output-only

    User ID who last modified the provider

    created_by_name

    string

    Output-only

    Display name of creator (when requested)

    updated_by_name

    string

    Output-only

    Display name of last modifier (when requested)

    Owning team display name

    owners

    array[string]

    Mutable

    List of Veza user or group IDs with owner permissions

    owner_names

    array[string]

    Output-only

    Display names of owners

    labels

    array[string]

    Mutable

    Metadata labels (e.g., "production", "pci")

    rbac_id

    string

    Output-only

    RBAC identifier for access control

    Aggregate status of discoverer datasources

    lifecycle_management_state

    object

    Output-only

    Lifecycle Management provisioning state

    provisioning

    boolean

    Mutable

    Whether Lifecycle Management is enabled

    Forbidden - Insufficient permissions

    404

    Not Found - Provider does not exist

    409

    Conflict - Provider already exists or state conflict

    422

    Unprocessable Entity - Validation error

    500

    Internal Server Error

    get
    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    filterstringOptional
    page_sizeinteger · int32Optional
    page_tokenstringOptional
    include_datasource_statusstringOptional
    include_created_by_and_updated_by_namesbooleanOptional
    include_type_summarybooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    external_idstringOptional
    typestringOptional
    next_page_tokenstringOptional
    chevron-right
    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

    page_size

    integer

    Maximum number of results per page (default: 25)

    page_token

    string

    Token for retrieving the next page of results

    curl -X GET \
      "https://{tenant}.vezacloud.com/api/v1/providers?page_size=10&filter=state+eq+'ENABLED'" \
      -H "Authorization: Bearer {your_api_key}" \
      -H "Accept: application/json"
    {
      "values": [
        {
          "id": "883dd869-8762-4187-8767-1c387de14b4b",
          "vendor_id": "123456789012",
          "name": "AWS-Production",
          "type": "AWS",
          "state": "ENABLED",
          "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
          "status": "SUCCESS",
          "external_id": "501779813173",
          "team_id": "team-uuid-here",
          "team_name": "Platform Team",
          "created_at": "2024-01-15T10:30:00Z",
          "updated_at": "2024-08-26T14:22:00Z",
          "created_by": "user-uuid",
          "updated_by": "user-uuid",
          "owners": ["user-uuid-1", "group-uuid-1"],
          "labels": ["production", "critical"],
          "vendor": {},
          "lifecycle_management_state": "NOT_CONFIGURED",
          "provisioning": false
        },
        {
          "id": "fa04e92f-6e0d-4285-ba58-86a20c6941ff",
          "vendor_id": "contoso.onmicrosoft.com",
          "name": "Azure-Production",
          "type": "AZURE",
          "state": "ENABLED",
          "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
          "status": "SUCCESS",
          "external_id": "veza-ext-def456",
          "team_id": "team-uuid-here",
          "team_name": "Platform Team",
          "created_at": "2024-02-01T09:15:00Z",
          "updated_at": "2024-08-26T13:45:00Z",
          "owners": [],
          "labels": ["production"],
          "vendor": {},
          "lifecycle_management_state": "NOT_CONFIGURED",
          "provisioning": false
        }
      ],
      "next_page_token": "eyJvZmZzZXQiOjEwfQ=="
    }

    hashtag
    a generic endpoint for patch update providers of different types

    put

    the plan is to migrate all the provider update endpoints to this one

    one provider at a time

    while still keeping the old endpoints for backward compatibility

    Authorizations
    Authorization
    curl -X PUT \
      "https://{tenant}.vezacloud.com/api/v1/providers/883dd869-8762-4187-8767-1c387de14b4b" \
      -H "Authorization: Bearer {your_api_key}" \
      -H "Content-Type: application/json" \
      -d '{
        "value": {
          "id": "883dd869-8762-4187-8767-1c387de14b4b",
          "name": "AWS-Production-Updated",
          "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
          "owners": ["user-uuid-1", "group-uuid-1"],
          "labels": ["production", "critical", "pci"]
        }
      }'
    {
      "value": {
        "id": "883dd869-8762-4187-8767-1c387de14b4b",
        "vendor_id": "123456789012",
        "name": "AWS-Production-Updated",
        "type": "AWS",
        "state": "ENABLED",
        "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
        "status": "PENDING",
        "external_id": "501779813173",
        "team_id": "team-uuid-here",
        "team_name": "Platform Team",
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-08-26T15:30:00Z",
        "created_by": "user-uuid",
        "updated_by": "user-uuid",
        "owners": ["user-uuid-1", "group-uuid-1"],
        "labels": ["production", "critical", "pci"],
        "vendor": {},
        "lifecycle_management_state": "NOT_CONFIGURED",
        "provisioning": false
      }
    }

    hashtag
    a generic endpoint for patch update providers of different types

    patch

    the plan is to migrate all the provider update endpoints to this one

    one provider at a time

    while still keeping the old endpoints for backward compatibility

    Authorizations
    Authorization
    curl -X PATCH \
      "https://{tenant}.vezacloud.com/api/v1/providers/883dd869-8762-4187-8767-1c387de14b4b" \
      -H "Authorization: Bearer {your_api_key}" \
      -H "Content-Type: application/json" \
      -d '{
        "value": {
          "id": "883dd869-8762-4187-8767-1c387de14b4b",
          "name": "AWS-Production-Renamed",
          "labels": ["production", "updated"]
        },
        "update_mask": "name,labels"
      }'
    {
      "value": {
        "id": "883dd869-8762-4187-8767-1c387de14b4b",
        "vendor_id": "123456789012",
        "name": "AWS-Production-Renamed",
        "type": "AWS",
        "state": "ENABLED",
        "data_plane_id": "a2e32a80-9d64-4725-b4a9-8de6ffd0682b",
        "status": "PENDING",
        "external_id": "501779813173",
        "team_id": "team-uuid-here",
        "team_name": "Platform Team",
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-08-26T15:45:00Z",
        "owners": ["user-uuid-1", "group-uuid-1"],
        "labels": ["production", "updated"],
        "vendor": {},
        "lifecycle_management_state": "NOT_CONFIGURED",
        "provisioning": false
      }
    }
    delete
    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired
    Responses
    chevron-right
    200

    OK

    application/json
    objectOptional
    chevron-right
    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
    curl -X DELETE \
      "https://{tenant}.vezacloud.com/api/v1/providers/883dd869-8762-4187-8767-1c387de14b4b" \
      -H "Authorization: Bearer {your_api_key}"
    {}

    id

    string

    Output-only

    Unique provider identifier (UUID)

    vendor_id

    string

    created_at

    timestamp

    Output-only

    Creation timestamp

    updated_at

    timestamp

    team_id

    string

    Output-only

    Owning team identifier

    team_name

    string

    extractors_datasource_status

    enum

    Output-only

    Aggregate status of extractor datasources

    discoverers_datasource_status

    enum

    vendor

    object

    Output-only

    Provider-specific metadata. This field is typically empty in the generic Provider API. Use Provider-Specific APIs for detailed configuration.

    200

    Success

    400

    Bad Request - Invalid parameters or request body

    401

    Unauthorized - Invalid or missing API key

    Provider-Specific APIs
    Provider-Specific APIs
    Data Sources API
    API Authentication

    filter

    Output-only

    Output-only

    Output-only

    Output-only

    403

    get
    /api/v1/providers
    GET /api/v1/providers HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "values": [
        {
          "id": "text",
          "external_id": "text",
          "type": "text"
        }
      ],
      "next_page_token": "text"
    }
    string
    Required

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

    Path parameters
    value.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    idstringOptional
    external_idstringOptional
    typestringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    external_idstringOptional
    typestringOptional
    chevron-right
    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/v1/providers/{value.id}
    PUT /api/v1/providers/{value.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 48
    
    {
      "id": "text",
      "external_id": "text",
      "type": "text"
    }
    string
    Required

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

    Path parameters
    value.idstringRequired
    Query parameters
    update_maskstring · field-maskOptional
    Body
    idstringOptional
    external_idstringOptional
    typestringOptional
    Responses
    chevron-right
    200

    OK

    application/json
    idstringOptional
    external_idstringOptional
    typestringOptional
    chevron-right
    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
    patch
    /api/v1/providers/{value.id}
    PATCH /api/v1/providers/{value.id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 48
    
    {
      "id": "text",
      "external_id": "text",
      "type": "text"
    }
    delete
    /api/v1/providers/{id}
    DELETE /api/v1/providers/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {}
    {
      "value": {
        "id": "text",
        "external_id": "text",
        "type": "text"
      }
    }
    {
      "value": {
        "id": "text",
        "external_id": "text",
        "type": "text"
      }
    }

    Identity Providers

    API endpoints for configuring Okta and OneLogin

    You can manage Veza Identity Provider integrations using the management API and a Veza admin API key.

    circle-info

    AzureAD and Google Workspace identities are discovered by adding the associated Google Cloud account or Azure tenant as a cloud provider.

    • providers/activedirectory

    hashtag
    providers/activedirectory

    See the configuration guide for the prerequisite steps to integrate with Veza. An AD configuration has the following parameters:

    List Active Directory Providers

    The response will include all existing configurations, in the format:

    Create Active Directory Provider

    Get Active Directory Provider

    Delete Active Directory Provider

    Update Active Directory Provider

    hashtag
    providers/okta

    An Okta configuration includes connection information and credentials, as well as any limits on apps and domains to extract:

    See the integration guide for more details on retrieving an Okta API token and registering your domain with Veza.

    List Okta Providers

    hashtag
    List Okta Providers

    GET {{vezaURL}}/api/v1/providers/okta

    Get the configuration and status for all configured Okta integrations.

    * indicates a required field.

    Create Okta Provider

    hashtag
    Create Okta Provider

    POST {{vezaURL}}/api/v1/providers/okta

    Submit a new Okta provider configuration.

    * indicates a required field.

    hashtag
    Request Body

    Name
    Type
    Description

    Get Okta Provider

    hashtag
    Get Okta Provider

    GET {{vezaURL}}/api/v1/providers/okta/{id}

    Get an individual Okta provider configuration.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    Delete Okta Provider

    hashtag
    Delete Okta Provider

    DELETE {{vezaURL}}/api/v1/providers/okta/{id}

    Delete an Okta provider, removing all associated entities from Veza.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    Update Okta Provider

    hashtag
    Update Okta Provider

    PATCH {{vezaURL}}/api/v1/providers/okta/{id}

    Update an existing provider configuration with new properties.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    hashtag
    Query Parameters

    Name
    Type
    Description

    hashtag
    Request Body

    Name
    Type
    Description

    hashtag
    providers/onelogin

    A OneLogin configuration includes the domain, region, and credentials to use for the connection:

    See for steps to generate credentials for Veza-OneLogin API access.

    List OneLogin Providers

    hashtag
    List OneLogin Providers

    GET {{vezaURL}}/api/v1/providers/onelogin

    Gets all configured OneLogin providers.

    * indicates a required field.

    Create OneLogin Provider

    hashtag
    Create OneLogin Provider

    POST {{vezaURL}}/api/v1/providers/onelogin

    Submit a new OneLogin provider configuration. See

    for more information about enabling Veza access to OneLogin metadata.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    Get OneLogin Provider

    hashtag
    Get OneLogin Provider

    GET {{vezaURL}}/api/v1/providers/onelogin/{id}

    Return the status and configuration for a single OneLogin provider configuration.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    Delete OneLogin Provider

    hashtag
    Delete Onelogin Provider

    DELETE {{vezaURL}}/api/v1/providers/onelogin/{id}

    Delete a OneLogin configuration and its discovered entities.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    Update OneLogin Provider

    hashtag
    Update OneLogin Provider

    PATCH {{VezaURL}}/api/v1/providers/onelogin/{id}

    Update a OneLogin provider configuration. You can provide field mask paths to only update specific fields.

    * indicates a required field.

    hashtag
    Path Parameters

    Name
    Type
    Description

    hashtag
    Query Parameters

    Name
    Type
    Description

    hashtag
    Request Body

    Name
    Type
    Description
    Delete Active Directory Provider
  • Update Active Directory Provider

  • Get Okta Provider
  • Delete Okta Provider

  • Update OneLogin Provider

  • Get OneLogin Provider
  • Delete OneLogin Provider

  • Update OneLogin Provider

  • string

    The Okta region

    us

    data_plane_id

    string

    Provide if connecting via an Insight Point

    token*

    string

    Okta API token

    gather_all_applications

    boolean

    Whether to extract all apps or only selected

    domain_allow_list

    string list

    Domains to explicitly allow

    domain_deny_list

    string list

    Domains to exclude from discovery

    app_allow_list

    string list

    Apps to explicitly allow

    app_deny_list

    string list

    Apps to exclude from discovery

    string

    string

    The region of the Onelogin instance, e.g.

    us

    client_id*

    string

    Client ID for the OneLogin key pair

    client_secret*

    string

    Client Secret for the OneLogin ID pair

    data_plane_id

    string

    Insight Point ID to use for the connection

    string

    client_id*

    string

    client_secret*

    string

    data_plane_id

    string

    name*

    string

    Name for the Okta Provider

    domain*

    string

    Okta domain

    id*

    string

    The Okta provider configuration ID

    id

    string

    ID of the configuration to delete

    {id}*

    string

    The Okta provider configuration ID

    update_mask.paths

    array[string]

    the set of field mask paths

    domain

    string

    region

    string

    name*

    string

    The name to show in Veza

    domain*

    string

    Your company's OneLogin domain

    id*

    string

    OneLogin provider ID

    id*

    string

    The OneLogin configuration to delete

    {id}*

    string

    ID of the OneLogin configuration to update

    update_mask.paths

    array[string]

    The set of field mask paths

    name*

    string

    domain*

    string

    List Active Directory Providers
    Create Active Directory Provider:
    Get Active Directory Provider
    providers/okta
    List Okta Providers
    Create Okta Provider
    providers/onelogin
    List OneLogin Providers
    Create OneLogin Provider
    Active Directory
    Okta
    connecting to OneLogin
    OneLogin

    region*

    token

    region*

    region*

    {
      "ad_fqdn": "FQDN.NAME.ON.CERT",
      "name": "Test-AD",
      "host": "FQDN.FOR.DOMAIN.CONTROLLER",
      "port": 636,
      "ldaps_certificate": "Base64 Encoded String of PEM format",
      "username": "ADMIN",
      "password": "PASSWORD",
      "domains": ["FQDN.OF.DOMAIN"],
      "data_plane_id": "DATAPLAN_ID"
    }
    curl --location --request GET '/api/v1/providers/activedirectory' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer TOKEN'
    {
        "values": [
            {
                "id": "interation-GUID",
                "vendor_id": "domain.controller.FQDN",
                "name": "ad_cct01",
                "type": "ACTIVE_DIRECTORY",
                "state": "ENABLED",
                "data_plane_id": "insight-point-GUID",
                "status": "SUCCESS",
                "host": "domain.controller.FQDN",
                "port": 636,
                "username": "read.only",
                "domains": [
                    "corp.cookie.ai"
                ],
                "ad_fqdn": "cct01-ad-01.corp.cookie.ai",
                "identity_mapping_configuration": null
            }
        ]
    }
    curl --location --request POST '/api/v1/providers/activedirectory' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer TOKEN' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "ad_fqdn": "FQDN.NAME.ON.CERT",
      "name": "Test-AD",
      "host": "FQDN.FOR.DOMAIN.CONTROLLER",
      "port": 636,
      "ldaps_certificate": "Base64 Encoded String of PEM format",
      "username": "ADMIN",
      "password": "PASSWORD",
      "domains": ["FQDN.OF.DOMAIN"],
      "data_plane_id": "DATAPLAN_ID"
    }'
    curl --location --request POST '/api/v1/providers/activedirectory' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer TOKEN' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "ad_fqdn": "FQDN.NAME.ON.CERT",
      "name": "Test-AD",
      "host": "FQDN.FOR.DOMAIN.CONTROLLER",
      "port": 636,
      "ldaps_certificate": "Base64 Encoded String of PEM format",
      "username": "ADMIN",
      "password": "PASSWORD",
      "domains": ["FQDN.OF.DOMAIN"],
      "data_plane_id": "DATAPLAN_ID"
    }'
    curl --location --request DELETE '/api/v1/providers/activedirectory/{{provider_id}}' \
    --header 'Authorization: Bearer TOKEN'
    curl --location --request PATCH '/api/v1/providers/azure/{{provider_id}}' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer TOKEN' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "port": 636
    }'
    {
      "id": "string",
      "domain": "string",
      "region": "string",
      "token": "string",
      "gather_all_applications": true,
      "domain_allow_list": [
        "string"
      ],
      "domain_deny_list": [
        "string"
      ],
      "app_allow_list": [
        "string"
      ],
      "app_deny_list": [
        "string"
      ]
    }
    {
      "values": [
        {
          "id": "string",
          "vendor_id": "string",
          "name": "string",
          "type": "UNKNOWN_PROVIDER",
          "state": "STARTED",
          "data_plane_id": "string",
          "status": "PENDING",
          "domain": "string"
        }
      ]
    }
    {
      "values": [
        {
          "id": "string",
          "vendor_id": "string",
          "name": "string",
          "type": "UNKNOWN_PROVIDER",
          "state": "STARTED",
          "data_plane_id": "string",
          "status": "PENDING",
          "domain": "string"
        }
      ]
    }
    {
      "value": {
        "id": "string",
        "vendor_id": "string",
        "name": "string",
        "type": "UNKNOWN_PROVIDER",
        "state": "STARTED",
        "data_plane_id": "string",
        "status": "PENDING",
        "domain": "string"
      }
    }
    {}
    {
      "value": {
        "id": "string",
        "vendor_id": "string",
        "name": "string",
        "type": "UNKNOWN_PROVIDER",
        "state": "STARTED",
        "data_plane_id": "string",
        "status": "PENDING",
        "domain": "string"
      }
    }
    {
      "name": "string",
      "domain": "string",
      "region": "string",
      "client_id": "string",
      "client_secret": "string",
      "data_plane_id": "string"
    }
    {
      "values": [
        {
          "id": "string",
          "vendor_id": "string",
          "name": "string",
          "type": "UNKNOWN_PROVIDER",
          "state": "STARTED",
          "data_plane_id": "string",
          "status": "PENDING",
          "domain": "string",
          "region": "string",
          "client_id": "string"
        }
      ]
    }
    {
      "value": {
        "id": "string",
        "vendor_id": "string",
        "name": "string",
        "type": "UNKNOWN_PROVIDER",
        "state": "STARTED",
        "data_plane_id": "string",
        "status": "PENDING",
        "domain": "string",
        "region": "string",
        "client_id": "string"
      }
    }
    {
      "value": {
        "id": "string",
        "vendor_id": "string",
        "name": "string",
        "type": "UNKNOWN_PROVIDER",
        "state": "STARTED",
        "data_plane_id": "string",
        "status": "PENDING",
        "domain": "string",
        "region": "string",
        "client_id": "string"
      }
    }
    {}
    {
      "values": [
        {
          "id": "string",
          "vendor_id": "string",
          "name": "string",
          "type": "UNKNOWN_PROVIDER",
          "state": "STARTED",
          "data_plane_id": "string",
          "status": "PENDING",
          "domain": "string",
          "region": "string",
          "client_id": "string"
        }
      ]
    }