All pages
Powered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

SCIM Provisioning

Automate user lifecycle management from your Identity Provider (IdP) with user and group provisioning through SCIM 2.0.

Overview

Veza's SCIM API provides a powerful automation tool to manage user access throughout the identity lifecycle. When an employee joins, changes roles, or leaves your organization, these changes can automatically propagate to Veza, maintaining access control while reducing administrative overhead.

The SCIM (System for Cross-domain Identity Management) protocol is an open standard for automating user provisioning between identity providers and applications. Veza exposes a standards-compliant SCIM 2.0 API at https://{tenant}.vezacloud.com/scim/v2.

Supported identity providers

Veza supports SCIM 2.0 integration with:

  • Okta

  • (formerly Azure AD)

Before implementing SCIM provisioning, ensure you understand the prerequisites and process flow. This integration requires administrator access to both Veza and your identity provider, as well as a dedicated service account for secure API communication.

The implementation follows these key steps:

  1. Create a dedicated admin user in Veza with SCIM Provisioner privileges

  2. Generate and securely store an API key for your identity provider to authenticate

  3. Enable SCIM provisioning in Veza's administration settings

  4. Configure your identity provider with Veza's SCIM endpoint and authentication details

For identity provider-specific instructions, follow the detailed guide for .

SCIM requests authenticate with an API key belonging to a principal that has the SCIM Provisioner role. See in the SCIM API Reference.

When enabling SCIM, there are some critical behaviors to be aware of:

  • SAML and SCIM interaction: When you enable SCIM provisioning, Veza automatically disables SAML Just-in-Time (JIT) provisioning to prevent potential conflicts. User profile updates now come exclusively from your identity provider through SCIM.

  • Group-to-role mapping: Veza maps each identity provider group to one or more team/role assignments in Veza. When a user's group membership changes in your IdP, Veza automatically updates their team/role assignments.

  • Permission persistence: If a user has the same permission from multiple groups, that permission remains until you remove the user from all groups granting that access. For example, if a user belongs to two groups that both assign Admin roles, removing them from only one group will not revoke their Admin permissions.

  • - SCIM API endpoints and schema documentation

  • - Create and manage API keys

  • - Configure SAML SSO

  • - More information about Veza teams and role assignments

Enable push groups to align identity provider groups with Veza teams and roles

  • Validate the integration by testing the full provisioning lifecycle

  • Enabling SCIM provisioning

    Important notes for SCIM Provisioning

    SCIM User Lifecycle Automation Flow

    Additional resources

    Microsoft Entra ID
    Okta
    Authentication
    SCIM API Reference
    API Authentication
    Single Sign-On Configuration
    Team Management

    SCIM Provisioning with Microsoft Entra ID

    Configuring automated user provisioning between Microsoft Entra ID and Veza using SCIM 2.0.

    This guide explains how to configure Microsoft Entra ID as your identity provider (IdP) for automated user provisioning with Veza. Following these steps will establish a connection between Entra ID and Veza for managing the complete user lifecycle, including account provisioning and deprovisioning.

    Notes on SCIM Provisioning

    Veza supports the following SCIM provisioning features:

    Feature
    Description

    Push New Users

    When using SCIM provisioning, Veza implements the following security behaviors that administrators should understand:

    SCIM with SAML SSO: When SCIM provisioning is enabled in Veza Sign-In Settings, Veza no longer synchronizes user profiles during SAML logins (SAML JIT and SAML metadata sync is disabled).

    Group-to-Role Mapping Behavior: Each unique push group from Entra ID is mapped to one or more team/role assignments in Veza. When a user is provisioned or their group membership changes, this role mapping is automatically applied to create or update the corresponding team/role assignments.

    Permission Persistence: Users can receive the same permission from multiple IdP groups. Veza preserves permissions until all sources are removed. For example, if a user belongs to two different IdP groups that both assign Root/Admin roles in Veza, removing the user from only one of these groups will not revoke their Root/Admin permissions. The user will retain these permissions until removed from all groups granting access.

    To enable SCIM provisioning with Entra ID, you will need:

    • A Microsoft Entra subscription with permission to create enterprise applications

    • Entra ID SAML SSO with Veza already configured. SCIM provisioning requires a SAML auth provider connection in Veza. See for setup instructions. Note: SCIM provisioning uses a separate non-gallery enterprise application in Entra ID; keep your existing SSO application in place.

    • Administrator access to Veza

    • HTTPS access to your Veza instance

    You will need a dedicated local admin user in Veza for SCIM configuration, created during setup.

    Important considerations:

    • At least one admin user must exist on the root team (break glass account)

    • Once SCIM is enabled, all user management must be performed through Entra ID

    • userName must match the user's primary email address. Veza validates that the SCIM userName and the primary emails value are identical. Configure Entra ID to send userName

    1. Go to Administration > User Management and create a new Veza user.

    2. Assign the user to the root team with the following roles:

      • Admin or Operator is required to log in and create a personal API key. This role can be revoked after the API key is obtained.

    See for more on adding local user accounts to Veza.

    1. Sign in as the newly created SCIM admin user.

    2. Navigate to Administration > API Keys.

    3. Create a new API key:

      • This is a personal API key for the SCIM admin user.

    1. In the Microsoft Entra admin center, go to Entra ID > Enterprise applications.

    2. Click New application, then select Create your own application.

    3. Enter a name (for example, "Veza SCIM"), select Integrate any other application you don't find in the gallery, and click Create.

    1. Under Settings, set Scope to Sync only assigned users and groups. This limits provisioning to users and groups explicitly assigned to the application, avoiding unintended account creation.

    2. Expand Mappings and open the Provision Microsoft Entra ID Users mapping.

    3. Review the attribute mappings. The following attributes are required:

    1. In the application, select Users and groups.

    2. Add the Entra ID groups and users to provision to Veza.

    3. Return to Provisioning and set Provisioning Status to On, then save.

    After enabling provisioning, Entra ID runs an initial sync cycle immediately, then syncs on a 40-minute interval. See for more details on the provisioning cycle.

    Groups provisioned via SCIM appear as Teams in Veza under Administration > Team Management. Groups do not automatically carry Veza role assignments; you must configure role mappings in Veza separately.

    To assign roles to provisioned groups:

    1. In Veza, navigate to Administration > Sign-in Settings.

    2. Click Configure on your SAML connection.

    3. In the Role Mapping section, add a mapping for each Entra ID group that should receive a Veza role.

    See and for more information.

    1. In Entra ID, go to Provisioning > Provision on demand, select a test user, and run a provisioning cycle.

    2. Review Provisioning logs for success or error details.

    3. In Veza, verify the test user appears under Administration > User Management with the correct name and email address.

    To remove users from Veza:

    1. In Entra ID:

      • Unassign the user from the Veza application, or disable or delete the account.

    2. In Veza:

      • The user will appear as deactivated.

    To remove groups:

    1. In Entra ID:

      • Remove the group assignment from the application.

    • Check Provisioning logs in Entra ID for specific error messages on each user.

    • Verify the user is assigned to the application and is a member of an assigned group.

    • Confirm that userName maps to the user's email address. This is the most common provisioning rejection.

    Entra ID is sending a userPrincipalName that is not in email format. Update the Entra ID attribute mapping to send mail as userName instead of userPrincipalName.

    Entra ID may send a PATCH operation updating the displayName attribute during profile sync. Veza does not support patching displayName directly and returns a 400 error for this operation. Veza derives the display name from givenName and familyName. To prevent this, remove any displayName attribute mapping from the Provision Microsoft Entra ID Users mapping in Entra ID.

    • Verify the API key was copied correctly into the Secret Token field.

    • Confirm the SCIM admin user's API key has not expired or been revoked.

    • Ensure your Veza instance is accessible via HTTPS.

    For additional assistance, contact Veza Support and provide the following information if available:

    • Entra ID provisioning logs

    • Veza error messages

    • Timeline of the issue

    • Steps to reproduce

    as the user's email address. If your organization's
    userPrincipalName
    values are not in email format, map
    userName
    to
    mail
    instead.
  • Queries are limited to returning a maximum of 200 items at a time

  • Veza creates Teams from groups provisioned through SCIM. Permissions are managed by assigning roles to teams provisioned in Veza.

  • SCIM Provisioner is required to access Veza SCIM endpoints.
    Creating a SCIM admin account in Veza.
  • Check your email for "Welcome to Veza.com" and reset the password.

  • Save this key securely using your organization's secrets management process; this key has administrative access to your Veza instance.

  • The key cannot be retrieved after creation.

  • Go to Administration > Sign-in Settings.

  • Scroll down and check the box to Enable SCIM provisioning.

    • Note: There is a 30-second delay before endpoints become available.

  • In the new application, select Provisioning from the left menu.
  • Set Provisioning Mode to Automatic.

  • Expand Admin Credentials and configure the following:

    • Tenant URL: https://{tenant}.vezacloud.com/scim/v2

    • Secret Token: The Veza API key from step 2

  • Click Test Connection. A success message confirms that Entra ID can reach the Veza SCIM endpoint with the provided credentials.

  • Entra attribute
    SCIM attribute
    Notes

    userPrincipalName

    userName

    Must resolve to the user's email address

    mail

    emails[type eq "work"].value

    Primary email; must match userName

  • Do not enable enterprise extension attribute mappings. Veza's SCIM implementation supports only core SCIM 2.0 attributes.

  • Verify Entra ID groups appear as Teams under Administration > Team Management.
  • Verify team membership matches the group membership in Entra ID.

  • Test deprovisioning: unassign a test user from the application in Entra ID, wait for the next provisioning cycle, and confirm the account is deactivated in Veza.

  • The user cannot log in.

  • The user's API keys are disabled.

  • Confirm SCIM provisioning is enabled in Veza under
    Administration
    >
    Sign-in Settings
    .

    Users assigned to the Veza application in Entra ID are automatically created in Veza

    Push Profile Updates

    Profile changes in Entra ID are automatically updated in Veza

    Push Groups

    Groups assigned to the Veza application in Entra ID are automatically created as Teams in Veza

    Deactivate Users

    Removing users from the Veza application in Entra ID automatically deactivates them in Veza

    Reactivate Users

    Reassigning previously deactivated users in Entra ID reactivates them in Veza

    Prerequisites

    Ensure you maintain at least one local admin account on the root team as a break glass account. This account provides access if there are issues with your identity provider connection.

    Enabling SCIM Provisioning with Entra ID

    1. Create a SCIM Admin User in Veza

    2. Create an API Key and enable SCIM provisioning

    3. Create a new enterprise application for SCIM provisioning

    The Veza application in the Microsoft Entra gallery is outdated and does not include SCIM provisioning support. Do not use the gallery app for this step. Create a new, non-gallery enterprise application as described below.

    4. Configure provisioning scope and attribute mappings

    5. Assign users and groups, and start provisioning

    Users must be both assigned to the application and members of an assigned group to be provisioned successfully and able to log in.

    Role management

    Validation

    User deprovisioning

    Troubleshooting

    Users not syncing

    "userName and email must be the same" error

    Profile update errors

    Authentication failures

    Getting help

    Single Sign-On with Microsoft Entra
    User Management
    How provisioning works
    Role Mapping for Single Sign-On
    Teams

    Veza requires that userName and the user's primary email address are the same value. If your organization's userPrincipalName is not in email format, update the mapping so that userName maps to mail instead. Provisioning will fail for any user where these values differ.

    givenName

    name.givenName

    Required

    surname

    name.familyName

    Required

    IsSoftDeleted

    active

    Controls account deactivation

    SCIM Provisioning with Okta

    Step-by-step guide for configuring automated user provisioning between Okta and Veza using SCIM 2.0.

    This guide explains how to configure Okta as your identity provider (IdP) for secure, automated user provisioning with Veza. Following these steps will establish a connection between Okta and Veza for managing the complete user lifecycle including account provisioning and deprovisioning.

    Notes on SCIM Provisioning

    Veza supports the following SCIM provisioning features:

    Feature
    Description

    Push New Users

    When using SCIM provisioning, Veza implements the following critical security behaviors that administrators should understand:

    SCIM with SAML SSO: When SCIM provisioning is enabled in Veza Sign-In Settings, Veza no longer synchronizes user profiles during SAML logins (SAML JIT and SAML metadata sync is disabled).

    Group-to-Role Mapping Behavior: Each unique push group from Okta is mapped to one or more team/role assignments in Veza. When a user is provisioned or their group membership changes, this role mapping is automatically applied to create or update the corresponding team/role assignments.

    Permission Persistence: Users can receive the same permission from multiple IdP groups. Veza preserves permissions until all sources are removed. For example, if a user belongs to two different IdP groups that both assign Root/Admin roles in Veza, removing the user from only one of these groups will not revoke their Root/Admin permissions. The user will retain these permissions until removed from all groups granting access.

    To enable SCIM provisioning with Okta, you will need:

    • Administrator access to both Veza and Okta

    • An understanding of your organization's access control requirements

    • HTTPS access to your Veza instance

    • An Okta version that supports SCIM 2.0

    You will need a dedicated local admin user in Veza for SCIM configuration, created during setup.

    Important Considerations:

    • At least one admin user must exist on the root team (break glass account)

    • Once SCIM is enabled, all user management must be performed through Okta

    • Okta User names must be the same as the user's email address

    • Queries are limited to returning a maximum of 200 items at a time

    1. Go to Administration > User Management and create a new Veza user:

    2. Assign the user to the root team with the following roles:

      • Admin is required for user management.

      • SCIM Provisioner

    See for more on adding local user accounts to Veza.

    1. Sign in as the newly created SCIM admin user

    2. Navigate to Administration > API Keys

    3. Create a new API key:

      • This is a personal API key for the SCIM admin user

    1. In your Okta Admin Console, navigate to Applications > Applications

    2. Click Create App Integration

    3. Select SCIM as the sign-in method

    4. Configure the app with the following settings:

    To log in to Veza, Okta users must be members of push groups assigned to the Veza application:

    1. In Okta:

      • Create or identify the groups that will be used for Veza access

      • Assign users to these groups

      • Navigate to your Veza application

    See for more about pushing existing Okta groups with SCIM.

    In Veza:

    • Verify provisioned groups appear on the Administration > Team Management page

    • For each team:

      1. Click on the team to view details

      2. To change roles for a user, click Change Roles in the Actions

    Team and role assignments determine user permissions within Veza. See for more information.

    Groups are shown in Veza under the SAML configuration details. Click "Configure" on the Administration > Sign-in Settings page to view the pushed groups:

    When using SCIM provisioning with Veza:

    1. You can use your existing Okta groups for provisioning users and teams to Veza.

    2. For proper role assignment, ensure the groups pushed through SCIM match the groups configured in your Veza SSO settings:

      • Navigate to Administration > Sign-in Settings in Veza

      • Click "Configure" on your SAML connection

    1. in Okta, test the connector configuration:

      • Click Test Connector Configuration for the app integration

      • Verify the successful connection:

    To remove users from Veza:

    1. In Okta:

      • Remove the user from all pushed groups

      • Unassign the user from the Veza application

    2. In Veza:

    To remove groups:

    1. In Okta:

      • Remove the group from the SCIM application's Push Groups tab

    • Verify the user is assigned to the Veza application in Okta

    • Confirm user is a member of at least one pushed group

    • Check user's email matches their username

    • Review Okta Dashboard Tasks for provisioning errors

    • Verify the API key is correctly copied to Okta

    • Confirm that SCIM is enabled on the Veza Sign-in Settings page.

    • Ensure your Veza instance is accessible via HTTPS

    For additional assistance, please contact Veza Support and provide the following information if available:

    • Okta System Log and Dashboard Tasks entries

    • Veza error messages

    • Timeline of the issue

    • Steps to reproduce

    Veza creates Teams from groups provisioned through SCIM. Permissions are managed by assigning roles to teams provisioned in Veza.

    is required to access Veza SCIM endpoints.
    Creating a SCIM admin account in Veza.
  • Check your email for "Welcome to Veza.com" and reset the password

  • Save this key securely using your organization's secrets management process; this key has administrative access to your Veza instance

  • The key cannot be retrieved after creation

  • Go to Administration > Sign-in Settings

  • Scroll down and check the box to Enable SCIM provisioning

    • Note: There is a 30-second delay before endpoints become available

  • Base URL: https://TENANT.vezacloud.com/scim/v2

  • Unique identifier field for users: userName

  • Supported provisioning actions:

    • Push New Users

    • Push Profile Updates

    • Push Groups

    • Deactivate Users

  • Authentication Mode: HTTP Header

  • Authorization: Your Veza API key from Step 2 "Create an API Key and enable SCIM provisioning"

  • Example SCIM configuration in Okta.

    Select the Push Groups tab

  • Add the groups you want to provision to Veza

  • column.
  • To change the team scope, click Edit and add or remove providers, then save your changes.

  • Review the "Role Mapping" section to verify your group-to-role mappings

  • For details on SSO role mapping, see Role Mapping for Single Sign-On.

  • To add permissions to teams:

    • Navigate to Administration > Team Management in Veza

    • For each team:

      1. Click on the team to view details

      2. To change roles for a user, click Change Roles in the Actions column

      3. To change the team scope, click Edit and add or remove providers, then save your changes

    See for more information on team management.

  • To assign Veza roles directly to individual users using the Roles attribute in Okta:

    1. In Okta Admin Console, navigate to your Veza application

    2. Under Provisioning > To App, click Edit

    3. In the Attribute Mappings section, add the following:

      • Okta Attribute: roles

      • Veza Attribute: roles

    4. Available roles:

      • admin

      • viewer

      • operator

    Note that direct role assignments can only be set for individual users (not groups).

  • Verify user provisioning:
    • Assign a test user to the Veza application and a pushed group

    • Wait 2-3 minutes for synchronization

    • Confirm the user appears in Veza under Administration > User Management

    • Verify the account's attributes match the Okta user.

  • Verify group provisioning:

    • Confirm Okta groups appear as Teams in Veza

    • Verify that team membership matches the group membership in Okta

    • Test that assigning roles to teams functions as expected

  • Test security boundaries:

    • Attempt to sign in with a deprovisioned user to verify access is properly removed

    • Verify that removing a user from one group but not another maintains appropriate permissions

    • Confirm that users cannot access Veza directly (bypassing SCIM/SAML) once integration is complete

  • The user should appear as deactivated

  • The user cannot log in

  • The user's API keys are disabled

  • Review Okta System Log for provisioning errors

  • Confirm group push is enabled in the application settings

  • In Okta, verify the group is added to the Push Groups tab for the Veza app

  • Users assigned to the Veza application in Okta are automatically created in Veza

    Push Profile Updates

    Profile changes in Okta are automatically updated in Veza

    Push Groups

    Groups assigned to the Veza application in Okta are automatically created as Teams in Veza

    Deactivate Users

    Removing users from the Veza application in Okta automatically deactivates them in Veza

    Reactivate Users

    Reassigning previously deactivated users in Okta reactivates them in Veza

    Prerequisites

    Ensure you maintain at least one local admin account on the root team as a break glass account. This account provides access if there are issues with your identity provider connection.

    Enabling SCIM Provisioning with Okta

    1. Create a SCIM Admin User in Veza

    2. Create an API Key and enable SCIM provisioning

    3. Configure Okta

    4. Configure Group Push and Permissions

    Users must be both assigned to the Veza application AND be members of a pushed group to be provisioned successfully.

    5. Role Management in Okta

    Validation

    User Deprovisioning

    Troubleshooting

    Users or Groups not syncing

    API authentication failures

    Getting help

    User Management
    Group Push
    Teams
    Click "Configure" to view SSO groups
    Successful test.
  • scim_provisioner

  • Teams

    SCIM API Reference

    APIs for automating user and group provisioning.

    Veza's SCIM 2.0 API enables automated user provisioning and management through your identity provider (IdP). This reference documents the API endpoints, request/response formats, and authentication requirements.

    About This API

    • Version: 2.0

    • Base URL: https://{tenant}.vezacloud.com/scim/v2

    • Protocol: HTTPS only

    • Data Format: JSON

    • Authentication: Bearer token

    • Query Limit: 200 requests per minute

    This API implements the SCIM 2.0 protocol specifications:

    • - SCIM Core Schema

    • - SCIM Protocol

    The API supports the following SCIM resource types:

    Resource
    Description
    Endpoints

    All SCIM API requests require a bearer token in the Authorization header:

    Use an belonging to a user or team service account that has the SCIM Provisioner role, and send the key as the bearer token. Identity provider integrations, such as the and guides, use this method.

    • Store and transmit API keys securely as they have administrative privileges

    • All connections must use TLS 1.2 or higher

    • SCIM API access should be restricted to your IdP's dedicated service account

    • You can implement monitoring using Veza APIs or event subscriptions for unexpected provisioning or deprovisioning activities

    The API returns standard HTTP status codes and a SCIM-compliant error response:

    Important notes:

    • All user management should be performed through your IdP once SCIM is enabled

    • At least one admin user must exist on the root team as a break glass account

    • Filtering operations are limited to equality (EQ) comparisons

    • Error responses follow the SCIM error schema

    The displayName attribute is required for group creation.

    Deleting a group removes it from Veza but does not affect the source group in your IdP.

    • Maximum of 200 groups returned per request

    • Filtering is limited to equality operations (EQ)

    Returns the SCIM schema definition supported by Veza.

    Required attributes:

    • givenName

    • familyName

    • userName (must match email address)

    Additional requirements:

    • Email attribute must be marked as primary

    • Groups cannot be specified with group metadata

    • When using SAML JIT, changing the email address may result in a new user being provisioned

    Returns the resource types supported by the SCIM implementation.

    Returns a list of provisioned users.

    Only the following attributes can be modified:

    • displayName

    • members

    • externalId

    Updates specific attributes of a user's metadata.

    • Veza does not accept password changes

    • When Veza receives an update for a local user account, the account is converted to an SSO account. Going forward, the user must sign in to their SSO provider.

    Replaces a user's metadata entirely. Note:

    • Email attribute must be marked as primary

    • SCIM-provisioned users cannot change their details in Veza

    • Username must match email address

    • The request cannot include groups information

    Returns the SCIM service provider configuration.

    Deactivates the user in Veza. User management should be performed through your IdP once SCIM is enabled.

    Dates use ISO 8601 format

    displayName

    Veza does not accept password changes

  • When Veza receives an update for a local user account, the account is converted to an SSO account. Going forward, the user must sign in to their SSO provider.

  • Users

    Individual user accounts

    /Users

    Groups

    User groups mapped to Veza Teams

    Authorization: Bearer <token>
    {
      "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
      "status": "400",
      "scimType": "invalidValue",
      "detail": "Email must be marked as primary"
    }

    Compliance

    Resource Types

    Authentication

    SCIM provisioning must be enabled in Administration > Sign-in Settings under Provisioning.

    Security Considerations

    Error Handling

    SCIM Endpoints

    Create Group

    Delete Group

    List Groups

    Get Schema

    Create User

    List Resource Types

    Get Users

    Patch Group

    Patch User

    Update User

    Get Service Provider Configuration

    Delete User

    RFC 7643
    RFC 7644
    API key
    Okta
    Microsoft Entra ID

    /Groups

    Schemas

    Resource type definitions

    /Schemas

    ServiceProviderConfig

    Service provider configuration

    /ServiceProviderConfig

    ResourceTypes

    Available resource types

    /ResourceTypes

    post

    Creates a new Veza group in the system

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Body
    anyOptional

    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.

    Responses
    200

    OK

    */*
    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/scim/v2/Groups
    POST /scim/v2/Groups HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    
    delete

    Deletes a specific Veza group by id

    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired

    A unique request id used for tracing and debugging purposes.

    Query parameters
    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/Groups/{id}
    DELETE /scim/v2/Groups/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    get

    Retrieves a list of Veza groups

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/Groups
    GET /scim/v2/Groups HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    get

    Returns the schema definitions supported by Veza including all attributes,

    their mutability, returned status, uniqueness, and type information.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/Schemas
    GET /scim/v2/Schemas HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    post

    Creates a new Veza user in the system.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Body
    anyOptional

    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.

    Responses
    200

    OK

    */*
    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/scim/v2/Users
    POST /scim/v2/Users HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    
    get

    Returns the types of resources available in Veza's SCIM implementation (Users, Groups).

    Each resource type includes the endpoint, schema URI, and supported operations.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/ResourceTypes
    GET /scim/v2/ResourceTypes HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    get

    Retrieves a list of Veza users. Supports filtering, pagination and sorting.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/Users
    GET /scim/v2/Users HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    patch

    Updates an existing Veza group's attributes using patch operations

    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired

    A unique request id used for tracing and debugging purposes.

    Query parameters
    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Body
    anyOptional

    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.

    Responses
    200

    OK

    */*
    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/scim/v2/Groups/{id}
    PATCH /scim/v2/Groups/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    
    patch

    Updates an existing Veza user's attributes using PATCH operations.

    Supports operations: add, replace, remove

    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired

    A unique request id used for tracing and debugging purposes.

    Query parameters
    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Body
    anyOptional

    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.

    Responses
    200

    OK

    */*
    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/scim/v2/Users/{id}
    PATCH /scim/v2/Users/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    
    put

    Replaces an existing Veza user with a new profile

    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired

    A unique request id used for tracing and debugging purposes.

    Query parameters
    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Body
    anyOptional

    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.

    Responses
    200

    OK

    */*
    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/scim/v2/Users/{id}
    PUT /scim/v2/Users/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    
    get

    Returns SCIM protocol features supported by Veza, including authentication

    schemes, patch support, bulk operations capability, and filtering features.

    Authorizations
    AuthorizationstringRequired

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

    Query parameters
    idstringOptional

    A unique request id used for tracing and debugging purposes.

    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/ServiceProviderConfig
    GET /scim/v2/ServiceProviderConfig HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    delete

    Deletes a specific Veza user by id

    Authorizations
    AuthorizationstringRequired

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

    Path parameters
    idstringRequired

    A unique request id used for tracing and debugging purposes.

    Query parameters
    payloadanyOptional

    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.

    start_indexinteger · int32Optional

    startIndex: 1-based index of the first result to return (default: 1)

    countinteger · int32Optional

    count: Maximum number of resources to return (default: server-determined)

    filterstringOptional

    filter: SCIM filter expression (e.g. "userName eq "john@example.com"")

    Responses
    200

    OK

    */*
    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/scim/v2/Users/{id}
    DELETE /scim/v2/Users/{id} HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    

    CreateGroup

    DeleteGroup

    GetGroups

    GetSchemas

    CreateUser

    GetResourceTypes

    GetUsers

    UpdateGroup

    UpdateUser

    ReplaceUser

    GetServiceProviderConfig

    DeleteUser