# Assign agents to projects Source: https://docs.envzero.com/api-reference/agents-settings/assign-agents-to-projects /api-reference/openapi.yml post /agents/projects-assignments Assign projects to agents, send a request body where each key represents a Project ID and the corresponding value is the Agent Key assigned to that project. Request Body Example: ```json { "projectId1": "agentKey1", "projectId2": "agentKey2" } ``` # Create agent Source: https://docs.envzero.com/api-reference/agents-settings/create-agent /api-reference/openapi.yml post /agents Create a new self-hosted agent # Create agent secret Source: https://docs.envzero.com/api-reference/agents-settings/create-agent-secret /api-reference/openapi.yml post /agents/{agentKey}/secrets Creates a new secret for an agent. Returns the plain secret value once. # Delete agent Source: https://docs.envzero.com/api-reference/agents-settings/delete-agent /api-reference/openapi.yml delete /agents/{agentKey} Delete an agent (soft delete) # Get agent Source: https://docs.envzero.com/api-reference/agents-settings/get-agent /api-reference/openapi.yml get /agents/{agentKey} Get agent details by key # Get agent assignments of projects Source: https://docs.envzero.com/api-reference/agents-settings/get-agent-assignments-of-projects /api-reference/openapi.yml get /agents/projects-assignments returns the current default agent key and a map of project ids to agent key assignments # Get agent .env file content (Deprecated) Source: https://docs.envzero.com/api-reference/agents-settings/get-agent-env-file-content-deprecated /api-reference/openapi.yml get /agents/{agentKey}/dotenv Deprecated. Not supported for agents created via the UI, API, or Terraform provider. # Get agent secrets metadata Source: https://docs.envzero.com/api-reference/agents-settings/get-agent-secrets-metadata /api-reference/openapi.yml get /agents/{agentKey}/secrets Returns metadata for all secrets associated with an agent (does not return secret values) # Get agent values file content (Deprecated) Source: https://docs.envzero.com/api-reference/agents-settings/get-agent-values-file-content-deprecated /api-reference/openapi.yml get /agents/{agentKey}/values Deprecated. Not supported for agents created via the UI, API, or Terraform provider. # Get the agent assignment of a project Source: https://docs.envzero.com/api-reference/agents-settings/get-the-agent-assignment-of-a-project /api-reference/openapi.yml get /agents/projects-assignments/{projectId} Returns the assigned agent # List agents Source: https://docs.envzero.com/api-reference/agents-settings/list-agents /api-reference/openapi.yml get /agents Get a list of the organization agents # Revoke agent secret Source: https://docs.envzero.com/api-reference/agents-settings/revoke-agent-secret /api-reference/openapi.yml delete /agents/{agentKey}/secrets/{secretId} Delete an agent secret (immediate and irreversible) # Set default agent for organization Source: https://docs.envzero.com/api-reference/agents-settings/set-default-agent-for-organization /api-reference/openapi.yml put /agents/default-agent sets the default agent for the organization # Update agent Source: https://docs.envzero.com/api-reference/agents-settings/update-agent /api-reference/openapi.yml patch /agents/{agentKey} Update agent properties # Assign Approval Policy To Scope Source: https://docs.envzero.com/api-reference/approval-policy/assign-approval-policy-to-scope /api-reference/openapi.yml post /approval-policy/assignment # Create Approval Policy Source: https://docs.envzero.com/api-reference/approval-policy/create-approval-policy /api-reference/openapi.yml post /approval-policy # Delete Approval Policy Source: https://docs.envzero.com/api-reference/approval-policy/delete-approval-policy /api-reference/openapi.yml delete /approval-policy/delete/{id} # Get Approval Policy Assignments By Scope Source: https://docs.envzero.com/api-reference/approval-policy/get-approval-policy-assignments-by-scope /api-reference/openapi.yml get /approval-policy/{scope}/{scopeId} # Get Approval Policy By Name Source: https://docs.envzero.com/api-reference/approval-policy/get-approval-policy-by-name /api-reference/openapi.yml get /approval-policy # Get Policy Catalog Source: https://docs.envzero.com/api-reference/approval-policy/get-policy-catalog /api-reference/openapi.yml get /policy-catalog Returns a list of available policy templates for the policy catalog # List Approval Policies Source: https://docs.envzero.com/api-reference/approval-policy/list-approval-policies /api-reference/openapi.yml get /approval-policies Returns all approval policies associated with an organization. # Unassign Approval Policy by assignment id Source: https://docs.envzero.com/api-reference/approval-policy/unassign-approval-policy-by-assignment-id /api-reference/openapi.yml delete /approval-policy/assignment # Unassign Approval Policy From Scope Source: https://docs.envzero.com/api-reference/approval-policy/unassign-approval-policy-from-scope /api-reference/openapi.yml delete /approval-policy/assignment/{scope}/{scopeId} # Update Existing Approval Policy Source: https://docs.envzero.com/api-reference/approval-policy/update-existing-approval-policy /api-reference/openapi.yml put /approval-policy # Fetch Audit Logs Source: https://docs.envzero.com/api-reference/audit-events/fetch-audit-logs /api-reference/openapi.yml get /audit/events # Bulk approve Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-approve /api-reference/openapi.yml post /bulk-operations/approve # Bulk archive Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-archive /api-reference/openapi.yml post /bulk-operations/archive # Bulk cancel queued deployments Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-cancel-queued-deployments /api-reference/openapi.yml post /bulk-operations/cancel-queued-deployments # Bulk deploy Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-deploy /api-reference/openapi.yml post /bulk-operations/deploy # Bulk deploy Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-deploy-1 /api-reference/openapi.yml post /bulk-operations/cancel # Bulk destroy Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-destroy /api-reference/openapi.yml post /bulk-operations/destroy # Bulk lock Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-lock /api-reference/openapi.yml post /bulk-operations/lock # Bulk run task Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-run-task /api-reference/openapi.yml post /bulk-operations/run-task # Bulk unlock Source: https://docs.envzero.com/api-reference/bulk-operations/bulk-unlock /api-reference/openapi.yml post /bulk-operations/unlock # Create Cloud Account Source: https://docs.envzero.com/api-reference/cloud-compass/create-cloud-account /api-reference/openapi.yml post /cloud/configurations # Delete Cloud Account Source: https://docs.envzero.com/api-reference/cloud-compass/delete-cloud-account /api-reference/openapi.yml delete /cloud/configurations/{id} # Find Cloud Account by id Source: https://docs.envzero.com/api-reference/cloud-compass/find-cloud-account-by-id /api-reference/openapi.yml get /cloud/configurations/{id} # Find Cloud Resources Source: https://docs.envzero.com/api-reference/cloud-compass/find-cloud-resources /api-reference/openapi.yml post /cloud/resources # Find Trends Data Source: https://docs.envzero.com/api-reference/cloud-compass/find-trends-data /api-reference/openapi.yml get /cloud/trends # Generate IaC for Cloud Resources Source: https://docs.envzero.com/api-reference/cloud-compass/generate-iac-for-cloud-resources /api-reference/openapi.yml post /cloud/resources/codify # Get a link to resource's change event Source: https://docs.envzero.com/api-reference/cloud-compass/get-a-link-to-resources-change-event /api-reference/openapi.yml get /cloud/resources/events/{id} # Get Event By ID Source: https://docs.envzero.com/api-reference/cloud-compass/get-event-by-id /api-reference/openapi.yml get /cloud/events/{id} # Get Resource Events Source: https://docs.envzero.com/api-reference/cloud-compass/get-resource-events /api-reference/openapi.yml get /cloud/resources/{id}/events # List Environment State Resources Source: https://docs.envzero.com/api-reference/cloud-compass/list-environment-state-resources /api-reference/openapi.yml get /cloud/environments/{environmentId}/state-resources Returns the cloud resources from the latest state-updating deployment of an environment (Terraform/OpenTofu/Terragrunt only), including cloud join keys (cloudId, cloudCompassResourceId, region, accountId). # List Organization's Cloud Accounts Source: https://docs.envzero.com/api-reference/cloud-compass/list-organizations-cloud-accounts /api-reference/openapi.yml get /cloud/configurations Returns all Cloud Accounts associated with an organization. # Test Cloud Account Source: https://docs.envzero.com/api-reference/cloud-compass/test-cloud-account /api-reference/openapi.yml post /cloud/configurations/{id}/test # Update Cloud Account Source: https://docs.envzero.com/api-reference/cloud-compass/update-cloud-account /api-reference/openapi.yml put /cloud/configurations/{id} # Update Cloud Resources Source: https://docs.envzero.com/api-reference/cloud-compass/update-cloud-resources /api-reference/openapi.yml put /cloud/resources # Generate Code For Issue Source: https://docs.envzero.com/api-reference/code-optimizer-beta/generate-code-for-issue /api-reference/openapi.yml post /code-optimizer/issues/{id}/generate-code Trigger code generation for a specific issue # Get Issue Source: https://docs.envzero.com/api-reference/code-optimizer-beta/get-issue /api-reference/openapi.yml get /code-optimizer/issues/{id} Retrieve a single code issue with its relevant environments # Get Issues Source: https://docs.envzero.com/api-reference/code-optimizer-beta/get-issues /api-reference/openapi.yml get /code-optimizer/issues Retrieve code quality issues for an organization, optionally filtered by state # Get Latest Scan Status Source: https://docs.envzero.com/api-reference/code-optimizer-beta/get-latest-scan-status /api-reference/openapi.yml get /code-optimizer/scans/latest Get the overall scan status for all repositories in an organization, including the timestamp of the most recent completed scan # Get Repository States Source: https://docs.envzero.com/api-reference/code-optimizer-beta/get-repository-states /api-reference/openapi.yml get /code-optimizer/repository-states Retrieve scan status for all repositories in an organization, including error messages for failed scans # Ignore Issue Source: https://docs.envzero.com/api-reference/code-optimizer-beta/ignore-issue /api-reference/openapi.yml post /code-optimizer/issues/{id}/ignore Change issue state to IGNORED # Trigger Code Scan Source: https://docs.envzero.com/api-reference/code-optimizer-beta/trigger-code-scan /api-reference/openapi.yml post /code-optimizer/scans Trigger a static code analysis scan # Unignore Issue Source: https://docs.envzero.com/api-reference/code-optimizer-beta/unignore-issue /api-reference/openapi.yml post /code-optimizer/issues/{id}/unignore Change issue state back from IGNORED # Assign sets to entity Source: https://docs.envzero.com/api-reference/configuration/assign-sets-to-entity /api-reference/openapi.yml post /configuration-sets/assignments/{scope}/{scopeId} # Associate credentials with project Source: https://docs.envzero.com/api-reference/configuration/associate-credentials-with-project /api-reference/openapi.yml put /credentials/deployment/{credentialId}/project/{projectId} Associate cloud provider, kubernetes or vault deployment credentials to Project # Create a configuration set Source: https://docs.envzero.com/api-reference/configuration/create-a-configuration-set /api-reference/openapi.yml post /configuration-sets # Create a git token Source: https://docs.envzero.com/api-reference/configuration/create-a-git-token /api-reference/openapi.yml post /tokens # Create a new SSH key Source: https://docs.envzero.com/api-reference/configuration/create-a-new-ssh-key /api-reference/openapi.yml post /ssh-keys # Create Credentials Source: https://docs.envzero.com/api-reference/configuration/create-credentials /api-reference/openapi.yml post /credentials Create a set of new cloud provider, kubernetes, vault or cost credentials for an Organization which may then be associated with a Project # Create or update an organization CloudQuery integration Source: https://docs.envzero.com/api-reference/configuration/create-or-update-an-organization-cloudquery-integration /api-reference/openapi.yml put /cloudquery-integrations Stores the CloudQuery API key (encrypted) and tenant slug. A single integration is kept per organization. # Create or update variable Source: https://docs.envzero.com/api-reference/configuration/create-or-update-variable /api-reference/openapi.yml post /configuration # Delete a configuration set Source: https://docs.envzero.com/api-reference/configuration/delete-a-configuration-set /api-reference/openapi.yml delete /configuration-sets/{id} # Delete a git token Source: https://docs.envzero.com/api-reference/configuration/delete-a-git-token /api-reference/openapi.yml delete /tokens/{id} # Delete a variable Source: https://docs.envzero.com/api-reference/configuration/delete-a-variable /api-reference/openapi.yml delete /configuration/{id} # Delete an organization CloudQuery integration Source: https://docs.envzero.com/api-reference/configuration/delete-an-organization-cloudquery-integration /api-reference/openapi.yml delete /cloudquery-integrations/{id} Removes the organization CloudQuery integration. # Delete Credentials Source: https://docs.envzero.com/api-reference/configuration/delete-credentials /api-reference/openapi.yml delete /credentials/{id} # Delete SSH key Source: https://docs.envzero.com/api-reference/configuration/delete-ssh-key /api-reference/openapi.yml delete /ssh-keys/{id} # Dissociate credentials with project Source: https://docs.envzero.com/api-reference/configuration/dissociate-credentials-with-project /api-reference/openapi.yml delete /credentials/deployment/{credentialId}/project/{projectId} Dissociate cloud provider, kubernetes or vault deployment credentials with Project # Find sets assigned to scope Source: https://docs.envzero.com/api-reference/configuration/find-sets-assigned-to-scope /api-reference/openapi.yml get /configuration-sets/assignments/{scope}/{scopeId} # For creating or updating log forwarding configuration Source: https://docs.envzero.com/api-reference/configuration/for-creating-or-updating-log-forwarding-configuration /api-reference/openapi.yml put /log-forwarding/configurations Log forwarding configuration is used to forward logs to external services # For deleting log forwarding configuration Source: https://docs.envzero.com/api-reference/configuration/for-deleting-log-forwarding-configuration /api-reference/openapi.yml delete /log-forwarding/configurations/{id} # For finding log forwarding configuration Source: https://docs.envzero.com/api-reference/configuration/for-finding-log-forwarding-configuration /api-reference/openapi.yml get /log-forwarding/configurations # Get an organization CloudQuery integration Source: https://docs.envzero.com/api-reference/configuration/get-an-organization-cloudquery-integration /api-reference/openapi.yml get /cloudquery-integrations Returns the organization CloudQuery integration without its secret value, or null when none is configured. # Get configuration set by its ID Source: https://docs.envzero.com/api-reference/configuration/get-configuration-set-by-its-id /api-reference/openapi.yml get /configuration-sets/{id} # Get git token by id Source: https://docs.envzero.com/api-reference/configuration/get-git-token-by-id /api-reference/openapi.yml get /tokens/{id} # List all available SSH keys Source: https://docs.envzero.com/api-reference/configuration/list-all-available-ssh-keys /api-reference/openapi.yml get /ssh-keys # List deployment credentials by project id Source: https://docs.envzero.com/api-reference/configuration/list-deployment-credentials-by-project-id /api-reference/openapi.yml get /credentials/deployment/project/{projectId} List deployment credentials by project id # List git tokens Source: https://docs.envzero.com/api-reference/configuration/list-git-tokens /api-reference/openapi.yml get /tokens # List Organization credentials Source: https://docs.envzero.com/api-reference/configuration/list-organization-credentials /api-reference/openapi.yml get /credentials # List Sets created by Scope Source: https://docs.envzero.com/api-reference/configuration/list-sets-created-by-scope /api-reference/openapi.yml get /configuration-sets # List Variables by Scope Source: https://docs.envzero.com/api-reference/configuration/list-variables-by-scope /api-reference/openapi.yml get /configuration Lists all variables for the provided scope(s). If more than one scope is given - variables will be overridden by lower level scopes - just like env0 does. For example - Provided both organizationId and projectId, if a variable exists on both scopes, a single instance of it will be returned, with its Project scope value # Query configuration variable by id Source: https://docs.envzero.com/api-reference/configuration/query-configuration-variable-by-id /api-reference/openapi.yml get /configuration/{id} # Unassign sets from entity Source: https://docs.envzero.com/api-reference/configuration/unassign-sets-from-entity /api-reference/openapi.yml delete /configuration-sets/assignments/{scope}/{scopeId} # Update a configuration set Source: https://docs.envzero.com/api-reference/configuration/update-a-configuration-set /api-reference/openapi.yml put /configuration-sets/{id} # Update an existing SSH key Source: https://docs.envzero.com/api-reference/configuration/update-an-existing-ssh-key /api-reference/openapi.yml put /ssh-keys/{id} # Update Credentials Source: https://docs.envzero.com/api-reference/configuration/update-credentials /api-reference/openapi.yml patch /credentials/{id} Update deployment credentials or cost credentials for an organization # Associate Cost Credentials with Project Source: https://docs.envzero.com/api-reference/cost/associate-cost-credentials-with-project /api-reference/openapi.yml put /costs/project/{projectId}/credentials Associate Cloud provider Cost Credentials to a Project. This will enable cost tagging in deployments in the project. # Dissociate Cost Credentials from Project Source: https://docs.envzero.com/api-reference/cost/dissociate-cost-credentials-from-project /api-reference/openapi.yml delete /costs/project/{projectId}/credentials/{credentialsId} Dissociate Cloud provider Cost Credentials to a Project. This will disable cost tagging in deployments in the project. # Get a project's accumulated costs Source: https://docs.envzero.com/api-reference/cost/get-a-projects-accumulated-costs /api-reference/openapi.yml get /costs/budget/accumulated # Get a project's budget Source: https://docs.envzero.com/api-reference/cost/get-a-projects-budget /api-reference/openapi.yml get /costs/project/{projectId}/budget # Get costs for a Project Source: https://docs.envzero.com/api-reference/cost/get-costs-for-a-project /api-reference/openapi.yml get /costs/projects/{projectId} # Get costs for an Environment Source: https://docs.envzero.com/api-reference/cost/get-costs-for-an-environment /api-reference/openapi.yml get /costs/environments/{environmentId} # Get costs for an Organization Source: https://docs.envzero.com/api-reference/cost/get-costs-for-an-organization /api-reference/openapi.yml get /costs # Get projects' budget summary of the current period Source: https://docs.envzero.com/api-reference/cost/get-projects-budget-summary-of-the-current-period /api-reference/openapi.yml get /costs/budget/summary # Get weekly costs for projects or environments Source: https://docs.envzero.com/api-reference/cost/get-weekly-costs-for-projects-or-environments /api-reference/openapi.yml get /costs/weekly # List Cost Credentials associated to Project Source: https://docs.envzero.com/api-reference/cost/list-cost-credentials-associated-to-project /api-reference/openapi.yml get /costs/project/{projectId}/credentials # List projects with cost credentials associated to organization Source: https://docs.envzero.com/api-reference/cost/list-projects-with-cost-credentials-associated-to-organization /api-reference/openapi.yml get /costs/projects/enabled # Remove a project's budget Source: https://docs.envzero.com/api-reference/cost/remove-a-projects-budget /api-reference/openapi.yml delete /costs/project/{projectId}/budget # Return wether or not cost is enabled for a project Source: https://docs.envzero.com/api-reference/cost/return-wether-or-not-cost-is-enabled-for-a-project /api-reference/openapi.yml get /costs/project/{projectId}/enabled # Upsert a project's budget Source: https://docs.envzero.com/api-reference/cost/upsert-a-projects-budget /api-reference/openapi.yml put /costs/project/{projectId}/budget # Create API Key Source: https://docs.envzero.com/api-reference/credentials/create-api-key /api-reference/openapi.yml post /api-keys # Create personal API Key Source: https://docs.envzero.com/api-reference/credentials/create-personal-api-key /api-reference/openapi.yml post /personal-api-keys # Delete a User's personal API Key endpoint Source: https://docs.envzero.com/api-reference/credentials/delete-a-users-personal-api-key-endpoint /api-reference/openapi.yml delete /personal-api-keys/{id} # Delete an API Key Source: https://docs.envzero.com/api-reference/credentials/delete-an-api-key /api-reference/openapi.yml delete /api-keys/{id} # List Organization API Keys Source: https://docs.envzero.com/api-reference/credentials/list-organization-api-keys /api-reference/openapi.yml get /api-keys # List User's personal API Keys endpoint Source: https://docs.envzero.com/api-reference/credentials/list-users-personal-api-keys-endpoint /api-reference/openapi.yml get /personal-api-keys # Assign Custom Flow Source: https://docs.envzero.com/api-reference/custom-flow/assign-custom-flow /api-reference/openapi.yml post /custom-flow/assign # Create Custom Flow Source: https://docs.envzero.com/api-reference/custom-flow/create-custom-flow /api-reference/openapi.yml post /custom-flow # Delete Custom Flow Source: https://docs.envzero.com/api-reference/custom-flow/delete-custom-flow /api-reference/openapi.yml delete /custom-flow/{id} # Find Custom Flows Source: https://docs.envzero.com/api-reference/custom-flow/find-custom-flows /api-reference/openapi.yml get /custom-flows # Get Custom Flow Assignments Source: https://docs.envzero.com/api-reference/custom-flow/get-custom-flow-assignments /api-reference/openapi.yml post /custom-flow/get-assignments # Unassign Custom Flow Source: https://docs.envzero.com/api-reference/custom-flow/unassign-custom-flow /api-reference/openapi.yml post /custom-flow/unassign # Update Custom Flow Source: https://docs.envzero.com/api-reference/custom-flow/update-custom-flow /api-reference/openapi.yml put /custom-flow # Get query result Source: https://docs.envzero.com/api-reference/dashboard/get-query-result /api-reference/openapi.yml get /dashboards # Find all steps by Deployment Id Source: https://docs.envzero.com/api-reference/deployment-logs/find-all-steps-by-deployment-id /api-reference/openapi.yml get /deployments/{deploymentLogId}/steps # Get logs for specific step Source: https://docs.envzero.com/api-reference/deployment-logs/get-logs-for-specific-step /api-reference/openapi.yml get /deployments/{deploymentLogId}/steps/{name}/log # Get Drift Causes Source: https://docs.envzero.com/api-reference/drift/get-drift-causes /api-reference/openapi.yml get /drift-causes # Get Drift Fix Stats Source: https://docs.envzero.com/api-reference/drift/get-drift-fix-stats /api-reference/openapi.yml get /drift-causes/fix-stats # Get Ignored Drift Causes Source: https://docs.envzero.com/api-reference/drift/get-ignored-drift-causes /api-reference/openapi.yml get /drift-causes/ignored # Ignore Drift Cause Source: https://docs.envzero.com/api-reference/drift/ignore-drift-cause /api-reference/openapi.yml post /drift-causes/{causeId}/ignore # Un-ignore Drift Cause Source: https://docs.envzero.com/api-reference/drift/un-ignore-drift-cause /api-reference/openapi.yml post /drift-causes/{causeId}/un-ignore # Connect to migration source Source: https://docs.envzero.com/api-reference/environment-import/connect-to-migration-source /api-reference/openapi.yml post /environment-import/source/connect # Delete a migration session Source: https://docs.envzero.com/api-reference/environment-import/delete-a-migration-session /api-reference/openapi.yml delete /environment-import/source/sessions/{sessionId} # Discover Unimported Environments Source: https://docs.envzero.com/api-reference/environment-import/discover-unimported-environments /api-reference/openapi.yml post /environment-import/discover # Find Discovered Environments Source: https://docs.envzero.com/api-reference/environment-import/find-discovered-environments /api-reference/openapi.yml get /environment-import/discovered # Finish a migration session Source: https://docs.envzero.com/api-reference/environment-import/finish-a-migration-session /api-reference/openapi.yml put /environment-import/source/sessions/{sessionId}/finish # Get a migration session by ID Source: https://docs.envzero.com/api-reference/environment-import/get-a-migration-session-by-id /api-reference/openapi.yml get /environment-import/source/sessions/{sessionId} # Get active migration session for an organization Source: https://docs.envzero.com/api-reference/environment-import/get-active-migration-session-for-an-organization /api-reference/openapi.yml get /environment-import/source/sessions/active # Get migration inventory for a session Source: https://docs.envzero.com/api-reference/environment-import/get-migration-inventory-for-a-session /api-reference/openapi.yml get /environment-import/source/sessions/{sessionId}/inventory # Get migration results for a session Source: https://docs.envzero.com/api-reference/environment-import/get-migration-results-for-a-session /api-reference/openapi.yml get /environment-import/source/sessions/{sessionId}/results # Get Selection Issues Source: https://docs.envzero.com/api-reference/environment-import/get-selection-issues /api-reference/openapi.yml get /environment-import/source/sessions/{sessionId}/issues # Go live — lock TFC workspaces and unlock env0 environments Source: https://docs.envzero.com/api-reference/environment-import/go-live-—-lock-tfc-workspaces-and-unlock-env0-environments /api-reference/openapi.yml post /environment-import/source/sessions/{sessionId}/go-live # Import Discovered Environments Source: https://docs.envzero.com/api-reference/environment-import/import-discovered-environments /api-reference/openapi.yml post /environment-import/batch # Rerun environments which failed to import Source: https://docs.envzero.com/api-reference/environment-import/rerun-environments-which-failed-to-import /api-reference/openapi.yml post /environment-import/rerun # Skip or unskip a workspace Source: https://docs.envzero.com/api-reference/environment-import/skip-or-unskip-a-workspace /api-reference/openapi.yml put /environment-import/source/sessions/{sessionId}/workspaces/{workspaceId}/skip # Start migration for selected workspaces Source: https://docs.envzero.com/api-reference/environment-import/start-migration-for-selected-workspaces /api-reference/openapi.yml post /environment-import/source/sessions/{sessionId}/migrate # Trigger scan of migration source organization Source: https://docs.envzero.com/api-reference/environment-import/trigger-scan-of-migration-source-organization /api-reference/openapi.yml post /environment-import/source/sessions/{sessionId}/scan # Update variable set secrets Source: https://docs.envzero.com/api-reference/environment-import/update-variable-set-secrets /api-reference/openapi.yml patch /environment-import/source/sessions/{sessionId}/variable-sets/{variableSetId}/secrets # Update workspace secrets Source: https://docs.envzero.com/api-reference/environment-import/update-workspace-secrets /api-reference/openapi.yml patch /environment-import/source/sessions/{sessionId}/workspaces/{workspaceId}/secrets # Create and update environment state access configuration Source: https://docs.envzero.com/api-reference/environment-outputs/create-and-update-environment-state-access-configuration /api-reference/openapi.yml put /environment-state/{environmentId}/access-control Creates and update configuration describing which environments, or projects in the organization may access a given environment's state # Delete environment state access configuration Source: https://docs.envzero.com/api-reference/environment-outputs/delete-environment-state-access-configuration /api-reference/openapi.yml delete /environment-state/{environmentId}/access-control Deletes an existing environment state access configuration # Get environment state access configuration Source: https://docs.envzero.com/api-reference/environment-outputs/get-environment-state-access-configuration /api-reference/openapi.yml get /environment-state/{environmentId}/access-control Describe which environments, or projects in the organization may access a given environment's state # Abort Deployment Source: https://docs.envzero.com/api-reference/environments/abort-deployment /api-reference/openapi.yml post /environments/deployments/{id}/abort # Batch Cancel Deployments Source: https://docs.envzero.com/api-reference/environments/batch-cancel-deployments /api-reference/openapi.yml put /environments/{id}/deployments/cancel # Cancel Deployment Source: https://docs.envzero.com/api-reference/environments/cancel-deployment /api-reference/openapi.yml put /environments/deployments/{id}/cancel # Check Environment meets Project limits Source: https://docs.envzero.com/api-reference/environments/check-environment-meets-project-limits /api-reference/openapi.yml get /policies/limits/check # Count Environments Source: https://docs.envzero.com/api-reference/environments/count-environments /api-reference/openapi.yml get /environments/count # Counts all selected statuses of organization projects Source: https://docs.envzero.com/api-reference/environments/counts-all-selected-statuses-of-organization-projects /api-reference/openapi.yml get /environments/statuses/counts # Create an Environment Without Template Source: https://docs.envzero.com/api-reference/environments/create-an-environment-without-template /api-reference/openapi.yml post /environments/without-template # Create Environment Source: https://docs.envzero.com/api-reference/environments/create-environment /api-reference/openapi.yml post /environments # Create or Update Workflow Trigger Source: https://docs.envzero.com/api-reference/environments/create-or-update-workflow-trigger /api-reference/openapi.yml put /environments/{id}/downstream Env0 allows you to configure chained dependent environments to your current environment. Using workflow triggers, you can define which environments would trigger a deployment downstream in response to a deployment of your current environment. This allows you to configure a cascading series of environment deployments." More on https://docs.envzero.com/docs/workflow-triggers # Deploy Environment Source: https://docs.envzero.com/api-reference/environments/deploy-environment /api-reference/openapi.yml post /environments/{id}/deployments # Destroy Environment Source: https://docs.envzero.com/api-reference/environments/destroy-environment /api-reference/openapi.yml post /environments/{id}/destroy # Download Deployment Plan JSON Source: https://docs.envzero.com/api-reference/environments/download-deployment-plan-json /api-reference/openapi.yml get /environments/deployments/{id}/plan-json Downloads the complete Terraform/OpenTofu plan JSON (the output of 'show -json') of the given deployment, including resources with no changes - unlike the parsed plan returned by 'GET /environments/deployments/{id}?fields=plan', which contains only changed resources. Intended for external policy evaluation (for example Checkov). Responses: * 302 (default) - the 'Location' header holds a short-lived (5 minutes) signed download URL. Follow the redirect to download the file, for example with 'curl -L'. * 200 - only when 'redirect=false' is passed: the same signed URL is returned as a JSON body ({ "url": "..." }) instead of a redirect. Browser clients should prefer this, since following the 302 with a cross-origin request that carries custom headers triggers a CORS preflight against the storage bucket. * 404 - the deployment does not exist, or no plan JSON is available for it (see below). * 403 - the caller is not allowed to view the deployment's environment. NOTE: the generated schema below documents only the 200 response body; the default response of this endpoint is the 302 described above. Sensitive values are masked: anything Terraform marks as sensitive is replaced with '', and values of sensitive env0 variables are redacted. Expect masked placeholders rather than real secrets in the file. A plan JSON is available only when all of the following hold, otherwise the endpoint returns 404: * the deployment is a deploy, destroy, or dry run - drift detection, PR plan and remote plan deployments do not produce one * the template is Terraform, OpenTofu or Terragrunt (Terragrunt run-all is not supported) * the deployment reached and completed its plan step * the deployment ran on an agent version that supports the feature (self-hosted agents may need an upgrade) * the deployment is less than 30 days old - plan JSON files are retained for 30 days and then deleted # Find deployment drift status Source: https://docs.envzero.com/api-reference/environments/find-deployment-drift-status /api-reference/openapi.yml get /environments/deployments/{id}/drift-status # Get a drifted resource's event details Source: https://docs.envzero.com/api-reference/environments/get-a-drifted-resources-event-details /api-reference/openapi.yml get /environments/deployments/{id}/resources/{resourceId}/events/{eventId} # Get a drifted resource's events Source: https://docs.envzero.com/api-reference/environments/get-a-drifted-resources-events /api-reference/openapi.yml get /environments/deployments/{id}/resources/{resourceId}/{resourceType}/events # Get Deployment Source: https://docs.envzero.com/api-reference/environments/get-deployment /api-reference/openapi.yml get /environments/deployments/{id} # Get downstream environments that will be triggered by this environment deployment Source: https://docs.envzero.com/api-reference/environments/get-downstream-environments-that-will-be-triggered-by-this-environment-deployment /api-reference/openapi.yml get /environments/{id}/downstream # Get Environment Source: https://docs.envzero.com/api-reference/environments/get-environment /api-reference/openapi.yml get /environments/{id} # Get Environments Outputs Source: https://docs.envzero.com/api-reference/environments/get-environments-outputs /api-reference/openapi.yml get /environment-outputs # Get Environments With Outputs Source: https://docs.envzero.com/api-reference/environments/get-environments-with-outputs /api-reference/openapi.yml get /environment-outputs/by-environment # Get Sub Deployment Log In A Workflow By Workflow Deployment Id And Environment Id Source: https://docs.envzero.com/api-reference/environments/get-sub-deployment-log-in-a-workflow-by-workflow-deployment-id-and-environment-id /api-reference/openapi.yml get /workflow-deployments/{workflowDeploymentId}/sub-environments/{subEnvironmentId}/deployment # List Deployment Resources Source: https://docs.envzero.com/api-reference/environments/list-deployment-resources /api-reference/openapi.yml get /environments/deployments/{id}/resources # List Deployments Source: https://docs.envzero.com/api-reference/environments/list-deployments /api-reference/openapi.yml get /environments/{id}/deployments # List Environments Source: https://docs.envzero.com/api-reference/environments/list-environments /api-reference/openapi.yml get /environments # Lock/Unlock environment Source: https://docs.envzero.com/api-reference/environments/lockunlock-environment /api-reference/openapi.yml put /environments/{id}/lock # Move Environment between Projects Source: https://docs.envzero.com/api-reference/environments/move-environment-between-projects /api-reference/openapi.yml post /environments/{id}/move # Remediate Drift Deployment Source: https://docs.envzero.com/api-reference/environments/remediate-drift-deployment /api-reference/openapi.yml post /environments/deployments/{id}/remediate-drift Remediate a drifted environment, using a drift detection deployment ID # Rerun PR plan Source: https://docs.envzero.com/api-reference/environments/rerun-pr-plan /api-reference/openapi.yml post /environments/deployments/{id}/rerun # Resume Deployment Source: https://docs.envzero.com/api-reference/environments/resume-deployment /api-reference/openapi.yml put /environments/deployments/{id} # Returns an organization's monthly-runs limit and, for run-limited orgs only, its count of successful deploy, destroy and drift-detection runs this month (count is null for uncapped orgs) Source: https://docs.envzero.com/api-reference/environments/returns-an-organizations-monthly-runs-limit-and-for-run-limited-orgs-only-its-count-of-successful-deploy-destroy-and-drift-detection-runs-this-month-count-is-null-for-uncapped-orgs /api-reference/openapi.yml get /environments/runs-usage # Save VCS environment as a template Source: https://docs.envzero.com/api-reference/environments/save-vcs-environment-as-a-template /api-reference/openapi.yml put /environments/{id}/template # Scan for Drift Events Source: https://docs.envzero.com/api-reference/environments/scan-for-drift-events /api-reference/openapi.yml post /environments/deployments/{id}/drift-scan # Subscribe environments as workflow-trigger Source: https://docs.envzero.com/api-reference/environments/subscribe-environments-as-workflow-trigger /api-reference/openapi.yml post /environments/{id}/downstream/subscribe # Unsubscribe environments as workflow-trigger Source: https://docs.envzero.com/api-reference/environments/unsubscribe-environments-as-workflow-trigger /api-reference/openapi.yml post /environments/{id}/downstream/unsubscribe # Update Environment Source: https://docs.envzero.com/api-reference/environments/update-environment /api-reference/openapi.yml put /environments/{id} # Update Environment TTL Source: https://docs.envzero.com/api-reference/environments/update-environment-ttl /api-reference/openapi.yml put /environments/{id}/ttl # Create module Source: https://docs.envzero.com/api-reference/modules/create-module /api-reference/openapi.yml post /modules # Delete module Source: https://docs.envzero.com/api-reference/modules/delete-module /api-reference/openapi.yml delete /modules/{id} # Get module Source: https://docs.envzero.com/api-reference/modules/get-module /api-reference/openapi.yml get /modules/{id} # Get Module README Source: https://docs.envzero.com/api-reference/modules/get-module-readme /api-reference/openapi.yml get /modules/{id}/versions/{releaseId} Returns the Module README.md file content from a specific version # Get Module Test Run by ID Source: https://docs.envzero.com/api-reference/modules/get-module-test-run-by-id /api-reference/openapi.yml get /module/tests/{testRunId} # List Module Test Runs Source: https://docs.envzero.com/api-reference/modules/list-module-test-runs /api-reference/openapi.yml get /module/{moduleId}/tests # List Module Versions Source: https://docs.envzero.com/api-reference/modules/list-module-versions /api-reference/openapi.yml get /modules/{id}/versions Returns all versions of the module. # List Modules Source: https://docs.envzero.com/api-reference/modules/list-modules /api-reference/openapi.yml get /modules Returns all modules associated with an organization. # Trigger Module Test Run Source: https://docs.envzero.com/api-reference/modules/trigger-module-test-run /api-reference/openapi.yml post /module/{moduleId}/test # Update module Source: https://docs.envzero.com/api-reference/modules/update-module /api-reference/openapi.yml patch /modules/{id} # Create Notification Endpoint Source: https://docs.envzero.com/api-reference/notifications/create-notification-endpoint /api-reference/openapi.yml post /notifications/endpoints # Delete Notification Endpoint Source: https://docs.envzero.com/api-reference/notifications/delete-notification-endpoint /api-reference/openapi.yml delete /notifications/endpoints/{endpointId} # Get Notification Endpoint settings Source: https://docs.envzero.com/api-reference/notifications/get-notification-endpoint-settings /api-reference/openapi.yml get /notifications/projects/{projectId} # List Notification Endpoints Source: https://docs.envzero.com/api-reference/notifications/list-notification-endpoints /api-reference/openapi.yml get /notifications/endpoints # Test webhook notification target Source: https://docs.envzero.com/api-reference/notifications/test-webhook-notification-target /api-reference/openapi.yml post /notifications/endpoints/{endpointId}/test # Update Notification Endpoint Source: https://docs.envzero.com/api-reference/notifications/update-notification-endpoint /api-reference/openapi.yml patch /notifications/endpoints/{endpointId} # Update Notification Settings Source: https://docs.envzero.com/api-reference/notifications/update-notification-settings /api-reference/openapi.yml put /notifications/projects/{projectId}/endpoints/{endpointId} # Create a new Organization Source: https://docs.envzero.com/api-reference/organization/create-a-new-organization /api-reference/openapi.yml post /organizations # Create SSO Edit Ticket Source: https://docs.envzero.com/api-reference/organization/create-sso-edit-ticket /api-reference/openapi.yml post /organizations/{id}/sso/edit-ticket # Create SSO Ticket Source: https://docs.envzero.com/api-reference/organization/create-sso-ticket /api-reference/openapi.yml post /organizations/{id}/sso/ticket # Get Organization Source: https://docs.envzero.com/api-reference/organization/get-organization /api-reference/openapi.yml get /organizations/{id} # Get Organization Limits Source: https://docs.envzero.com/api-reference/organization/get-organization-limits /api-reference/openapi.yml get /organizations/{id}/limits # Get SSO Configuration Source: https://docs.envzero.com/api-reference/organization/get-sso-configuration /api-reference/openapi.yml get /organizations/{id}/sso # Invite User Source: https://docs.envzero.com/api-reference/organization/invite-user /api-reference/openapi.yml post /invites # List Organizations Source: https://docs.envzero.com/api-reference/organization/list-organizations /api-reference/openapi.yml get /organizations # List Users Source: https://docs.envzero.com/api-reference/organization/list-users /api-reference/openapi.yml get /organizations/{id}/users # Remove User Source: https://docs.envzero.com/api-reference/organization/remove-user /api-reference/openapi.yml delete /organizations/{id}/users/{userId} # Update Organization Source: https://docs.envzero.com/api-reference/organization/update-organization /api-reference/openapi.yml put /organizations/{id} # Update Policy Source: https://docs.envzero.com/api-reference/organization/update-policy /api-reference/openapi.yml post /organizations/{id}/policies # Update User's Organization Role Assignment Source: https://docs.envzero.com/api-reference/organization/update-users-organization-role-assignment /api-reference/openapi.yml put /organizations/{id}/users/{userId}/role # Archive a Project Source: https://docs.envzero.com/api-reference/projects/archive-a-project /api-reference/openapi.yml delete /projects/{id} This can not be undone. Running Environments will NOT be destroyed and continuous and scheduled Deployments will NOT continue to occur. # Create a new Project Source: https://docs.envzero.com/api-reference/projects/create-a-new-project /api-reference/openapi.yml post /projects # Get a Project By ID Source: https://docs.envzero.com/api-reference/projects/get-a-project-by-id /api-reference/openapi.yml get /projects/{id} # Get Modules Testing Project for Organization Source: https://docs.envzero.com/api-reference/projects/get-modules-testing-project-for-organization /api-reference/openapi.yml get /projects/modules/testing/{organizationId} # Get Policy Source: https://docs.envzero.com/api-reference/projects/get-policy /api-reference/openapi.yml get /policies # Get Users With Access to Project Source: https://docs.envzero.com/api-reference/projects/get-users-with-access-to-project /api-reference/openapi.yml get /projects/{id}/users Returns all users who have access to a project, including organization admins, users with direct project assignments, and users who have access through team assignments. Currently supports organizations with up to approximately 1000 users due to our limits. # List Direct Sub-Projects Source: https://docs.envzero.com/api-reference/projects/list-direct-sub-projects /api-reference/openapi.yml get /projects/children Returns a single layer of active projects: the Organization's root Projects when parentProjectId is omitted, or the direct sub-projects of parentProjectId when it is given. Each Project carries hasSubProjects so the caller knows whether it can be expanded further. # List Organization Projects Tags Source: https://docs.envzero.com/api-reference/projects/list-organization-projects-tags /api-reference/openapi.yml get /projects/tags # List Projects Source: https://docs.envzero.com/api-reference/projects/list-projects /api-reference/openapi.yml get /projects # List Projects (slim tree) Source: https://docs.envzero.com/api-reference/projects/list-projects-slim-tree /api-reference/openapi.yml get /projects/tree # Move a project to be a sub-project of another project Source: https://docs.envzero.com/api-reference/projects/move-a-project-to-be-a-sub-project-of-another-project /api-reference/openapi.yml post /projects/{id}/move # Update a Project Source: https://docs.envzero.com/api-reference/projects/update-a-project /api-reference/openapi.yml put /projects/{id} # Update Policy Source: https://docs.envzero.com/api-reference/projects/update-policy /api-reference/openapi.yml put /policies # Create a new GPG key Source: https://docs.envzero.com/api-reference/provider-registry/create-a-new-gpg-key /api-reference/openapi.yml post /gpg-keys # Create a new provider Source: https://docs.envzero.com/api-reference/provider-registry/create-a-new-provider /api-reference/openapi.yml post /providers # Create a new provider version Source: https://docs.envzero.com/api-reference/provider-registry/create-a-new-provider-version /api-reference/openapi.yml post /providers/{providerId}/versions # Delete a GPG key Source: https://docs.envzero.com/api-reference/provider-registry/delete-a-gpg-key /api-reference/openapi.yml delete /gpg-keys/{id} # Delete a provider Source: https://docs.envzero.com/api-reference/provider-registry/delete-a-provider /api-reference/openapi.yml delete /providers/{providerId} # Find a provider by id Source: https://docs.envzero.com/api-reference/provider-registry/find-a-provider-by-id /api-reference/openapi.yml get /providers/{providerId} # Find a provider by type Source: https://docs.envzero.com/api-reference/provider-registry/find-a-provider-by-type /api-reference/openapi.yml get /providers/v1/{namespace}/{type}/versions # Find all providers in an organization Source: https://docs.envzero.com/api-reference/provider-registry/find-all-providers-in-an-organization /api-reference/openapi.yml get /providers # Get a download url for a specific version Source: https://docs.envzero.com/api-reference/provider-registry/get-a-download-url-for-a-specific-version /api-reference/openapi.yml get /providers/v1/{namespace}/{type}/{version}/download/{os}/{architecture} # List all available GPG keys Source: https://docs.envzero.com/api-reference/provider-registry/list-all-available-gpg-keys /api-reference/openapi.yml get /gpg-keys # Update a provider Source: https://docs.envzero.com/api-reference/provider-registry/update-a-provider /api-reference/openapi.yml put /providers/{providerId} # Create remote state access configuration Source: https://docs.envzero.com/api-reference/remote-backend/create-remote-state-access-configuration /api-reference/openapi.yml put /remote-backend/states/{environmentId}/access-control Creates configuration describing which environments, or projects in the organization may access a given environment's state # Delete remote state access configuration Source: https://docs.envzero.com/api-reference/remote-backend/delete-remote-state-access-configuration /api-reference/openapi.yml delete /remote-backend/states/{environmentId}/access-control Deletes an existing environment state access configuration # Get remote state access configuration Source: https://docs.envzero.com/api-reference/remote-backend/get-remote-state-access-configuration /api-reference/openapi.yml get /remote-backend/states/{environmentId}/access-control Describe which environments, or projects in the organization may access a given environment's state # Assign a role to a user in a project Source: https://docs.envzero.com/api-reference/role-based-access/assign-a-role-to-a-user-in-a-project /api-reference/openapi.yml post /permissions/projects/{projectId} # Get the user's role assignments in a project Source: https://docs.envzero.com/api-reference/role-based-access/get-the-users-role-assignments-in-a-project /api-reference/openapi.yml get /permissions/projects/{projectId} # Remove user's role assignment on project Source: https://docs.envzero.com/api-reference/role-based-access/remove-users-role-assignment-on-project /api-reference/openapi.yml delete /permissions/projects/{projectId}/users/{userId} # Update user's role assignment on project Source: https://docs.envzero.com/api-reference/role-based-access/update-users-role-assignment-on-project /api-reference/openapi.yml put /permissions/projects/{projectId}/users/{userId} # Create a Role Source: https://docs.envzero.com/api-reference/roles/create-a-role /api-reference/openapi.yml post /roles # Create or Update a Role Assignment for a Team Source: https://docs.envzero.com/api-reference/roles/create-or-update-a-role-assignment-for-a-team /api-reference/openapi.yml put /roles/assignments/teams Currently supports organization or environment scope assignments only. Specifying `environmentId` or `organizationId` is required. # Create or Update a Role Assignment for a User Source: https://docs.envzero.com/api-reference/roles/create-or-update-a-role-assignment-for-a-user /api-reference/openapi.yml put /roles/assignments/users Currently supports environment scope assignments only. # Delete a Role Source: https://docs.envzero.com/api-reference/roles/delete-a-role /api-reference/openapi.yml delete /roles/{id} # Get a Role Source: https://docs.envzero.com/api-reference/roles/get-a-role /api-reference/openapi.yml get /roles/{id} # Get All Roles Source: https://docs.envzero.com/api-reference/roles/get-all-roles /api-reference/openapi.yml get /roles # Get Team Role Assignments Source: https://docs.envzero.com/api-reference/roles/get-team-role-assignments /api-reference/openapi.yml get /roles/assignments/teams Specifying `environmentId`, `projectId` or `organizationId` is required. # Get User Role Assignments Source: https://docs.envzero.com/api-reference/roles/get-user-role-assignments /api-reference/openapi.yml get /roles/assignments/users Currently supports environment scope assignments only. # Remove a Role Assignment for a Team Source: https://docs.envzero.com/api-reference/roles/remove-a-role-assignment-for-a-team /api-reference/openapi.yml delete /roles/assignments/teams Specifying `environmentId`, `projectId` or `organizationId` is required. # Remove a Role Assignment for a User Source: https://docs.envzero.com/api-reference/roles/remove-a-role-assignment-for-a-user /api-reference/openapi.yml delete /roles/assignments/users Currently supports environment scope assignments only. # Update a Role Source: https://docs.envzero.com/api-reference/roles/update-a-role /api-reference/openapi.yml put /roles/{id} # Get Drift Detection Environment Scheduling Source: https://docs.envzero.com/api-reference/scheduling/get-drift-detection-environment-scheduling /api-reference/openapi.yml get /scheduling/drift-detection/environments/{id} # Get Environment Scheduling Source: https://docs.envzero.com/api-reference/scheduling/get-environment-scheduling /api-reference/openapi.yml get /scheduling/environments/{id} # Get Project Scheduling Source: https://docs.envzero.com/api-reference/scheduling/get-project-scheduling /api-reference/openapi.yml get /scheduling/projects/{id} # Set Drift Detection Environment Scheduling Source: https://docs.envzero.com/api-reference/scheduling/set-drift-detection-environment-scheduling /api-reference/openapi.yml patch /scheduling/drift-detection/environments/{id} # Set Environment Scheduling Source: https://docs.envzero.com/api-reference/scheduling/set-environment-scheduling /api-reference/openapi.yml put /scheduling/environments/{id} # Create or Update a single Team to Project Assignment Source: https://docs.envzero.com/api-reference/teams/create-or-update-a-single-team-to-project-assignment /api-reference/openapi.yml post /teams/assignments This API is deprecated. Please use "Create or Update a Role Assignment for a Team" instead. # Create Team Source: https://docs.envzero.com/api-reference/teams/create-team /api-reference/openapi.yml post /teams # Delete a single Team to Project Assignment Source: https://docs.envzero.com/api-reference/teams/delete-a-single-team-to-project-assignment /api-reference/openapi.yml delete /teams/assignments/{assignmentId} This API is deprecated. Please use "Remove a Role Assignment for a Team" instead. # Delete Team Source: https://docs.envzero.com/api-reference/teams/delete-team /api-reference/openapi.yml delete /teams/{teamId} # Get Team Source: https://docs.envzero.com/api-reference/teams/get-team /api-reference/openapi.yml get /teams/{teamId} # List Project Teams Permissions Source: https://docs.envzero.com/api-reference/teams/list-project-teams-permissions /api-reference/openapi.yml get /teams/assignments This API is deprecated. Please use "Get Team Role Assignments" instead. # List Teams Source: https://docs.envzero.com/api-reference/teams/list-teams /api-reference/openapi.yml get /teams/organizations/{organizationId} # Update Team Source: https://docs.envzero.com/api-reference/teams/update-team /api-reference/openapi.yml put /teams/{teamId} # Update Teams Assignments Source: https://docs.envzero.com/api-reference/teams/update-teams-assignments /api-reference/openapi.yml put /teams/assignments This API is deprecated. Please use "Create or Update a Role Assignment for a Team" instead. # Add Template to Project Source: https://docs.envzero.com/api-reference/templates/add-template-to-project /api-reference/openapi.yml patch /blueprints/{id}/projects # Create Template Source: https://docs.envzero.com/api-reference/templates/create-template /api-reference/openapi.yml post /blueprints Please note, you can only have 1 ssh key per template # Delete Environment Discovery Configuration for a Project Source: https://docs.envzero.com/api-reference/templates/delete-environment-discovery-configuration-for-a-project /api-reference/openapi.yml delete /environment-discovery/projects/{projectId} # Delete Template Source: https://docs.envzero.com/api-reference/templates/delete-template /api-reference/openapi.yml delete /blueprints/{id} # Download TF module Source: https://docs.envzero.com/api-reference/templates/download-tf-module /api-reference/openapi.yml get /modules/v1/{organizationId}/{moduleName}/{providerName}/{version}/download Gets the URL of the source code for a Tofu/Terraform module. This is an API used by Tofu/Terraform to download the module when running `tofu init`. The URL could be found in the response header under X-Terraform-Get, and its format is "git::REPOSITORY_URL[//PATH_TO_FOLDER][?ref=GIT_REF]" You could use this URL to clone the repository and checkout the specific git ref, and find the source in the specified folder # Enable/Update Environment Discovery Configuration Source: https://docs.envzero.com/api-reference/templates/enableupdate-environment-discovery-configuration /api-reference/openapi.yml put /environment-discovery/projects/{projectId} # Generate Terraform Variables from Repository Source: https://docs.envzero.com/api-reference/templates/generate-terraform-variables-from-repository /api-reference/openapi.yml get /blueprints/variables-from-repository Clones and searches through a Template git repository for any Terraform variable blocks and returns a set of env0 Terraform Configuration Variables that may be added to env0 via the Configuration API # Get Assignable Templates Source: https://docs.envzero.com/api-reference/templates/get-assignable-templates /api-reference/openapi.yml get /blueprints/assignable/{projectId} Returns a list of templates that can be assigned to the specified project, including those from parent projects and the organization. # Get Environment Discovery Configuration for a Project Source: https://docs.envzero.com/api-reference/templates/get-environment-discovery-configuration-for-a-project /api-reference/openapi.yml get /environment-discovery/projects/{projectId} # Get Template by ID Source: https://docs.envzero.com/api-reference/templates/get-template-by-id /api-reference/openapi.yml get /blueprints/{id} # Get Workflow File Source: https://docs.envzero.com/api-reference/templates/get-workflow-file /api-reference/openapi.yml get /workflowFile Retrieve workflow file representation by blueprintId or VCS parameters (repositoryUrl, organizationId, path, etc.) # List git repository revisions Source: https://docs.envzero.com/api-reference/templates/list-git-repository-revisions /api-reference/openapi.yml get /blueprints/vcs-revisions # List Templates Source: https://docs.envzero.com/api-reference/templates/list-templates /api-reference/openapi.yml get /blueprints Returns all Templates associated with either an Organization or Project. At least one of these must be set. # Remove Template from Project Source: https://docs.envzero.com/api-reference/templates/remove-template-from-project /api-reference/openapi.yml delete /blueprints/{id}/projects/{projectId} # Update Template Source: https://docs.envzero.com/api-reference/templates/update-template /api-reference/openapi.yml put /blueprints/{id} Please note, you can only have 1 ssh key per template # Create SCIM Configuration Source: https://docs.envzero.com/api-reference/users/create-scim-configuration /api-reference/openapi.yml post /scim/configuration/{organizationId} Creates a SCIM configuration for the organization and generates a bearer token. The token is only returned once. # Create VCS Provider User Mapping Source: https://docs.envzero.com/api-reference/users/create-vcs-provider-user-mapping /api-reference/openapi.yml post /users/me/vcs-provider-user-mappings # Delete SCIM Configuration Source: https://docs.envzero.com/api-reference/users/delete-scim-configuration /api-reference/openapi.yml delete /scim/configuration/{organizationId} Deletes the SCIM configuration for the organization. # Get JIT SAML Config Source: https://docs.envzero.com/api-reference/users/get-jit-saml-config /api-reference/openapi.yml get /scim/configuration/{organizationId}/jit-saml-config Returns the organization current JIT SAML provisioning config (admin SAML group + teams filter) for the mode-flip pre-flight display. # Get SCIM Configuration Source: https://docs.envzero.com/api-reference/users/get-scim-configuration /api-reference/openapi.yml get /scim/configuration/{organizationId} Returns the SCIM configuration for the organization (without the bearer token). # Get SCIM Group Mappings Source: https://docs.envzero.com/api-reference/users/get-scim-group-mappings /api-reference/openapi.yml get /scim/group-team-mapping/{organizationId} Returns the auto-discovered SCIM group to env0 team mappings for the organization. # List User's VCS ID Mappings Source: https://docs.envzero.com/api-reference/users/list-users-vcs-id-mappings /api-reference/openapi.yml get /users/me/vcs-provider-user-mappings Returns the user's account ids for all mapped vcs-es. # Reconcile SCIM State Source: https://docs.envzero.com/api-reference/users/reconcile-scim-state /api-reference/openapi.yml post /scim/reconcile/{organizationId} Compares env0 org state against the SCIM-managed projection and returns a diff. dryRun=true (default) reports only; dryRun=false with confirm=true backfills SCIM ownership on org members and unlinks stale group mappings. # Rotate SCIM Token Source: https://docs.envzero.com/api-reference/users/rotate-scim-token /api-reference/openapi.yml post /scim/configuration/{organizationId}/rotate-token Issues a new SCIM bearer token. The previous token stays valid for a grace window (default 24h), then is revoked. The new token is only returned once. # Unlink SCIM Group Mapping Source: https://docs.envzero.com/api-reference/users/unlink-scim-group-mapping /api-reference/openapi.yml delete /scim/group-team-mapping/{organizationId}/{mappingId} Removes a single SCIM group to env0 team mapping. The env0 team itself is preserved. # Update a User's VCS ID Mapping Source: https://docs.envzero.com/api-reference/users/update-a-users-vcs-id-mapping /api-reference/openapi.yml put /vcs-provider-user-mappings/{mappingId} Updates a user's VCS ID mapping, and returns the updated value. # Update SCIM Mode Source: https://docs.envzero.com/api-reference/users/update-scim-mode /api-reference/openapi.yml put /scim/configuration/{organizationId}/mode Flips the organization SCIM provisioning mode between jit and scim. # Create VCS Connection Source: https://docs.envzero.com/api-reference/vcs/create-vcs-connection /api-reference/openapi.yml post /vcs/connections Only supported creation of Self-Hosted VCS connections # Delete VCS Connection Source: https://docs.envzero.com/api-reference/vcs/delete-vcs-connection /api-reference/openapi.yml delete /vcs/connections/{id} # Get VCS Connection Source: https://docs.envzero.com/api-reference/vcs/get-vcs-connection /api-reference/openapi.yml get /vcs/connections/{id} # Get VCS Repositories Source: https://docs.envzero.com/api-reference/vcs/get-vcs-repositories /api-reference/openapi.yml get /vcs/connections/repositories # List VCS Connections Source: https://docs.envzero.com/api-reference/vcs/list-vcs-connections /api-reference/openapi.yml get /vcs/connections # Update VCS Connection Source: https://docs.envzero.com/api-reference/vcs/update-vcs-connection /api-reference/openapi.yml put /vcs/connections/{id} # Budget exceeded webhook Source: https://docs.envzero.com/api-reference/webhooks/budget-exceeded-webhook /api-reference/openapi.yml webhook com.env0.budget.exceeded This webhook is fired when a "Budget Exceeded" event has been triggered # Deploy failed webhook Source: https://docs.envzero.com/api-reference/webhooks/deploy-failed-webhook /api-reference/openapi.yml webhook com.env0.deploy.failed This webhook is fired when a deploy has failed # Deploy succeeded webhook Source: https://docs.envzero.com/api-reference/webhooks/deploy-succeeded-webhook /api-reference/openapi.yml webhook com.env0.deploy.succeeded This webhook is fired when a deploy has finished successfully # Deployment cancelled webhook Source: https://docs.envzero.com/api-reference/webhooks/deployment-cancelled-webhook /api-reference/openapi.yml webhook com.env0.deployment.cancelled This webhook is fired when a deployment has been cancelled # Deployment resumed webhook Source: https://docs.envzero.com/api-reference/webhooks/deployment-resumed-webhook /api-reference/openapi.yml webhook com.env0.deploy.resumed This webhook is fired when a deployment has been resumed after an approval # Deployment started webhook Source: https://docs.envzero.com/api-reference/webhooks/deployment-started-webhook /api-reference/openapi.yml webhook com.env0.deploy.started This webhook is fired when a deployment has started # Deployment waiting for user webhook Source: https://docs.envzero.com/api-reference/webhooks/deployment-waiting-for-user-webhook /api-reference/openapi.yml webhook com.env0.deployment.waiting_for_user This webhook is fired when a deployment requires an approval # Destroy failed webhook Source: https://docs.envzero.com/api-reference/webhooks/destroy-failed-webhook /api-reference/openapi.yml webhook com.env0.destroy.failed This webhook is fired when a destroy has failed # Destroy resumed webhook Source: https://docs.envzero.com/api-reference/webhooks/destroy-resumed-webhook /api-reference/openapi.yml webhook com.env0.destroy.resumed This webhook is fired when a destroy has been resumed after an approval # Destroy started webhook Source: https://docs.envzero.com/api-reference/webhooks/destroy-started-webhook /api-reference/openapi.yml webhook com.env0.destroy.started This webhook is fired when a destroy has started # Destroy succeeded webhook Source: https://docs.envzero.com/api-reference/webhooks/destroy-succeeded-webhook /api-reference/openapi.yml webhook com.env0.destroy.succeeded This webhook is fired when a destroy has finished successfully # Drift detected webhook Source: https://docs.envzero.com/api-reference/webhooks/drift-detected-webhook /api-reference/openapi.yml webhook com.env0.drift.detected This webhook is fired when env0 detected a drift in an environment # Drift failed webhook Source: https://docs.envzero.com/api-reference/webhooks/drift-failed-webhook /api-reference/openapi.yml webhook com.env0.drift.failed This webhook is fired when an env0 drift detection failed to complete # Drift undetected webhook Source: https://docs.envzero.com/api-reference/webhooks/drift-undetected-webhook /api-reference/openapi.yml webhook com.env0.drift.undetected This webhook is fired when a drift has been reconciled # Environment marked for auto destroy webhook Source: https://docs.envzero.com/api-reference/webhooks/environment-marked-for-auto-destroy-webhook /api-reference/openapi.yml webhook com.env0.environment.marked_for_auto_destroy This webhook is fired when an environment is marked for auto destroy by a TTL Policy # Changelog Source: https://docs.envzero.com/changelogs Stay up to date with the latest features, improvements, and fixes in env zero. Updates are organized by release month and year. ## 2026 ### V2 OIDC Tokens: Per-Cloud-Provider Audiences OIDC credentials for AWS, Azure, GCP, and Vault can now use a provider-specific token audience instead of a single shared audience across all providers. This prevents a token issued for one provider from being replayed against another. [Read more](/changelogs/2026/07/v2-oidc-tokens) ### Say Hello to the New env zero CLI The env zero CLI has been rebuilt as a single binary, replacing the old npm-based tool. This release adds project management commands and read-only sign-in, and the CLI remains built for AI agents with `env0 skill install` and `env0 context`. [Read more](/changelogs/2026/07/cli-for-ai-agents) ### IP Allowlisting for Logins, API Keys, and the Agent API env zero now supports an organization-level IP allowlist that restricts logins and unattended access to a set of approved source IP addresses, covering UI logins, API keys, and the Agent API. [Read more](/changelogs/2026/05/ip-allowlisting) ### Self-Service Agent: Create and Manage Agent Pools Without Contacting Support Create new self-hosted agent pools directly from Organization Settings. Generate agents and start deploying without opening a support ticket. [Read more](/changelogs/2026/03/self-service-agent) ### Terraform Cloud Migration Wizard Migrate Terraform Cloud (TFC) or Terraform Enterprise (TFE) workspaces to env zero using a guided wizard that handles workspace discovery, variable migration, state transfer, and controlled cutover - all from the env zero UI. [Read more](/changelogs/2026/03/tfc-migration-wizard) ### SCIM Provisioning: Automate User Lifecycle Management env zero now supports SCIM 2.0, enabling your identity provider to automatically provision and deprovision users. Access is granted or revoked as soon as changes happen in your IdP - no manual user management required. [Read more](/changelogs/2026/02/scim-provisioning) ### Self-Service SSO: Speed Up Authentication and Stay in Control Configure Single Sign-On directly from Organization Settings. Set up Azure AD or SAML 2.0 authentication on your own schedule with full control over your enterprise authentication setup. **Key benefits:** * **Immediate setup** - configure SSO during onboarding or anytime after * **Full control** - manage domain mappings, role assignments, and settings on your schedule * **Enterprise ready** - centralize user access and enforce your org's authentication policies [Read more](/changelogs/2026/01/self-service-sso) ### A Freshly Updated Projects Page: More Useful, More Powerful, and Easier to Navigate We have rolled out a refreshed Projects page with improvements designed to make it easier to understand, organize, and act on your projects at a glance. [Read more](/changelogs/2026/01/projects-page-refresh) ## 2025 ### Now Available (Beta): Code Optimizer Helps You Improve Infrastructure Code Quality and Safety Code Optimizer is a new beta feature in env zero that scans your Infrastructure as Code and helps you catch issues early, before they cause problems in production. It detects risks, flags inconsistencies, and suggests code-level improvements you can review and apply. [Read more](/changelogs/2025/11/code-optimizer-beta) ### Introducing Ready-To-Use Policies Ready-to-use policies in env zero make it faster to put guardrails in place across your Infrastructure-as-Code workflows. [Read more](/changelogs/2025/09/ready-to-use-policies-change-log) ### env zero MCP Server: Fast and Safe Infrastructure Actions from IDEs and Agents The env zero MCP Server brings infrastructure deployment directly into your IDE, with support for all major IaC frameworks and GitOps-based workflows. [Read more](/changelogs/2025/09/env-zero-mcp-server-change-log) ### Cloud Compass adds support for GCP Cloud Compass now supports Google Cloud Platform (GCP), expanding your infrastructure visibility across AWS, Azure, and GCP. [Read more](/changelogs/2025/06/cloud-compass-adds-support-for-gcp) ### Polish improvements June 2025 We've continued to roll out improvements focused on streamlining workflows, resolving common issues, and refining the experience, driven by user feedback. [Read more](/changelogs/2025/06/polish-improvements-june-2025) ### New in drift remediation: automated code updates to keep IaC in sync Say hello to a smarter way to manage drift: now you can instantly capture changes made directly in your cloud environment and update your Infrastructure as Code with just a few clicks. [Read more](/changelogs/2025/05/new-in-drift-remediation-automated-code-updates-to-keep-iac-in-sync) ### What's new: AI-powered summarization and error insights beta We're bringing the power of AI to your deployments with our new AI-Powered Summarization and Error Insights—now in beta! [Read more](/changelogs/2025/04/whats-new-ai-powered-summarization-and-error-insights-beta) ### Drift cause analysis: understand why drift happened Gain deeper insights into drift events with automated cause analysis that explains why drift occurred and provides actionable recommendations. [Read more](/changelogs/2025/04/drift-cause-analysis-understand-why-drift-happened) ### Introducing env0 Cloud Analyst for AI-powered infrastructure intelligence Get AI-powered insights and recommendations for your infrastructure with our new Cloud Analyst feature that helps optimize costs, security, and performance. [Read more](/changelogs/2025/03/introducing-env0-cloud-analyst-for-ai-powered-infrastructure-intelligence) ### Polish improvements January 2025 We're happy to introduce a few recent improvements we've made to enhance the user experience and flexibility across env0. [Read more](/changelogs/2025/03/polish-improvements-january-2025) ### Drift remediation We're excited to introduce Drift Remediation, a new capability that helps reduce the time and effort required to reconcile infrastructure drift and keep your infrastructure consistent with your intended configuration. [Read more](/changelogs/2025/02/drift-remediation) ### Cloud Compass drilldown Enhanced Cloud Compass with drilldown capabilities for deeper infrastructure analysis and resource exploration. [Read more](/changelogs/2025/02/cloud-compass-drilldown) ### New Backstage Plugin: Manage and Deploy IaC from Your Internal Developer Portal The new env0 Backstage Plugin brings IaC management directly into the developer portal, enabling developers to create, deploy, and monitor cloud environments directly from Backstage. [Read more](/changelogs/2025/01/backstage-integration) ## 2024 ### Introducing drift cause: adding context to drift management We're excited to announce Drift Cause, bringing visibility and accountability to managing infrastructure drift by providing detailed information about who was responsible when it occurred, and how it was triggered. [Read more](/changelogs/2024/12/introducing-drift-cause-adding-context-to-drift-management) ### Polish improvements December 2024 Various UI improvements and bug fixes to enhance the overall user experience. [Read more](/changelogs/2024/12/polish-improvements-december-2024) ### Cloud Compass supports for Microsoft Azure Cloud Compass now supports Microsoft Azure, expanding its multi-cloud support with AI-assisted logic to analyze your cloud footprint and identify gaps in IaC coverage. [Read more](/changelogs/2024/11/cloud-compass-supports-for-microsoft-azure) ### Custom flows for tasks With this update, you can now configure custom hooks for your tasks, allowing you to define specific setups and teardowns for all ad-hoc tasks. [Read more](/changelogs/2024/11/custom-flows-for-tasks) ### Mix agents and variables Enhanced flexibility to mix different agent types and variable configurations within the same environment. [Read more](/changelogs/2024/09/mix-agents-and-variables) ### Onboarding: import external environments Streamlined onboarding process that allows you to import existing external environments into env0 for better management and monitoring. [Read more](/changelogs/2024/09/onboarding-import-external-environments) ### Ansible support Ansible is an open-source automation tool used for configuration management, application deployment, and task automation. We are excited to announce that Ansible now gets first-class support in env0! [Read more](/changelogs/2024/08/ansible-support) ### Cloud Compass We're excited to unveil Cloud Compass, a new feature designed to enhance your visibility and understanding of cloud resource management with IaC coverage trends and resource analysis. [Read more](/changelogs/2024/07/cloud-compass) ### GitOps apply all Enhanced GitOps capabilities with apply all functionality for streamlined multi-environment deployments. [Read more](/changelogs/2024/07/gitops-apply-all) ### Move environments between projects New capability to move environments between projects for better organization and management flexibility. [Read more](/changelogs/2024/07/move-environments-between-projects) ### Approval flow for workflows Approval flow for workflows lets you define which environment plans require review, giving you more control over workflow execution. [Read more](/changelogs/2024/06/approval-flow-for-workflows) ### Docker image Alpine and Node upgrade We are thrilled to announce a significant upgrade to our platform that will enhance your experience and ensure smoother operations! We are upgrading Alpine, Node and pip in the docker image, the image that your deployments run on, meaning better performance and security. [Read more](/changelogs/2024/05/docker-image-alpine-and-node-upgrade) ### Variable sets We are excited to announce the release of Variable Sets! Variable Sets are designed to enhance configuration management within env0 by organizing and managing frequently used or closely related variables with ease, streamlining workflows and promoting consistency across projects. [Read more](/changelogs/2024/05/variable-sets) ### Variables improvements We're excited to introduce several improvements to the Variables Table, designed to streamline your experience and make managing variables a breeze! [Read more](/changelogs/2024/05/variables-improvements) ### Webhook notifications Webhooks are now supported as a notification target in env zero, for secure event-driven reactions. [Read more](/changelogs/2024/05/webhook-notifications) ### Approval policies and custom flows enhancements Enhanced approval policies and custom flows with improved functionality and user experience. [Read more](/changelogs/2024/04/approval-policies-and-custom-flows-enhancements) ### Environment outputs New capability to capture and use environment outputs for better workflow integration and resource sharing. [Read more](/changelogs/2024/04/environment-outputs) ### Global environment search Enhanced search functionality to quickly find environments across your entire organization. [Read more](/changelogs/2024/04/global-environment-search) ### Navigation improvement Improved navigation interface for better user experience and easier access to features. [Read more](/changelogs/2024/04/navigation-improvement) ### Create environment without deploy New capability to create environments without immediately deploying them, providing more flexibility in environment management. [Read more](/changelogs/2024/03/create-environment-without-deploy) ### Organization role assignments for teams Enhanced team management with organization-level role assignments for better access control and permissions. [Read more](/changelogs/2024/03/organization-role-assignments-for-teams) ### VCS environments in workflows Enhanced workflow capabilities with VCS environment integration for better source control management. [Read more](/changelogs/2024/03/vcs-environments-in-workflows) ### Email notifications New email notification system for better communication and alerting about deployment status and events. [Read more](/changelogs/2024/02/email-notifications) ### Environment discovery Automated environment discovery capabilities to help identify and manage existing cloud resources. [Read more](/changelogs/2024/02/environment-discovery) ### Separate environment drift status from the general status Improved status tracking by separating environment drift status from general deployment status for better visibility. [Read more](/changelogs/2024/02/separate-environment-drift-status-from-the-general-status) ### New: Modules Continuous Integration Testing New continuous integration testing capabilities for modules to ensure reliability and quality. [Read more](/changelogs/2024/01/new-modules-continuous-integration-testing) ### Targeted deployments Enhanced deployment capabilities with targeted deployment options for more precise control. [Read more](/changelogs/2024/01/targeted-deployments) ### Workflow sub graph deployment Enhanced workflow capabilities with sub graph deployment options for more granular control over complex workflows. [Read more](/changelogs/2024/01/workflow-sub-graph-deployment) ## 2023 ### Remote apply New remote apply functionality for executing deployments from external systems and CI/CD pipelines. [Read more](/changelogs/2023/12/remote-apply) ### Change to project variables behaviour Updated project variables behavior for improved consistency and better variable management across environments. [Read more](/changelogs/2023/11/change-to-project-variables-behaviour) ### Easy OIDC authentication integration Simplified OIDC authentication integration process for easier setup and configuration. [Read more](/changelogs/2023/11/easy-oidc-authentication-integration) ### Improved resiliency Enhanced platform resiliency with improved error handling and recovery mechanisms. [Read more](/changelogs/2023/11/improved-resiliency) ### Self-hosted remote state New capability to use self-hosted remote state backends for enhanced security and control. [Read more](/changelogs/2023/11/self-hosted-remote-state) ### Usage dashboard New usage dashboard providing insights into resource consumption and deployment patterns. [Read more](/changelogs/2023/11/usage-dashboard) ### Immediate persistence of variables regardless of deployment outcome Variables are now immediately persisted regardless of deployment outcome, ensuring configuration changes are saved even if deployments fail. [Read more](/changelogs/2023/10/immediate-persistence-of-variables-regardless-of-deployment-outcome) ### Official OpenTofu support Official support for OpenTofu, the open-source fork of Terraform, providing an alternative IaC tool option. [Read more](/changelogs/2023/10/official-opentofu-support) ### Budget notifications New budget notification system to help monitor and control cloud spending with automated alerts. [Read more](/changelogs/2023/09/budget-notifications) ### VS Code extension New VS Code extension for env0, providing integrated development experience directly in your IDE. [Read more](/changelogs/2023/09/vs-code-extension) ### Better Kubernetes support Enhanced Kubernetes support with improved functionality and better integration capabilities. [Read more](/changelogs/2023/08/better-kubernetes-support) ### Docker deployment agent New Docker deployment agent for running deployments in containerized environments. [Read more](/changelogs/2023/08/docker-deployment-agent) ### Organization costs New organization-level cost tracking and reporting capabilities for better financial oversight. [Read more](/changelogs/2023/08/organization-costs) ### Approval policies New approval policies system for controlling deployment workflows and ensuring compliance. [Read more](/changelogs/2023/07/approval-policies) ### env0 hosted encrypted state New env0-hosted encrypted state backend option for secure state storage and management. [Read more](/changelogs/2023/07/env0-hosted-encrypted-state) ### Plan and apply from PR comments support for Azure DevOps Extended plan and apply from PR comments functionality to support Azure DevOps repositories. [Read more](/changelogs/2023/07/plan-and-apply-from-pr-comments-support-for-azure-devops) ### Self-hosted agents monitoring Enhanced monitoring capabilities for self-hosted agents with better visibility and diagnostics. [Read more](/changelogs/2023/07/self-hosted-agents-monitoring) ### Update environment variables without deploying New capability to update environment variables without triggering a deployment, providing more flexibility in configuration management. [Read more](/changelogs/2023/07/update-environment-variables-without-deploying) ### AWS session tags for OIDC Enhanced OIDC integration with AWS session tags for better security and access control. [Read more](/changelogs/2023/06/aws-session-tags-for-oidc) ### Helm support New Helm support for managing Kubernetes applications and deployments. [Read more](/changelogs/2023/06/helm-support) ### PR plan and remote backend for workflow Enhanced workflow capabilities with PR plan functionality and remote backend support. [Read more](/changelogs/2023/06/pr-plan-and-remote-backend-for-workflow) ### Bulk operations New bulk operations capabilities for managing multiple environments and resources efficiently. [Read more](/changelogs/2023/05/bulk-operations) ### Environment role-based access granularity Enhanced role-based access control with more granular permissions for environment management. [Read more](/changelogs/2023/05/environment-role-based-access-granularity) ### Moving projects and sub-projects New capability to move projects and sub-projects for better organization and management. [Read more](/changelogs/2023/05/moving-projects-and-sub-projects) ### Project-level remote backend enforcement New project-level enforcement for remote backend usage to ensure consistent state management. [Read more](/changelogs/2023/05/project-level-remote-backend-enforcement) ### Private plugins New support for private plugins to enable custom functionality and integrations. [Read more](/changelogs/2023/04/private-plugins) ### Private provider registry New private provider registry support for managing custom Terraform providers. [Read more](/changelogs/2023/04/private-provider-registry) ### PR comments plan and apply role-based access Enhanced PR comments functionality with role-based access control for plan and apply operations. [Read more](/changelogs/2023/03/pr-comments-plan-and-apply-role-based-access) ### Remote state access control New remote state access control features for enhanced security and permissions management. [Read more](/changelogs/2023/03/remote-state-access-control) ### Custom TTL policy New custom TTL (Time To Live) policy capabilities for automated environment lifecycle management. [Read more](/changelogs/2023/02/custom-ttl-policy) ### New integrations, plugins and Sumo Logic New integrations and plugins including Sumo Logic support for enhanced monitoring and logging capabilities. [Read more](/changelogs/2023/02/new-integrations-plugins-and-sumo-logic) ### Sub-projects New sub-projects capability for better organization and hierarchical project management. [Read more](/changelogs/2023/02/sub-projects) ### Deployment comments New deployment comments feature for better collaboration and documentation of deployment changes. [Read more](/changelogs/2023/01/deployment-comments) ### Environment locking New environment locking capability to prevent concurrent modifications and ensure deployment consistency. [Read more](/changelogs/2023/01/environment-locking) ### Remote plans New remote plans functionality for executing Terraform plans in remote environments. [Read more](/changelogs/2023/01/remote-plans) ### Workflow settings enhancement Enhanced workflow settings with improved configuration options and user experience. [Read more](/changelogs/2023/01/workflow-settings-enhancement) ## 2022 ### Azure DevOps integration New Azure DevOps integration for CI/CD workflows and repository management. [Read more](/changelogs/2022/12/azure-devops-integration) ### Log forwarding to Google Cloud Logging New log forwarding capability to Google Cloud Logging for centralized log management. [Read more](/changelogs/2022/12/log-forwarding-to-google-cloud-logging) ### Module registry modules from path Enhanced module registry with support for modules from local file paths. [Read more](/changelogs/2022/12/module-registry-modules-from-path) ### Plugins New plugin system for extending env0 functionality with custom integrations and tools. [Read more](/changelogs/2022/12/plugins) ### Project-level custom flow New project-level custom flow capabilities for defining reusable deployment processes. [Read more](/changelogs/2022/12/project-level-custom-flow) ### Audit log New audit logging system for tracking user actions and system changes for compliance and security. [Read more](/changelogs/2022/11/audit-log) ### Personal API keys New personal API keys system for individual user authentication and API access. [Read more](/changelogs/2022/11/personal-api-keys) ### Project costs New project-level cost tracking and reporting capabilities for better financial management. [Read more](/changelogs/2022/11/project-costs) ### Business tier now available in AWS Marketplace Business tier subscription now available through AWS Marketplace for easier procurement and billing. [Read more](/changelogs/2022/10/business-tier-now-available-in-aws-marketplace) ### Custom roles New custom roles capability for fine-grained access control and permissions management. [Read more](/changelogs/2022/10/custom-roles) ### env0 game Interactive env0 game for learning platform features and best practices in a fun way. [Read more](/changelogs/2022/10/env0-game) ### env0 mobile support New mobile support for accessing and managing env0 from mobile devices. [Read more](/changelogs/2022/10/env0-mobile-support) ### OIDC additional claims Enhanced OIDC integration with support for additional claims and user attributes. [Read more](/changelogs/2022/10/oidc-additional-claims) ### Remote backend New remote backend support for secure state storage and team collaboration. [Read more](/changelogs/2022/10/remote-backend) ### SAML admin group integration Enhanced SAML integration with admin group support for better user management. [Read more](/changelogs/2022/10/saml-admin-group-integration) ### Removing Python 2 and other 3rd party updates Removed Python 2 support and updated third-party dependencies for better security and performance. [Read more](/changelogs/2022/09/removing-python-2-and-other-3rd-party-updates) ### Logs forwarding to Coralogix New log forwarding capability to Coralogix for centralized log management and analysis. [Read more](/changelogs/2022/08/log-forwarding-to-coralogix) ### OIDC support New OpenID Connect (OIDC) support for modern authentication and single sign-on capabilities. [Read more](/changelogs/2022/08/oidc-support) ### CloudFormation support New AWS CloudFormation support for managing infrastructure using CloudFormation templates. [Read more](/changelogs/2022/07/cloudformation-support) ### Terragrunt run-all support Enhanced Terragrunt support with run-all functionality for managing multiple Terraform modules. [Read more](/changelogs/2022/07/terragrunt-run-all-support) ### Vault HashiCorp Vault support New HashiCorp Vault integration for secure secret management and dynamic credentials. [Read more](/changelogs/2022/07/vault-hashicorp-vault-support) ### Cost monitoring for Terragrunt New cost monitoring capabilities specifically for Terragrunt deployments and infrastructure. [Read more](/changelogs/2022/06/cost-monitoring-for-terragrunt) ### env0 Workflows New env0 Workflows feature for orchestrating complex multi-environment deployment processes. [Read more](/changelogs/2022/06/env0-workflows) ### Managing Pulumi version Enhanced Pulumi support with version management capabilities for different Pulumi versions. [Read more](/changelogs/2022/06/managing-pulumi-version) ### TTL policy per project New project-level TTL (Time To Live) policy configuration for automated environment lifecycle management. [Read more](/changelogs/2022/06/ttl-policy-per-project) ### Non Admin API Keys New non-admin API keys for restricted access and better security controls. [Read more](/changelogs/2022/05/non-admin-api-keys) # Non Admin API Keys Source: https://docs.envzero.com/changelogs/2022/05/non-admin-api-keys Create user-scoped API keys with project-level RBAC in env zero, giving team members API access without granting full organization admin permissions. There are many ways to interact with the env0 platform that requires an API key for authentication and authorization. Our public [API](/api-reference/), env0 [Terraform provider](https://registry.terraform.io/providers/env0/env0/latest), and the env0 [CLI](https://www.npmjs.com/package/@env0/cli). Now, with our new non-admin API key, you can provide members of your team with the ability to use API keys, while maintaining your organization's RBAC. A user API key can be created with specific project permissions, assigned to a team, and basically treated like any other user in the system. ### Creating a Non Admin API Key When creating a new API key from the *Organization Settings* page, you can now choose its role. It can be either an Admin or a User. When choosing a User, the API key will behave exactly like a user in the env0 platform. As a User type, you have control of the RBAC for that API key, specific project, or specific team it belongs to. As part of a team, it will also inherit the team's RBAC. You can [read more here](/guides/admin-guide/user-role-and-team-management/api-keys). Screen Shot 2022-05-26 at 10.06.05 Screen Shot 2022-05-26 at 10.13.48 # Cost Monitoring for Terragrunt Source: https://docs.envzero.com/changelogs/2022/06/cost-monitoring-for-terragrunt Track actual cloud costs for Terragrunt environments in env zero, correlating weekly spending with deployments using Terratag-powered cost monitoring. One of the advantages of env0 is the ability to monitor the actual cost of your environments based on your Infrastructure as code resources. This feature is available due to our beloved open source project, [Terratag](https://www.terratag.io/). As of today, it officially supports Terragrunt code, giving our env0 platform the ability to show you cost over time for your Terragrunt based environments and correlate them with your deployment. Together with these cost estimation capabilities, you can have full control of your cloud spending. ### Cost Monitoring Follow [this guide](/guides/cost-monitoring/cost-monitoring) on how to enable the cost monitoring.\ Once you configure it at the project level and deploy your environment, you will be able to see the weekly cost of that environment and also see the cost graph on the environment page and get the correlation to your deployments. Screen Shot 2022-06-26 at 20.09.58 # env zero Workflows Source: https://docs.envzero.com/changelogs/2022/06/env0-workflows Orchestrate multi-environment deployments with dependency ordering using env zero Workflows, defined in a YAML file and visualized as a deployment graph. A production app's infrastructure consists of many different resources. As those resources grow, managing and deploying them requires more thought and effort. We tend to look at managing resources as we do with code - split them into smaller manageable pieces ([env zero Environments](/guides/admin-guide/environments)) where each piece is cohesive and loosely coupled. In theory, this textbook solution sounds great because each environment is independent and can be deployed at any time, *but* in the real world, we have dependencies - deploying all those env zero Environments simultaneously is impractical. **Basic Dependency Example** Environment "**Network and VPC**" manages all necessary network configuration.\\ > Environment "**DB**" manages a database that multiple services use. > Environment "**EKS**" manages the Elastic Kubernetes Service onto which pods of services will be deployed. > Environments "**Billing Service**", "**Configuration Service**" and "**Notification Service**" all manage the deployments of services on EKS. Those services need access to the database. > > For this use case:\ > Environment "**DB**" depends on the VPC from the "**Network and VPC**" IaC stack. > Environment "**EKS**" also depends on the VPC from the "**Network and VPC**" IaC stack. > All service environments depend on **DB**, and **EKS**. > > As can be seen, the dependencies make it impossible for all the Environments to be deployed simultaneously. > > And of course, as the resources and environments grow the complexity of the dependencies will increase. ### Here come env zero Workflows to the rescue! env zero Workflows allow deploying many env zero Environments with complex dependencies between them as a single unit. > **env zero Workflow benefits** > > 1. Manage your entire infrastructure with complex dependencies between Environments > 2. Visual presentation of the complex deployment > 3. Each environment can use a different IaC tool - one environment can be managed by Terraform while another is managed by Kubernetes > 4. Enhanced experience from all surrounding env zero features such as [Policies](/guides/policies-governance/policies), [Custom flows](/guides/admin-guide/custom-flows), [Drift Detection](/guides/admin-guide/environments/drift-detection) and [Continuous Deployment](/guides/admin-guide/environments/continuous-deployment) To set up an env zero Workflow follow this simple guide: env zero relies on a file named **env0.workflow\.yml** which describes the dependencies and configuration of the sub environments in your workflow, create this file with your specific definitions, each environment should define: 1. *name*: Will be displayed in the workflow graph 2. *templateName*: A name of a pre-defined [Template](/guides/admin-guide/templates) to deploy 3. *needs* (optional): An array of sub environments which all must be successfully deployed before this sub environment can start deploying ```yaml theme={null} environments: vpc: name: 'VPC and Network' templateName: 'VPC' db: name: DB templateName: 'DB' needs: - vpc eks: name: EKS templateName: 'EKS' needs: - vpc service1: name: 'Billing Service' templateName: 'Billing Service' needs: - db - eks service2: name: 'Configuration Service' templateName: 'Configuration Service' needs: - db - eks service3: name: 'Notification Service' templateName: 'Notification Service' needs: - db - eks ``` 2. Create a [new Template](/guides/admin-guide/templates) and select **env zero Workflow** as the Template Type Screen Shot 2022-06-08 at 16.19.14 In the VCS step fill in your VCS details and fill in the directory that contains your **env0.workflow\.yml** file. Screen Shot 2022-06-08 at 16.24.35 3. Create an [Environment](/guides/admin-guide/environments/setting-up-a-new-environment) based on the Workflow template 4. Deploy Screen Shot 2022-06-20 at 16.50.22 You can view your Workflow progress in the **GRAPH** tab. # Managing Pulumi Version Source: https://docs.envzero.com/changelogs/2022/06/managing-pulumi-version Pin Pulumi templates to a specific CLI version in env zero using the ENV0_PULUMI_VERSION variable or the template wizard, avoiding unexpected version upgrades. Managing software versions of your Infrastructure as code framework is one of the basic aspects when managing your deployment and code. Now you can specify the exact Pulumi CLI version you want your IaC to run with and avoid version incompatibility issues and have full control over what versions update and backward compatibilities issues. ### Setting Pulumi Version The version defined for Pulumi templates until recently defaulted to being the latest stable Pulumi CLI build,\ Now you can choose exactly what version you want your CLI to run with. You can define your version by: * Defining the environment variable `ENV0_PULUMI_VERSION` * Choosing your version in our template wizard Pulumi version management interface showing version selection and configuration options You can read more about defining an IaC version for you templates [here](/guides/admin-guide/templates) # TTL Policy Per Project Source: https://docs.envzero.com/changelogs/2022/06/ttl-policy-per-project Override organization-level TTL policies at the project level in env zero, giving project admins control over environment time-to-live defaults and maximums. env zero lets you create a managed self-service inside your organization, empower your developers and R\&D teams to spin up, update and destroy an environment with one click, and track environment status or deployment history. To manage those environments and make sure no resources are wasted, env zero lets you create [TTL policies](/guides/policies-governance/policy-ttl). The Organization administrator can limit the environment's time-to-live, but often, the same settings don't fit the needs of different projects in the organization. Now we allow overriding organization TTL policy on a project basis. ### TTL Policy Settings When users create or redeploy an environment, they can set the environment's time-to-live. TTL Policies define the default and maximum time-to-live values for the environment either at the organization level or at the project level. ### Organization Level Policy Administrators can set the policies at the Organization level under the Policies tabs. Organization Settings - Policies - TTL ### Project Level Project Admins can find the new settings in Project Settings > Policies tab. Project Settings - Policies - TTL The defaults are to use the settings from the Organization policy, but you can override it for each project. You can read more about TTL policies [here](/guides/policies-governance/policy-ttl). # CloudFormation Support Source: https://docs.envzero.com/changelogs/2022/07/cloudformation-support Manage AWS CloudFormation stacks in env zero with continuous deployment, RBAC policies, custom flows, and workflow orchestration alongside other IaC tools. We're happy to announce that from today, CloudFormation joins Terraform, Terragrunt, Pulumi, and Kubernetes as a core IaC tool supported in env zero! [AWS CloudFormation](https://aws.amazon.com/cloudformation/) lets you model, provision, and manage AWS and third-party resources by treating infrastructure as code. With CloudFormation, you declare all your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you. Manage your CloudFormation stack within env zero, to enjoy [features](/guides/getting-started/getting-started), such as [Continuous Deployment](/guides/admin-guide/environments/continuous-deployment), [Policies](/guides/policies-governance/policies) and [RBAC](/guides/admin-guide/user-role-and-team-management/rbac). You can also use [Custom Flows](/guides/admin-guide/custom-flows) to alter the deployment by running commands, or [Workflows](/guides/admin-guide/workflows) to orchestrate multiple IaC stacks and dependencies between them. ### Get Started CloudFormation uses either YAML or JSON template file to describe the resources that are managed by it. To manage your CloudFormation stack using env zero, you will need to create a new CloudFormation template, or run an [environment without template](/guides/admin-guide/environments/setting-up-a-new-environment#based-on-a-direct-vcs-integration) and choose type CloudFormation. Feature demonstration screenshot showing new functionality Learn more about [CloudFormation support](/guides/admin-guide/templates) in env0. # Terragrunt run-all support Source: https://docs.envzero.com/changelogs/2022/07/terragrunt-run-all-support Run multiple Terragrunt modules in one deployment with run-all in env zero, enabling CI/CD, drift detection, and cost estimation across all modules at once. env zero supports a wide variety of IaC platforms, including [Terragrunt](https://terragrunt.gruntwork.io/), but up until now it lacked the support for running multiple modules at the same deployment, a feature that is supported by Terragrunt's [run-all command](https://terragrunt.gruntwork.io/docs/features/execute-terraform-commands-on-multiple-modules-at-once/#the-run-all-command). Another advantage is the ability to define dependencies between Terraform modules in code. Today we are proud to deliver this support out of the box with env zero! ### Terragrunt run-all support env zero now supports the `run-all` command, which will allow you to utilize all of its features for multiple modules in the same environment: CI/CD, drift detection, cost estimation, and more. Within Terragrunt template configuration, under `Advanced` settings - check `Execute run-all commands on multiple modules` Screen Shot 2022-07-04 at 9.12.13 The minimum supported Terragrunt version for run-all is 0.28.1. When you use a template with `Execute run-all commands on multiple modules` configuration, env0 runs the `terragrunt run-all` command for you, and every module in your templates project is deployed simultaneously. # HashiCorp Vault Support For Self-Hosted Agent Source: https://docs.envzero.com/changelogs/2022/07/vault-hashicorp-vault-support Resolve HashiCorp Vault secrets automatically on each deployment using the env zero self-hosted agent, keeping credentials within your private network. Self-hosted agents allow you to run your env0 deployment workloads on your own infrastructure. This gives you the ability to isolate your infrastructure as code deployments in a more secure way, within your private network. This also allows you to manage your secrets in your preferred secret manager. Today you can also store those secrets natively inside Hashicorp Vault, and give your agent the ability to resolve those secrets for each deployment automatically. ### Configure Vault **Vault Integration** As mentioned above, this feature is only available with Self-Hosted agents. However, with the SaaS, this can also be achieved manually using our [custom flow](/guides/admin-guide/custom-flows). In order to integrate your self-hosted agent to read your Vault secrets, you will need to configure the Vault URL and token for authentication, and env0 will take care of the rest. Read all about it in our [docs](/guides/admin-guide/variables) and also how to configure it [here](/guides/admin-guide/self-hosted-kubernetes-agent) # Logs forwarding to Coralogix Source: https://docs.envzero.com/changelogs/2022/08/log-forwarding-to-coralogix Forward IaC deployment logs from env zero to Coralogix for centralized monitoring, metrics, traces, and analytics alongside your other observability data. Splunk, Datadog, and Logz.io are not enough? Add [Coralogix](https://coralogix.com/) to that list! Centralized log systems have been around for a long time, and in today's world, they are more than just log aggregators. Metrics, traces, analytics, and other valuable tools are all rolled up into logging systems. Today we've added integration between env zero and Coralogix - to forward all of your infrastructure deployments from env zero, giving you the ability to monitor, track and analyze logs with the power of a great tool like Coralogix. ### Setup up the integration in the env zero platform Follow Setting up Coralogix is really simple - just follow [this short guide](/guides/integrations/logs-forwarding/coralogix) # OpenID Connect (OIDC) Support Source: https://docs.envzero.com/changelogs/2022/08/oidc-support Authenticate to cloud providers using short-lived OIDC JWT tokens generated per deployment in env zero, removing the need to store long-lived credentials. OpenID Connect (OIDC) is a simple identity layer on top of the OAuth 2.0 protocol. It allows clients to verify the identity of a user or an application based on the authentication performed by an Authorization Server. This will enable you to securely interact with 3rd party applications like your cloud provider. Now with env zero, each deployment can have an integration with OIDC and provides an OIDC short-lived token (JWT) for you to authenticate to any other 3rd party application. ## Setup Up OIDC A JWT token could be available during deployment as an environment variable called `ENV0_OIDC_TOKEN`. Organization admins can enable this feature by toggling the related checkbox which exists in the organization's policies tab. Screen Shot 2022-08-07 at 17.15.44.png To learn more [read more here about this integration](/guides/integrations/oidc-integrations) > For Self-Hosted Agents > > If you'd like to enable this feature on your self-hosted agent, please update to the latest version. # Removing Python 2, and other 3rd party updates. Source: https://docs.envzero.com/changelogs/2022/09/removing-python-2-and-other-3rd-party-updates Breaking changes in the env zero deployment container: Python 2 removed, Alpine updated to 3.16, and Node, AWS CLI, and Azure CLI versions upgraded. To improve the security of our system we periodically update 3rd party software we are using. On **2022 Oct 30** we are going to release a massive update to the env0 [deployment container](/guides/admin-guide/custom-flows#the-deployment-container), but unfortunately, this will introduce breaking changes and we want to give you a heads up, so you can prepare in advance. > If you are not using [custom flows](/guides/admin-guide/custom-flows) you shouldn't notice any difference. ### Alpine Linux update We are updating our container's base image from `alpine:3.11` to `alpine:3.16`. ### Python 2 has been removed Our container will not have `python2` anymore, `python` and `pip` will pointing to `python3` and `pip3` respectively. ### Other updates | | Old version | New version | | :---------------- | :--------------------------------- | :----------------------------------- | | Alpine Linux | 3.11.12 | 3.16.2 | | bash | 5.0.11(1)-release | 5.1.16(1)-release | | NodeJS | 16.10.0 | 16.17.0 | | npm | 7.24.0 | 8.19.2 | | yarn | 1.22.5 | 1.22.19 | | git | 2.24.4 | 2.36.2 | | python2 | 2.7.18 | **Removed** | | pip2 | 18.1 | **Removed** | | python3 | 3.8.2 | 3.10.5 | | pip3 | 20.2 | 22.1.1 | | aws (AWS CLI v1) | 1.18.115 | 1.22.77 | | az (Azure CLI) | 2.28.1 | 2.40.0 | | pwsh (PowerShell) | 7.0.3 | 7.2.6 | | jq | jq-master-v20191114-85-g260888d269 | jq-master-v20220328-1108-g836ca403de | | OpenSSL | 1.1.1g | 1.1.1q | | OpenSSH | 8.1p1 | 9.0p1 | # Business Tier now available in AWS Marketplace Source: https://docs.envzero.com/changelogs/2022/10/business-tier-now-available-in-aws-marketplace Subscribe to env zero directly through AWS Marketplace, consolidating billing and procurement for all env zero subscription tiers within your AWS account. It's now possible to use [all env0 subscriptions](https://aws.amazon.com/marketplace/seller-profile?id=55540b66-733b-4d1f-b4fd-84a376407155) directly from the AWS Marketplace! AWS Marketplace makes it easy for customers to find, buy, deploy and manage software solutions. If you're already using AWS, subscribing to env0 is simple through the Marketplace. # Custom Roles Source: https://docs.envzero.com/changelogs/2022/10/custom-roles Define custom RBAC roles in env zero with fine-grained permission sets, assignable to individual users or teams at the organization or project level. Custom Roles have arrived - now you can have fine-grained control over what users can and can't do. env zero's Custom Role allows you to restrict access based on predefined roles of individual users and teams within your organization. It helps ensure users access only information they need to do their jobs and prevents them from accessing information that doesn't pertain to them. ### Role Creation & Management First, create a role with your desired permissions. This can be done in the organization settings page -> roles tab -> add role button. You can also edit or delete roles from that page. > More On Role Deletion > > When roles are deleted while being assigned the users \ team will update according to the role assignment level: > If the role assignment level is by organization, the user will receive the default "User" role. > If the role assignment level is by project the user will lose his access to that project and have no role in it. ### Role Assignment Roles can be assigned to users or to teams on a project or organization level. "Organization Roles" - can be assigned on the organization settings page in either the users or teams tab. "Project Roles" - can be assigned on the project setting page in either the users or teams tab. > More On Role Assignment > > env zero's RBAC is cascading, meaning that if a user has a permission on an organization (via the role) he has that permission on every project in that organization. (but not the other way around, project permissions apply for their particular projects only) # env zero - The Game Source: https://docs.envzero.com/changelogs/2022/10/env0-game An easter egg from env zero's hackathon: double-click an active deployment status to launch a browser game while you wait for the deployment to complete. Tired of staring at the monitor while your deployments are in progress? Introducing: **env zero - The Game** As part of env zero's 2nd Hackathon, one of the amazing teams came up with a solution to make your deployments a bit more enjoyable. While your environment is deploying, you can double click its status to reveal this easter egg. Feature demonstration screenshot showing new functionality Now go and set the office's high score # Mobile support Source: https://docs.envzero.com/changelogs/2022/10/env0-mobile-support Manage env zero environments from mobile browsers at any resolution, with a streamlined view showing key environment status and cloud insights on the go. Now you have a full view of your cloud environment on the go - managing your environments just got simpler. It's now possible to access the env zero app using a mobile device. We're happy to announce that the env zero app is now available on mobile browsers in any resolution. The mobile view is slimmed down, giving you visibility of the important things and insights into your cloud environments. Feature demonstration screenshot showing new functionality # OIDC Additional Claims Source: https://docs.envzero.com/changelogs/2022/10/oidc-additional-claims env zero OIDC tokens now include projectId, templateId, environmentId, and deployerEmail claims for fine-grained authorization in AWS IAM and other systems. env0 enables easy OIDC integration by passing an environment variable named `ENV0_OIDC_TOKEN` to your deployments - its value contains a short lived OIDC token (JWT) for authentication via a third party application. ## Improved Authorization Your authorization server can use our newly added claims for more secure and fine-grained authorization, for example, here are a few possible verifications: * Only a specific team can deploy to a specific environment * A specific template can only be deployed to your `dev` / `staging` projects and not to the `production` project * Enforce a workspace name pattern in your organization We added the following claims to the OIDC token: * `organizationId` * `projectId` * `templateId` * `templateName` * `environmentId` * `environmentName` * `workspaceName` * `deploymentLogId` * `deployerEmail` Learn more about [OIDC integration](/guides/integrations/oidc-integrations). # Remote Backend Source: https://docs.envzero.com/changelogs/2022/10/remote-backend Store Terraform state in env zero's Remote Backend with automatic configuration, state locking, version history, and support for authenticated local runs. Terraform uses persisted state data to keep track of the resources it manages. Most non-trivial Terraform configurations use a [backend](https://www.terraform.io/language/settings/backends/configuration) to store the state remotely. This lets multiple people access the state data and work together on that collection of infrastructure resources. Terraform offers several state storage options, of which env zero supports [Remote Backend](https://www.terraform.io/language/settings/backends/remote), which has some great benefits such as: * **No underlying infrastructure setup and management** - env zero takes care of the setup as opposed to other approaches, where you need to do all the setup and management yourself (for example, [S3 Backend](https://www.terraform.io/language/settings/backends/s3) requires you to create an S3 Bucket and an optional DynamoDB Table for locking beforehand) * **Security** - env zero stores the state securely for you and assures only you can access it * **State consistency** - Remote Backends assure that users won't overwrite each other's state with a locking mechanism and that they receive the most recent state on every Terraform operation * **Local runs** - By providing the Remote Backend configuration and a successful [login](/guides/admin-guide/remote-backend/login), users can run Terraform operations locally while still working on a shared state. Using env zero's Remote Backend has additional advantages: * **No Terraform Backend configuration when running inside env zero** - you don't have to provide any type of configuration; you just deploy your code as is, and env zero will automatically configure it to use the Remote Backend * **States UI** - view the current version of your state as well as all of the previous versions * **Correlation of Deployment to State** - figure out which deployment is responsible for a specific change to your state After successfully deploying an environment with a remote backend, you would have access to the **"States"** tab in the environment page, in which you could view all state versions of a specific environment & downloading them. ## Use Remote Backend In Your Environments You can configure your Environment to use Remote Backend by following this [simple guide](/guides/admin-guide/remote-backend#use-remote-backend-in-a-new-environment) ## Suggested Blog Content [Terraform Modules Guide](https://www.envzero.com/blog/terraform-modules) [Terraform Plan Examples](https://www.envzero.com/blog/terraform-plan) [Managing Terraform Variable Hierarchy](https://www.envzero.com/blog/managing-terraform-variable-hierarchy) [ Manage Terraform Remote State with a Remote Backend](https://www.envzero.com/blog/terraform-remote-state-using-a-remote-backend) # SAML Admin Group Integration Source: https://docs.envzero.com/changelogs/2022/10/saml-admin-group-integration Map SAML IdP groups to org-admin roles in env zero using a naming convention, automatically granting admin permissions to all users within matching IdP groups. env0 already offers to keep your env0 teams in sync with your SAML IdP groups, and Today we're announcing an extension of that - allowing you to set up a Group or Groups in your IdP that follows a specific convention of your choice, and env0 will automatically grant users in those groups Organizational Admin permissions. This advanced new feature can come in handy if you have (or planning to have) such groups which contain all users that should be Organization Admins on env0. More about how to use and enable it can be found [here](/guides/sso-integrations/importing-roles-or-groups-from-your-identity-provider). # Audit Log Source: https://docs.envzero.com/changelogs/2022/11/audit-log Track organization activity in env zero audit logs, showing who performed each action, when it occurred, and detailed metadata, accessible via the UI or API. The audit log lets you view recent activities across your organization. The audit log contains information about who performed the activity, when the action was performed, the activity's description, and additional data. You can access the audit log from the UI or programmatically through the env0 API. ## Accessing the audit logs ### Through the env0 UI 1. Go to the Organization's **Settings** page. 2. Click the **Audit Logs** tab. 3. The audit details are listed in a table. 4. Click the row's **+** sign to reveal additional activity details. 5. Click the **Show more** button at the bottom of the page to see more rows. Feature demonstration screenshot showing new functionality ### Through the env0 API Use the ["Fetch Audit Logs" API](/api-reference/audit-events/fetch-audit-logs) to retrieve your organization's audit logs programmatically. Learn more about the audit log in our [documentation](/guides/admin-guide/audit-logs). # Personal API Keys Source: https://docs.envzero.com/changelogs/2022/11/personal-api-keys Generate personal API keys tied to your user account in env zero for the Terraform Provider, REST API, or Remote Backend, inheriting your RBAC permissions. In addition to our web app, you can deploy and interact with env0 using any of these three major options - Terraform Provider, Directly invoking the API, and our Remote Backend. All of the mentioned options require an `API Key` to be passed so we can authenticate, authorize and audit all your actions in env0. The most convenient approach to generating an API Key is to generate a `Personal API Key`. A `Personal API Key` is an API Key linked to your actual user. It is directly linked to your user account, and therefore it will have the same permissions your user has and will share all of your user's details (such as your avatar and email address). ## Generating a Personal API Key Generating a `Personal API Key` is fairly simple: 1. Click on your avatar in the top right corner 2. Click on `Personal Settings` Feature demonstration screenshot showing new functionality 3. Click on the `Personal API Keys` tab 4. Click on `Add Personal API Key` and insert a name for your key Feature demonstration screenshot showing new functionality 5. Copy the values you need (either for the `API` / `Remote Backend` / `Terraform Provider`) Feature demonstration screenshot showing new functionality > Personal API Key Permissions > > The generated `Personal API Key` will be coupled with your user. It will have the exact same permissions as the user that generated it (not only at the time of creation, it will keep updating as your permissions change). # Project Costs Source: https://docs.envzero.com/changelogs/2022/11/project-costs View aggregated cloud costs for entire projects in env zero, with cost graphs providing organization-level spending visibility beyond per-environment estimates. Env zero has long provided cost estimations for your environments. Now, we also provide the actual cost of your projects, giving you a better overview of an aggregate cost of a specific project within your organization, and can control and monitor your cloud spending. ### Viewing your Project cost To see the project's cost data, you must have the "Edit Project Settings" permission. Once you have that permission, you will see the following item in the project's menu: Feature demonstration screenshot showing new functionality Clicking it will display the project cost graph: Feature demonstration screenshot showing new functionality # Azure DevOps Integration Source: https://docs.envzero.com/changelogs/2022/12/azure-devops-integration Connect Azure DevOps repositories to env zero to create templates, manage private modules, and enable continuous deployment from your Azure DevOps projects. env0 is all about making IaC management easier. One of the most enabling capabilities we have for achieving this goal is VCS integration. Until recently, we had full support only for GitHub, GitLab, and Bitbucket, along with their on-premise products. And now, env0 is proud to present Azure DevOps integration - create templates, and private modules and enable continuous deployment features for repositories from Azure DevOps. Read more about it in our [docs](/guides/admin-guide/templates/azure-devops-integration) Feature demonstration screenshot showing new functionality Feature demonstration screenshot showing new functionality # Log Forwarding to Google Cloud Logging Source: https://docs.envzero.com/changelogs/2022/12/log-forwarding-to-google-cloud-logging Forward IaC deployment logs from env zero to Google Cloud Logging, centralizing infrastructure data alongside other GCP observability and monitoring sources. Centralized log systems have been around for a long time, and in today's world, they are more than just log aggregators. Metrics, traces, analytics, and other valuable tools are all rolled up into logging systems. Today we've added integration between env0 and Google Cloud Logging. env0 can now forward your infrastructure deployment logs, giving you the ability to monitor, track and analyze logs. This integration is an addition to the [existing integrations](changelog:logs-forwarding-to-datadog-splunk-and-logzio)l. ## Google Cloud Logging setup Follow Setting up Google Cloud Logging is simple - just follow [This guide](/guides/integrations/logs-forwarding/gcp-logging) Feature demonstration screenshot showing new functionality # Private Module Registry - Folder Based Modules Source: https://docs.envzero.com/changelogs/2022/12/module-registry-modules-from-path Store multiple Terraform modules in a single repository using the env zero Private Module Registry's folder-based module support, reducing repository sprawl. The env0 Module Registry is a private registry for Terraform modules, allowing you to share and reuse Terraform modules within your organization privately. Now you can manage multiple modules in the same repo by creating folders inside the same repo for each module, which gives you the ability to manage all of your modules in one repo. ## Usage When [adding a module to the registry](/guides/admin-guide/private-registry/modules#adding-a-module-to-the-registry) add the folder where module files are stored (Defaults to the root folder of the repository). Feature demonstration screenshot showing new functionality > Self-Hosted Agents > > If you'd like to enable this feature on your self-hosted agent, please update to the latest version. ### What is a Private Module Registry? You can read more about it : 1. in this [blog post](https://www.envzero.com/blog/module-registry-and-terraform-provider-updates) 2. env0 docs - [Module Registry](/guides/admin-guide/private-registry/modules) 3. Video: