Last updated: July 23, 2026
dash0_team
Manages a Dash0 Team. Teams group organization members so alert notifications, dashboards, and other assets can be attributed to a shared owner. Teams are organization-level resources and are not scoped to a dataset.
Membership in spec.members accepts either the member's email address or their internal Dash0 id (the dash0.com/id label value returned by the Members API, e.g. user_01ABC...). Emails are matched case-insensitively and translated to internal ids during reconciliation on the server. The provider normalizes server responses back to email addresses for legibility, so writing emails and refreshing state produces no drift.
Only metadata.labels and metadata.annotations under the dash0.com/* namespace are persisted by the Dash0 API. Any custom labels or annotations you set are silently dropped on write; the provider surfaces this as a plan-time warning via ValidateConfig so the discard is visible before apply.
Example Usage
1234567891011121314151617181920212223242526272829303132333435363738# Manage a Dash0 team declaratively. Teams group organization members so# alerts, dashboards, and other assets can be attributed to a shared owner.# Teams are organization-level resources (no dataset).## Members can be referenced by email address (matched case-insensitively# against organization members) or by internal Dash0 id (the `dash0.com/id`# value returned by the Members API). Email references are the recommended# style because they are legible in diffs and reviews.resource "dash0_team" "backend" {team_yaml = <<-YAMLapiVersion: dash0.com/v1alpha1kind: Dash0Teammetadata:name: backend-teamspec:display:name: Backend Teamdescription: Owns backend services and the data platform.color:from: "#6366F1"to: "#8B5CF6"members:- alice@example.com- bob@example.comYAML}# Expose the server-assigned team id when other resources need to reference# the team by its raw UUID.output "backend_team_id" {value = dash0_team.backend.id}# You can also load the YAML definition from a file:## resource "dash0_team" "backend" {# team_yaml = file("${path.module}/teams/backend-team.yaml")# }
Schema
Required
team_yaml(String) The team definition in YAML format, following theDash0TeamCRD envelope:apiVersion: dash0.com/v1alpha1,kind: Dash0Team,metadata.namefor the technical name, andspec.displayplusspec.membersfor the human-facing attributes and membership. SettingapiVersionexplicitly is recommended so the configuration pins to the current schema and does not silently migrate if a future schema version ships. Server-managed metadata fields (dash0.com/id,dash0.com/source,dash0.com/created-at,dash0.com/updated-at) are stripped from the state on read; the provider stampsdash0.com/originfrom theoriginattribute on write.
Read-Only
id(String) The server-assigned UUID of the team, resolved by the provider after creation. Reference this value from other resources that need the raw team id.origin(String) A unique identifier for the team, automatically generated by the provider on creation. Used to reference the team for updates, reads, deletes, and imports.
Import
Import is supported using the following syntax:
The terraform import command can be used, for example:
12345#!/bin/bash# Teams are organization-scoped, so the import ID is a bare identifier — no# dataset prefix. Both the provider-generated origin (tf_-prefixed) and the# raw team id (server-assigned UUID) are accepted; the example uses an origin.terraform import dash0_team.backend tf_existing-team-origin