---
title: Update a team
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Teams
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Update a team{% #update-a-team %}

{% tab title="v2" %}

| Datadog site      | API endpoint                                              |
| ----------------- | --------------------------------------------------------- |
| ap1.datadoghq.com | PATCH https://api.ap1.datadoghq.com/api/v2/team/{team_id} |
| ap2.datadoghq.com | PATCH https://api.ap2.datadoghq.com/api/v2/team/{team_id} |
| app.datadoghq.eu  | PATCH https://api.datadoghq.eu/api/v2/team/{team_id}      |
| app.ddog-gov.com  | PATCH https://api.ddog-gov.com/api/v2/team/{team_id}      |
| us2.ddog-gov.com  | PATCH https://api.us2.ddog-gov.com/api/v2/team/{team_id}  |
| uk1.datadoghq.com | PATCH https://api.uk1.datadoghq.com/api/v2/team/{team_id} |
| app.datadoghq.com | PATCH https://api.datadoghq.com/api/v2/team/{team_id}     |
| us3.datadoghq.com | PATCH https://api.us3.datadoghq.com/api/v2/team/{team_id} |
| us5.datadoghq.com | PATCH https://api.us5.datadoghq.com/api/v2/team/{team_id} |

### Overview

Update a team using the team's `id`. If the `team_links` relationship is present, the associated links are updated to be in the order they appear in the array, and any existing team links not present are removed. This endpoint requires the `teams_read` permission.

OAuth apps require the `teams_read` authorization [scope](https://docs.datadoghq.com/api/latest/scopes.md#teams) to access this endpoint.



### Arguments

#### Path Parameters

| Name                      | Type   | Description |
| ------------------------- | ------ | ----------- |
| team_id [*required*] | string | None        |

### Request

#### Body Data (required)



{% tab title="Model" %}

| Parent field  | Field                        | Type     | Description                                                                     |
| ------------- | ---------------------------- | -------- | ------------------------------------------------------------------------------- |
|               | data [*required*]       | object   | Team update request                                                             |
| data          | attributes [*required*] | object   | Team update attributes                                                          |
| attributes    | avatar                       | string   | Unicode representation of the avatar for the team, limited to a single grapheme |
| attributes    | banner                       | int64    | Banner selection for the team                                                   |
| attributes    | description                  | string   | Free-form markdown description/content for the team's homepage                  |
| attributes    | handle [*required*]     | string   | The team's identifier                                                           |
| attributes    | hidden_modules               | [string] | Collection of hidden modules for the team                                       |
| attributes    | name [*required*]       | string   | The name of the team                                                            |
| attributes    | visible_modules              | [string] | Collection of visible modules for the team                                      |
| data          | relationships                | object   | Team update relationships                                                       |
| relationships | team_links                   | object   | Relationship between a team and a team link                                     |
| team_links    | data                         | [object] | Related team links                                                              |
| data          | id [*required*]         | string   | The team link's identifier                                                      |
| data          | type [*required*]       | enum     | Team link type Allowed enum values: `team_links`                                |
| team_links    | links                        | object   | Links attributes.                                                               |
| links         | related                      | string   | Related link.                                                                   |
| data          | type [*required*]       | enum     | Team type Allowed enum values: `team`                                           |

{% /tab %}

{% tab title="Example" %}
##### 

```json
{
  "data": {
    "attributes": {
      "handle": "example-team",
      "name": "Example Team updated",
      "avatar": "\ud83e\udd51",
      "banner": 7,
      "hidden_modules": [
        "m3"
      ],
      "visible_modules": [
        "m1",
        "m2"
      ]
    },
    "type": "team"
  }
}
```

##### 

```json
{
  "data": {
    "attributes": {
      "handle": "example-team",
      "name": "Example Team updated"
    },
    "type": "team"
  }
}
```

{% /tab %}

### Response

{% tab title="200" %}
OK
{% tab title="Model" %}
Response with a team

| Parent field                 | Field                        | Type            | Description                                                                                                        |
| ---------------------------- | ---------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------ |
|                              | data                         | object          | A team                                                                                                             |
| data                         | attributes [*required*] | object          | Team attributes                                                                                                    |
| attributes                   | avatar                       | string          | Unicode representation of the avatar for the team, limited to a single grapheme                                    |
| attributes                   | banner                       | int64           | Banner selection for the team                                                                                      |
| attributes                   | created_at                   | date-time       | Creation date of the team                                                                                          |
| attributes                   | description                  | string          | Free-form markdown description/content for the team's homepage                                                     |
| attributes                   | handle [*required*]     | string          | The team's identifier                                                                                              |
| attributes                   | handles                      | [string]        | Collection of handles associated with the team.                                                                    |
| attributes                   | hidden_modules               | [string]        | Collection of hidden modules for the team                                                                          |
| attributes                   | is_managed                   | boolean         | Whether the team is managed from an external source                                                                |
| attributes                   | is_open_membership           | boolean         | Whether any user can join the team without an invitation.                                                          |
| attributes                   | link_count                   | int32           | The number of links belonging to the team                                                                          |
| attributes                   | modified_at                  | date-time       | Modification date of the team                                                                                      |
| attributes                   | name [*required*]       | string          | The name of the team                                                                                               |
| attributes                   | provisioned_by               | string          | The mechanism that created the team, such as `teams_api`, `teams_terraform`, or `teams_ui`. Omitted when unknown.  |
| attributes                   | summary                      | string          | A brief summary of the team, derived from the `description`                                                        |
| attributes                   | user_count                   | int32           | The number of users belonging to the team                                                                          |
| attributes                   | visible_modules              | [string]        | Collection of visible modules for the team                                                                         |
| data                         | id [*required*]         | string          | The team's identifier                                                                                              |
| data                         | relationships                | object          | Resources related to a team                                                                                        |
| relationships                | team_links                   | object          | Relationship between a team and a team link                                                                        |
| team_links                   | data                         | [object]        | Related team links                                                                                                 |
| data                         | id [*required*]         | string          | The team link's identifier                                                                                         |
| data                         | type [*required*]       | enum            | Team link type Allowed enum values: `team_links`                                                                   |
| team_links                   | links                        | object          | Links attributes.                                                                                                  |
| links                        | related                      | string          | Related link.                                                                                                      |
| relationships                | user_team_permissions        | object          | Relationship between a user team permission and a team                                                             |
| user_team_permissions        | data                         | object          | Related user team permission data                                                                                  |
| data                         | id [*required*]         | string          | The ID of the user team permission                                                                                 |
| data                         | type [*required*]       | enum            | User team permission type Allowed enum values: `user_team_permissions`                                             |
| user_team_permissions        | links                        | object          | Links attributes.                                                                                                  |
| links                        | related                      | string          | Related link.                                                                                                      |
| data                         | type [*required*]       | enum            | Team type Allowed enum values: `team`                                                                              |
|                              | included                     | [ <oneOf>] | Resources related to the team.                                                                                     |
| included                     | <type=users>                 | object          | User object returned by the API.                                                                                   |
| <type=users>                 | attributes                   | object          | Attributes of user object returned by the API.                                                                     |
| attributes                   | created_at                   | date-time       | The ISO 8601 timestamp of when the user account was created.                                                       |
| attributes                   | disabled                     | boolean         | Whether the user account is deactivated. Disabled users cannot log in.                                             |
| attributes                   | email                        | string          | The email address of the user, used for login and notifications.                                                   |
| attributes                   | handle                       | string          | The unique handle (username) of the user, typically matching their email prefix.                                   |
| attributes                   | icon                         | string          | URL of the user's profile icon, typically a Gravatar URL derived from the email address.                           |
| attributes                   | last_login_time              | date-time       | The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in.                   |
| attributes                   | mfa_enabled                  | boolean         | Whether multi-factor authentication (MFA) is enabled for the user's account.                                       |
| attributes                   | modified_at                  | date-time       | The ISO 8601 timestamp of when the user account was last modified.                                                 |
| attributes                   | name                         | string          | The full display name of the user as shown in the Datadog UI.                                                      |
| attributes                   | service_account              | boolean         | Whether this is a service account rather than a human user. Service accounts are used for programmatic API access. |
| attributes                   | status                       | string          | The current status of the user account (for example, `Active`, `Pending`, or `Disabled`).                          |
| attributes                   | title                        | string          | The job title of the user (for example, "Senior Engineer" or "Product Manager").                                   |
| attributes                   | uuid                         | string          | The globally unique identifier (UUID) of the user.                                                                 |
| attributes                   | verified                     | boolean         | Whether the user's email address has been verified.                                                                |
| <type=users>                 | id                           | string          | ID of the user.                                                                                                    |
| <type=users>                 | relationships                | object          | Relationships of the user object returned by the API.                                                              |
| relationships                | org                          | object          | Relationship to an organization.                                                                                   |
| org                          | data [*required*]       | object          | Relationship to organization object.                                                                               |
| data                         | id [*required*]         | string          | ID of the organization.                                                                                            |
| data                         | type [*required*]       | enum            | Organizations resource type. Allowed enum values: `orgs`                                                           |
| relationships                | other_orgs                   | object          | Relationship to organizations.                                                                                     |
| other_orgs                   | data [*required*]       | [object]        | Relationships to organization objects.                                                                             |
| data                         | id [*required*]         | string          | ID of the organization.                                                                                            |
| data                         | type [*required*]       | enum            | Organizations resource type. Allowed enum values: `orgs`                                                           |
| relationships                | other_users                  | object          | Relationship to users.                                                                                             |
| other_users                  | data [*required*]       | [object]        | Relationships to user objects.                                                                                     |
| data                         | id [*required*]         | string          | A unique identifier that represents the user.                                                                      |
| data                         | type [*required*]       | enum            | Users resource type. Allowed enum values: `users`                                                                  |
| relationships                | roles                        | object          | Relationship to roles.                                                                                             |
| roles                        | data                         | [object]        | An array containing type and the unique identifier of a role.                                                      |
| data                         | id                           | string          | The unique identifier of the role.                                                                                 |
| data                         | type                         | enum            | Roles type. Allowed enum values: `roles`                                                                           |
| <type=users>                 | type                         | enum            | Users resource type. Allowed enum values: `users`                                                                  |
| included                     | <type=team_links>            | object          | Team link                                                                                                          |
| <type=team_links>            | attributes [*required*] | object          | Team link attributes                                                                                               |
| attributes                   | label [*required*]      | string          | The link's label                                                                                                   |
| attributes                   | position                     | int32           | The link's position, used to sort links for the team                                                               |
| attributes                   | team_id                      | string          | ID of the team the link is associated with                                                                         |
| attributes                   | url [*required*]        | string          | The URL for the link                                                                                               |
| <type=team_links>            | id [*required*]         | string          | The team link's identifier                                                                                         |
| <type=team_links>            | type [*required*]       | enum            | Team link type Allowed enum values: `team_links`                                                                   |
| included                     | <type=user_team_permissions> | object          | A user's permissions for a given team                                                                              |
| <type=user_team_permissions> | attributes                   | object          | User team permission attributes                                                                                    |
| attributes                   | permissions                  | object          | Object of team permission actions and boolean values that a logged in user can perform on this team.               |
| <type=user_team_permissions> | id [*required*]         | string          | The user team permission's identifier                                                                              |
| <type=user_team_permissions> | type [*required*]       | enum            | User team permission type Allowed enum values: `user_team_permissions`                                             |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "avatar": "🥑",
      "banner": "integer",
      "created_at": "2019-09-19T10:00:00.000Z",
      "description": "string",
      "handle": "example-team",
      "handles": [],
      "hidden_modules": [],
      "is_managed": false,
      "is_open_membership": false,
      "link_count": "integer",
      "modified_at": "2019-09-19T10:00:00.000Z",
      "name": "Example Team",
      "provisioned_by": "teams_api",
      "summary": "string",
      "user_count": "integer",
      "visible_modules": []
    },
    "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
    "relationships": {
      "team_links": {
        "data": [
          {
            "id": "f9bb8444-af7f-11ec-ac2c-da7ad0900001",
            "type": "team_links"
          }
        ],
        "links": {
          "related": "/api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links"
        }
      },
      "user_team_permissions": {
        "data": {
          "id": "UserTeamPermissions-aeadc05e-98a8-11ec-ac2c-da7ad0900001-416595",
          "type": "user_team_permissions"
        },
        "links": {
          "related": "/api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links"
        }
      }
    },
    "type": "team"
  },
  "included": [
    {
      "attributes": {
        "created_at": "2019-09-19T10:00:00.000Z",
        "disabled": false,
        "email": "string",
        "handle": "string",
        "icon": "string",
        "last_login_time": "2019-09-19T10:00:00.000Z",
        "mfa_enabled": false,
        "modified_at": "2019-09-19T10:00:00.000Z",
        "name": "string",
        "service_account": false,
        "status": "string",
        "title": "string",
        "uuid": "string",
        "verified": false
      },
      "id": "string",
      "relationships": {
        "org": {
          "data": {
            "id": "00000000-0000-beef-0000-000000000000",
            "type": "orgs"
          }
        },
        "other_orgs": {
          "data": [
            {
              "id": "00000000-0000-beef-0000-000000000000",
              "type": "orgs"
            }
          ]
        },
        "other_users": {
          "data": [
            {
              "id": "00000000-0000-0000-2345-000000000000",
              "type": "users"
            }
          ]
        },
        "roles": {
          "data": [
            {
              "id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
              "type": "roles"
            }
          ]
        }
      },
      "type": "users"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
API error response.
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="404" %}
API error response.
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="409" %}
API error response.
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                          \## default
# 
 \# Path parameters export team_id="CHANGE_ME" \# Use a Personal Access Token or Service Access Token export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"  \# Curl command curl -X PATCH "https://api.datadoghq.com/api/v2/team/${team_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "avatar": "🥑",
      "handle": "example-team",
      "name": "Example Team"
    },
    "relationships": {
      "team_links": {
        "data": [
          {
            "id": "f9bb8444-af7f-11ec-ac2c-da7ad0900001"
          }
        ],
        "links": {
          "related": "/api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links"
        }
      }
    },
    "type": "team"
  }
}
EOF 

                        
##### 
                          \## default
# 
 \# Path parameters export team_id="CHANGE_ME" \# Use a Personal Access Token or Service Access Token export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"  \# Curl command curl -X PATCH "https://api.datadoghq.com/api/v2/team/${team_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "avatar": "🥑",
      "handle": "example-team",
      "name": "Example Team"
    },
    "relationships": {
      "team_links": {
        "data": [
          {
            "id": "f9bb8444-af7f-11ec-ac2c-da7ad0900001"
          }
        ],
        "links": {
          "related": "/api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links"
        }
      }
    },
    "type": "team"
  }
}
EOF 

                        
##### 

```go
// Update a team returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	// there is a valid "dd_team" in the system
	DdTeamDataAttributesHandle := os.Getenv("DD_TEAM_DATA_ATTRIBUTES_HANDLE")
	DdTeamDataID := os.Getenv("DD_TEAM_DATA_ID")

	body := datadogV2.TeamUpdateRequest{
		Data: datadogV2.TeamUpdate{
			Attributes: datadogV2.TeamUpdateAttributes{
				Handle: DdTeamDataAttributesHandle,
				Name:   "Example Team updated",
				Avatar: *datadog.NewNullableString(datadog.PtrString("🥑")),
				Banner: *datadog.NewNullableInt64(datadog.PtrInt64(7)),
				HiddenModules: []string{
					"m3",
				},
				VisibleModules: []string{
					"m1",
					"m2",
				},
			},
			Type: datadogV2.TEAMTYPE_TEAM,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewTeamsApi(apiClient)
	resp, r, err := api.UpdateTeam(ctx, DdTeamDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.UpdateTeam`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `TeamsApi.UpdateTeam`:\n%s\n", responseContent)
}
```

##### 

```go
// Update a team with partial update returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	// there is a valid "dd_team" in the system
	DdTeamDataAttributesHandle := os.Getenv("DD_TEAM_DATA_ATTRIBUTES_HANDLE")
	DdTeamDataID := os.Getenv("DD_TEAM_DATA_ID")

	body := datadogV2.TeamUpdateRequest{
		Data: datadogV2.TeamUpdate{
			Attributes: datadogV2.TeamUpdateAttributes{
				Handle: DdTeamDataAttributesHandle,
				Name:   "Example Team updated",
			},
			Type: datadogV2.TEAMTYPE_TEAM,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewTeamsApi(apiClient)
	resp, r, err := api.UpdateTeam(ctx, DdTeamDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.UpdateTeam`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `TeamsApi.UpdateTeam`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
##### 

```java
// Update a team returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.TeamsApi;
import com.datadog.api.client.v2.model.TeamResponse;
import com.datadog.api.client.v2.model.TeamType;
import com.datadog.api.client.v2.model.TeamUpdate;
import com.datadog.api.client.v2.model.TeamUpdateAttributes;
import com.datadog.api.client.v2.model.TeamUpdateRequest;
import java.util.Arrays;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    TeamsApi apiInstance = new TeamsApi(defaultClient);

    // there is a valid "dd_team" in the system
    String DD_TEAM_DATA_ATTRIBUTES_HANDLE = System.getenv("DD_TEAM_DATA_ATTRIBUTES_HANDLE");
    String DD_TEAM_DATA_ATTRIBUTES_NAME = System.getenv("DD_TEAM_DATA_ATTRIBUTES_NAME");
    String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");

    TeamUpdateRequest body =
        new TeamUpdateRequest()
            .data(
                new TeamUpdate()
                    .attributes(
                        new TeamUpdateAttributes()
                            .handle(DD_TEAM_DATA_ATTRIBUTES_HANDLE)
                            .name("Example Team updated")
                            .avatar("🥑")
                            .banner(7L)
                            .hiddenModules(Collections.singletonList("m3"))
                            .visibleModules(Arrays.asList("m1", "m2")))
                    .type(TeamType.TEAM));

    try {
      TeamResponse result = apiInstance.updateTeam(DD_TEAM_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TeamsApi#updateTeam");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

##### 

```java
// Update a team with partial update returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.TeamsApi;
import com.datadog.api.client.v2.model.TeamResponse;
import com.datadog.api.client.v2.model.TeamType;
import com.datadog.api.client.v2.model.TeamUpdate;
import com.datadog.api.client.v2.model.TeamUpdateAttributes;
import com.datadog.api.client.v2.model.TeamUpdateRequest;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    TeamsApi apiInstance = new TeamsApi(defaultClient);

    // there is a valid "dd_team" in the system
    String DD_TEAM_DATA_ATTRIBUTES_HANDLE = System.getenv("DD_TEAM_DATA_ATTRIBUTES_HANDLE");
    String DD_TEAM_DATA_ATTRIBUTES_NAME = System.getenv("DD_TEAM_DATA_ATTRIBUTES_NAME");
    String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");

    TeamUpdateRequest body =
        new TeamUpdateRequest()
            .data(
                new TeamUpdate()
                    .attributes(
                        new TeamUpdateAttributes()
                            .handle(DD_TEAM_DATA_ATTRIBUTES_HANDLE)
                            .name("Example Team updated"))
                    .type(TeamType.TEAM));

    try {
      TeamResponse result = apiInstance.updateTeam(DD_TEAM_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TeamsApi#updateTeam");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
##### 

```python
"""
Update a team returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.teams_api import TeamsApi
from datadog_api_client.v2.model.team_type import TeamType
from datadog_api_client.v2.model.team_update import TeamUpdate
from datadog_api_client.v2.model.team_update_attributes import TeamUpdateAttributes
from datadog_api_client.v2.model.team_update_request import TeamUpdateRequest

# there is a valid "dd_team" in the system
DD_TEAM_DATA_ATTRIBUTES_HANDLE = environ["DD_TEAM_DATA_ATTRIBUTES_HANDLE"]
DD_TEAM_DATA_ATTRIBUTES_NAME = environ["DD_TEAM_DATA_ATTRIBUTES_NAME"]
DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]

body = TeamUpdateRequest(
    data=TeamUpdate(
        attributes=TeamUpdateAttributes(
            handle=DD_TEAM_DATA_ATTRIBUTES_HANDLE,
            name="Example Team updated",
            avatar="🥑",
            banner=7,
            hidden_modules=[
                "m3",
            ],
            visible_modules=[
                "m1",
                "m2",
            ],
        ),
        type=TeamType.TEAM,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = TeamsApi(api_client)
    response = api_instance.update_team(team_id=DD_TEAM_DATA_ID, body=body)

    print(response)
```

##### 

```python
"""
Update a team with partial update returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.teams_api import TeamsApi
from datadog_api_client.v2.model.team_type import TeamType
from datadog_api_client.v2.model.team_update import TeamUpdate
from datadog_api_client.v2.model.team_update_attributes import TeamUpdateAttributes
from datadog_api_client.v2.model.team_update_request import TeamUpdateRequest

# there is a valid "dd_team" in the system
DD_TEAM_DATA_ATTRIBUTES_HANDLE = environ["DD_TEAM_DATA_ATTRIBUTES_HANDLE"]
DD_TEAM_DATA_ATTRIBUTES_NAME = environ["DD_TEAM_DATA_ATTRIBUTES_NAME"]
DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]

body = TeamUpdateRequest(
    data=TeamUpdate(
        attributes=TeamUpdateAttributes(
            handle=DD_TEAM_DATA_ATTRIBUTES_HANDLE,
            name="Example Team updated",
        ),
        type=TeamType.TEAM,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = TeamsApi(api_client)
    response = api_instance.update_team(team_id=DD_TEAM_DATA_ID, body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
##### 

```ruby
# Update a team returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::TeamsAPI.new

# there is a valid "dd_team" in the system
DD_TEAM_DATA_ATTRIBUTES_HANDLE = ENV["DD_TEAM_DATA_ATTRIBUTES_HANDLE"]
DD_TEAM_DATA_ATTRIBUTES_NAME = ENV["DD_TEAM_DATA_ATTRIBUTES_NAME"]
DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]

body = DatadogAPIClient::V2::TeamUpdateRequest.new({
  data: DatadogAPIClient::V2::TeamUpdate.new({
    attributes: DatadogAPIClient::V2::TeamUpdateAttributes.new({
      handle: DD_TEAM_DATA_ATTRIBUTES_HANDLE,
      name: "Example Team updated",
      avatar: "🥑",
      banner: 7,
      hidden_modules: [
        "m3",
      ],
      visible_modules: [
        "m1",
        "m2",
      ],
    }),
    type: DatadogAPIClient::V2::TeamType::TEAM,
  }),
})
p api_instance.update_team(DD_TEAM_DATA_ID, body)
```

##### 

```ruby
# Update a team with partial update returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::TeamsAPI.new

# there is a valid "dd_team" in the system
DD_TEAM_DATA_ATTRIBUTES_HANDLE = ENV["DD_TEAM_DATA_ATTRIBUTES_HANDLE"]
DD_TEAM_DATA_ATTRIBUTES_NAME = ENV["DD_TEAM_DATA_ATTRIBUTES_NAME"]
DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]

body = DatadogAPIClient::V2::TeamUpdateRequest.new({
  data: DatadogAPIClient::V2::TeamUpdate.new({
    attributes: DatadogAPIClient::V2::TeamUpdateAttributes.new({
      handle: DD_TEAM_DATA_ATTRIBUTES_HANDLE,
      name: "Example Team updated",
    }),
    type: DatadogAPIClient::V2::TeamType::TEAM,
  }),
})
p api_instance.update_team(DD_TEAM_DATA_ID, body)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
##### 

```rust
// Update a team returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_teams::TeamsAPI;
use datadog_api_client::datadogV2::model::TeamType;
use datadog_api_client::datadogV2::model::TeamUpdate;
use datadog_api_client::datadogV2::model::TeamUpdateAttributes;
use datadog_api_client::datadogV2::model::TeamUpdateRequest;

#[tokio::main]
async fn main() {
    // there is a valid "dd_team" in the system
    let dd_team_data_attributes_handle = std::env::var("DD_TEAM_DATA_ATTRIBUTES_HANDLE").unwrap();
    let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
    let body = TeamUpdateRequest::new(TeamUpdate::new(
        TeamUpdateAttributes::new(
            dd_team_data_attributes_handle.clone(),
            "Example Team updated".to_string(),
        )
        .avatar(Some("🥑".to_string()))
        .banner(Some(7))
        .hidden_modules(vec!["m3".to_string()])
        .visible_modules(vec!["m1".to_string(), "m2".to_string()]),
        TeamType::TEAM,
    ));
    let configuration = datadog::Configuration::new();
    let api = TeamsAPI::with_config(configuration);
    let resp = api.update_team(dd_team_data_id.clone(), body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

##### 

```rust
// Update a team with partial update returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_teams::TeamsAPI;
use datadog_api_client::datadogV2::model::TeamType;
use datadog_api_client::datadogV2::model::TeamUpdate;
use datadog_api_client::datadogV2::model::TeamUpdateAttributes;
use datadog_api_client::datadogV2::model::TeamUpdateRequest;

#[tokio::main]
async fn main() {
    // there is a valid "dd_team" in the system
    let dd_team_data_attributes_handle = std::env::var("DD_TEAM_DATA_ATTRIBUTES_HANDLE").unwrap();
    let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
    let body = TeamUpdateRequest::new(TeamUpdate::new(
        TeamUpdateAttributes::new(
            dd_team_data_attributes_handle.clone(),
            "Example Team updated".to_string(),
        ),
        TeamType::TEAM,
    ));
    let configuration = datadog::Configuration::new();
    let api = TeamsAPI::with_config(configuration);
    let resp = api.update_team(dd_team_data_id.clone(), body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
##### 

```typescript
/**
 * Update a team returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
const apiInstance = new v2.TeamsApi(configuration);

// there is a valid "dd_team" in the system
const DD_TEAM_DATA_ATTRIBUTES_HANDLE = process.env
  .DD_TEAM_DATA_ATTRIBUTES_HANDLE as string;
const DD_TEAM_DATA_ID = process.env.DD_TEAM_DATA_ID as string;

const params: v2.TeamsApiUpdateTeamRequest = {
  body: {
    data: {
      attributes: {
        handle: DD_TEAM_DATA_ATTRIBUTES_HANDLE,
        name: "Example Team updated",
        avatar: "🥑",
        banner: 7,
        hiddenModules: ["m3"],
        visibleModules: ["m1", "m2"],
      },
      type: "team",
    },
  },
  teamId: DD_TEAM_DATA_ID,
};

apiInstance
  .updateTeam(params)
  .then((data: v2.TeamResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

##### 

```typescript
/**
 * Update a team with partial update returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
const apiInstance = new v2.TeamsApi(configuration);

// there is a valid "dd_team" in the system
const DD_TEAM_DATA_ATTRIBUTES_HANDLE = process.env
  .DD_TEAM_DATA_ATTRIBUTES_HANDLE as string;
const DD_TEAM_DATA_ID = process.env.DD_TEAM_DATA_ID as string;

const params: v2.TeamsApiUpdateTeamRequest = {
  body: {
    data: {
      attributes: {
        handle: DD_TEAM_DATA_ATTRIBUTES_HANDLE,
        name: "Example Team updated",
      },
      type: "team",
    },
  },
  teamId: DD_TEAM_DATA_ID,
};

apiInstance
  .updateTeam(params)
  .then((data: v2.TeamResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"
{% /tab %}
